网站首页 > 精选教程 正文
目前主流的流媒体服务器主要有 nginx-rtmp、crtmpd、wowza、red5、adobe fms等。
支持的网络协议对比
协议是服务器的基础,协议决定了关键应用场景,譬如毫秒级别延时只能用udp,秒级别延迟用RTMP,十秒级别可以用HLS。
Feature | SRS | NGINX | CRTMPD | AMS | WOWZA |
RTMP | Stable | Stable | Stable | Stable | Stable |
HLS | Stable | Stable | X | Stable | Stable |
HTTP FLV | Stable | X | X | X | X |
HLS(aonly) | Stable | X | X | Stable | Stable |
HDS | Experiment | X | X | Stable | Stable |
MPEG-DASH | Experiment | X | X | X | X |
HTTP Server | Stable | Stable | X | X | Stable |
1、RTMP延时特点
延迟较低:
比起YY的那种UDP私有协议,RTMP算延迟大的(延迟在1-3秒),比起HTTP流的延时(一般在10秒以上)RTMP算低延时。
一般的直播应用,只要不是电话类对话的那种要求,RTMP延迟是可以接受的。在一般的视频会议(参考SRS的视频会议延时)应用中,RTMP延时也能接受,原因是别人在说话的时候我们一般在听,实际上1秒延时没有关系,我们也要思考(话说有些人的CPU处理速度还没有这么快)。
有累积延迟:
技术一定要知道弱点,RTMP有个弱点就是累积误差,原因是RTMP基于TCP不会丢包。所以当网络状态差时,服务器会将包缓存起来,导致累积的延迟;待网络状况好了,就一起发给客户端。这个的对策就是,当客户端的缓冲区很大,就断开重连。当然SRS也提供配置。
2、延时影响因素
- GOP
- SRS可以关闭GOP的cache来避免这个影响
- 服务器性能太低
- 服务器来不及发送数据
- 播放端
- 譬如flash客户端的NetStream.bufferTime设置为10秒,那么延迟至少10秒以上
- 推流端
- GOP、Profile、Tune等编码参数
SRS集群(边缘)不会增加延迟
C++音视频学习资料免费获取方法:关注音视频开发T哥,点击「链接」即可免费获取2023年最新C++音视频开发进阶独家免费学习大礼包!
3、编写配置文件
配置SRS为低延时模式,可以将RTMP延迟降低到0.8-3秒:
# conf/realtime.conf
listen 1935;
max_connections 1000;
vhost __defaultVhost__ {
tcp_nodelay on;
min_latency on;
play {
gop_cache off;
queue_length 10;
mw_latency 100;
}
publish {
mr off;
}
}
低延时模式影响性能,更多参考如下:
github.com/ossrs/srs/w…
可以将HLS延迟降低到3-5秒:
listen 1935;
max_connections 1000;
vhost __defaultVhost__ {
hls {
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 0.2;
hls_window 2;
hls_wait_keyframe off;
}
}
HLS还可考虑使用FLV协议替换
4、编码参数设置
GOP = 1;Profile = baseline; Tune = zerolatency (主要是GOP编码参数),例如OBS的编码设置如下:
测试结果,RTMP为1秒、m3u8为3秒:
作者:郎涯技术 链接:https://juejin.cn/post/6996664571117174798
- 上一篇: 当SRS遇到K8s:快速构建高并发直播集群
- 下一篇: 为什么HLS能吊打MP4来实现视频秒开
猜你喜欢
- 2024-10-11 利用srs实现安防摄像头云监控 src监控
- 2024-10-11 SRS之安装与使用 安装ssms教程
- 2024-10-11 简述SRS流媒体服务器相关技术 基于srt协议的流媒体服务器
- 2024-10-11 SRS环境搭建,SRS源码阅读,全网独一份的视频文档资料
- 2024-10-11 视频监控RTSP转RTMP转HLS解决方案
- 2024-10-11 支持HLS和mp4在线播放的源码 支持hls和mp4在线播放的源码软件
- 2024-10-11 为什么HLS能吊打MP4来实现视频秒开
- 2024-10-11 HLS(m3u8直播文件)在线直播实现 直播 rmvb 下载
- 2024-10-11 当SRS遇到K8s:快速构建高并发直播集群
- 2024-10-11 详细分析HLS框架 hls downloader
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)