码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 历时数月钻研推流/对比各种流媒体服务程序/PK总结


    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

  • 相关阅读:
    recovery菜单选项,添加风险提示弹框
    vue实现列表自动无缝滚动列表
    python如何与前端交互
    带你玩转 Redis 的 键(key)命令
    基于STM32F469 discovery kit 开发板的开发2
    这八种情形,专利优先审查一律不予推荐!
    stack类别
    面经第5天
    【示波器专题】数字示波器的主要指标——带宽
    【PAT(甲级)】1047 Student List for Course(超时问题)
  • 原文地址:https://www.cnblogs.com/feiyangqingyun/p/17639683.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号