1 前言

  • 大量测试下来,网页显示视频流实时性从高到低依次是 webrtc > ws-flv > flv > hls。播放器打开rtsp/rtmp视频流实时性由具体的播放器控制,比如缓存大小和缓存时间,是否音视频同步等。
  • 由于flv拉流同源地址最大支持6路同时播放,所以要想实时性高而且网页播放支持多路就选择ws-flv,hls实时性最差。
  • mediamtx推出来的hls/webrtc流可以直接地址复制到浏览器打开,不依赖额外的js播放器播放。
  • windows系统上554端口可能被系统服务占用,建议修改成其他端口比如5541。

2 mediamtx

同时支持rtsp/rtmp推拉流,拉流还支持hls/webrtc两种方式,最近V1.0版本发布还支持了srt方式。推出来的hls/webrtc可以直接嵌入个iframe网页播放(查阅代码得知就是流媒体服务器内部返回了一段支持hls/webrtc播放的网页代码),没有任何依赖,如果希望直接在网页中播放无依赖,强烈推荐用mediamtx,推荐指数五颗星。

开源地址:https://github.com/bluenviron/mediamtx

类型 端口 格式
rtsp 8554 rtsp://127.0.0.1:8554/live/stream
rtmp 1935 rtmp://127.0.0.1:1935/live/stream
hls 8888 http://127.0.0.1:8888/live/stream
webrtc 8889 http://127.0.0.1:8889/live/stream

3 LiveQing

只支持rtmp推流,支持rtmp/hls/flv/ws-flv/webrtc等各种拉流,有个网页后台管理,非常方便。缺点是只有一个月试用,过期后要去官网重新下载,对应过期验证机制写死在程序中。需要网页管理后台的推荐这个,推荐指数四颗星。

官方地址:https://www.liveqing.com/

类型 端口 格式
rtmp 10085 rtmp://127.0.0.1:10085/hls/stream
hls 18000 http://127.0.0.1:18000/hls/stream/stream_live.m3u8
flv 18000 http://127.0.0.1:18000/flv/hls/stream.flv
ws-flv 18000 ws://127.0.0.1:18000/ws-flv/hls/stream.flv
webrtc 18000 webrtc://127.0.0.1:18000/rtc/hls/stream





4 EasyDarwin

只支持rtsp推拉流,默认端口5541,不支持其他格式拉流,如果仅仅是监控摄像头使用,非常方便,有个网页管理后台,不会过期可以一直用,缺点是功能单一,只能在他的后台查看视频流,或者用播放器播放。推荐指数两颗星。

官网地址:https://www.easydarwin.org/

5 nginx-rtmp

只支持rtmp推拉流,默认端口1935,不支持其他格式拉流,功能极其单一,不推荐。

6 ZLMediaKit

同时支持rtsp/rtmp推拉流,而且支持h265的推拉流(推流端要支持265的ffmpeg/拉流播放端也要支持265的播放器),支持各种格式拉流,使用者众多,推荐指数五颗星。

开源地址:https://github.com/ZLMediaKit/ZLMediaKit/

类型 端口 格式
rtsp 554 rtmp://127.0.0.1:554/live/stream
rtmp 1935 rtmp://127.0.0.1:1935/live/stream
hls 80 http://127.0.0.1:80/live/stream/hls.m3u8
flv 80 http://127.0.0.1:80/live/stream.live.flv
ws-flv 80 ws://127.0.0.1:80/live/stream/live.flv

7 srs

支持rtmp推流,早期版本支持rtsp推流,不知道为何移除了。支持部分格式拉流,不支持ws-flv拉流,使用者众多,推荐指数四颗星。

开源地址:https://github.com/ossrs/srs

类型 端口 格式
rtmp 1935 rtmp://127.0.0.1:1935/live/stream
hls 8080 http://127.0.0.1:8080/live/stream.m3u8
flv 8080 http://127.0.0.1:8080/live/stream.flv
webrtc 8080 webrtc://127.0.0.1:8080/live/stream

8 ABLMediaServer

同时支持rtsp/rtmp推拉流,也支持265的推拉流,国内一个音视频服务器大神编写,目前无官网和主页。最大优点是CPU占用极低,专门做了特别的优化,牺牲了部分内存,同等推流环境下25路视频占用0.3%CPU,ZLMediaKit和srs在3%,但是ZLMediaKit和srs内存占用极低。对CPU占用敏感的用户建议选择ABLMediaServer。推荐指数四颗星。

类型 端口 格式
rtsp 554 rtmp://127.0.0.1:554/live/stream
rtmp 1935 rtmp://127.0.0.1:1935/live/stream
hls 9088 http://127.0.0.1:9088/live/stream.m3u8
flv 8088 http://127.0.0.1:8088/live/stream.flv
ws-flv 6088 ws://127.0.0.1:6088/live/stream.flv

历时数月钻研推流/对比各种流媒体服务程序/PK总结的更多相关文章

  1. 计算两个日期之间相差的年数月数天数(JS实现)

    前言 如何计算年龄?我的第一直觉做法:(当前时间戳 - 出生时的时间戳)/ (365*86400)  所得结果向下取整.后来发现这种做法获得的结果不准确,不是多了一岁就是少了一岁,不能简单粗暴的这么处 ...

  2. 历时2月,动态线程池 DynamicTp 发布里程碑版本 V1.0.8

    关于 DynamicTp DynamicTp 是一个基于配置中心实现的轻量级动态线程池管理工具,主要功能可以总结为动态调参.通知报警.运行监控.三方包线程池管理等几大类. 经过多个版本迭代,目前最新版 ...

  3. JDK 9 发布仅数月,为何在生产环境中却频遭嫌弃?

    千呼万唤始出来,在经历了整整一年的跳票之后,Java 9 终于在 9 月 21 日拨开云雾,露出真正的面目.对众多 Java 程序员来说,这一天无疑是一个重大的日子,首先 Java 开发者们再也不用羡 ...

  4. 历时5月,Kubernetes1.19正式发布 !Ingress迎来GA,存储容量跟踪新特性

    我们迎来了Kubernetes1.19,这是2020年发布的第二个版本,也是迄今为止最长的发布周期,总共持续了20周.它包括33个增强功能:12个增强功能达到稳定版,18个增强处在beta版,还有13 ...

  5. CentOS obs直播RTMP协议推流到Nginx流媒体服务器到VUE使用HLS直播

    1. 发布打包前端管理平台(ant-design-vue) 2. 发布打包后端(.NET6-WebApi) .NET6 webAPI orm: free sql 数据库:mysql5.7 3. 发布打 ...

  6. Gaze Estimation学习笔记(1)-Appearance-Based Gaze Estimation in the Wild

    目录 前言 简介 论文概述 论文主要内容 MPIIGaze数据集 引入CNN的新Gaze Estimation方法 人脸对齐与3D头部姿态判断 归一化 使用CNN进行视线检测 论文作者进行的实验及结果 ...

  7. 一生伏首拜阳明------<明朝那些事儿>

    一生伏首拜阳明. 王守仁,字伯安,别号阳明. 成化八年(1472),王守仁出生在浙江余姚,大凡成大事者往往出身贫寒,小小年纪就要上山砍柴,下海捞鱼,家里还有几个生病的亲属,每日以泪洗面.这差不多也是惯 ...

  8. [OSChina]VirtualBox 6.0.0 发布,改进对高端显示器的 HiDPI 支持--尝试一下

    VirtualBox 6.0.0 发布,改进对高端显示器的 HiDPI 支持 https://www.oschina.net/news/102838/virtualbox-6-0-0-released ...

  9. Nginx系列1.2:nginx-rtmp流媒体服务器添加权限认证(推流权限和播放权限)

    用到的工具:OBS Studio(推流).nginx-rtmp流媒体服务器.VLC(拉取流播放) Nginx系列1:ubuntu16.04编译出适合自己的nginx服务器 Nginx系列1.1:ubu ...

  10. 16Aspx.com源码2013年10月到2013年12月详细

    创建时间FROM: 创建时间TO:   ExtJS合同管理信息系统源码 2013-12-13   [VS2008] 源码介绍: ExtJS合同管理信息系统源码浏览器兼容:IE,Firefox,谷歌等主 ...

随机推荐

  1. 2022-08-12:方案1 : {7, 10}; xxxx : {a , b}; 1 2 3 4; FunnyGoal = 100; OffenseGoal = 130。 找到一个最少方案数,让Fu

    2022-08-12:方案1 : {7, 10}: xxxx : {a , b}: 1 2 3 4: FunnyGoal = 100: OffenseGoal = 130. 找到一个最少方案数,让Fu ...

  2. 2020-10-17:谈一谈DDD面向领域编程。

    福哥答案2020-10-17:#福大大架构师每日一题# [答案来自此链接](https://www.jianshu.com/p/fb319d7674ff) 一个通用领域驱动设计的架构性解决方案包含4 ...

  3. 2020-12-22:使用MQ的缺陷有哪些?

    福哥答案2020-12-22:系统可用性降低:以前只要担心系统的问题,现在还要考虑 MQ 挂掉的问题,MQ 挂掉,所关联的系统都会无法提供服务.系统复杂性变高:要考虑消息丢失.消息重复消费.消息顺序性 ...

  4. 【GiraKoo】面向对象开发系列之【为什么要用面向对象】

    开源项目:https://girakoo.com/ 问答 为什么要有面向对象开发? 面向过程开发的C语言,往往有以下几个问题: 不同的开发人员需要使用功能完全相同,或者大部分相同的函数.如果某个算法存 ...

  5. 如何进行测试分析与设计-HTSM启发式测试策略模型 | 京东云技术团队

    测试,没有分析与设计就失去了灵魂: 测试人员在编写用例之前,该如何进行测试分析与设计呢?上次在<测试的底层逻辑>中讲到了[输入输出测试模型],还讲到了[2W+1H测试分析法],但2W1H分 ...

  6. 图扑虚拟现实 VR 智慧办公室可视化

    前言 "虚拟现实"是来自英文"Virtual Reality",简称 VR 技术,其是通过利用计算机仿真系统模拟外界环境,主要模拟对象有环境.技能.传感设备和感 ...

  7. 使用 coding.net 发布你的个人博客

    微信文章不允许外链,本文章的静态示例站点,可在文章左下角 "阅读原文" 进行预览. 很多人喜欢在 github pages / gitee pages 发布自己的个人博客,前者由于 ...

  8. pip 20.3 新版本发布!即将抛弃 Python 2.x

    据 Python 软件基金会消息,Python Packaging Authority 和 pip 团队于北美时间11月30日宣布发布 pip 20.3版本,开发者可以通过运行 python -m p ...

  9. WPF中控件转命令

    WPF不是所有控件都有Command属性,如果窗体需要在ViewModel 使用System.Windows.Interactivity事件 在nuget浏览搜索 下载System.Windows.I ...

  10. docker镜像的原理

    docker镜像的原理 docker镜像是由特殊的文件系统叠加而成 最低端是bootfs,并使用宿主机的bootfs 第二层是root文件系统rootfs,称之为base image 再往上是可叠加的 ...