开启辅助访问
 找回密码
 立即注册

rtmp直播能达到毫秒级别吗?

回答数16 浏览数175
rtmp直播能达到毫秒级别吗?
使用道具 举报
我是的十八簿
别毫秒了,如果你能做到1秒不卡、流畅,业界领先。别在好的网络情况下测试,弱的网络直接就挂了。来点丢包率,来点数据包延时,来点突发码率,看看卡不卡。有些情况下延时不是问题,稳定流畅的直播才是客户最关心的。
回复
使用道具 举报
成哥337
这么多回复,好多开发认为做不到毫秒级的,可以不要太早下结论,如果基于VLC,或者ijkplayer改,你们说的都对,确实很难做到毫秒级,2-3秒正常的。
之前回答的,比较简单,好多开发者,不一定认可,考虑到无图无真相,直接发个视频,看下rtmp是不是毫秒级
采用的 https://github.com/daniulive/SmarterStreaming/ 上的Windows平台推拉流demo。
采集的毫秒计数器窗口,然后,通过RTMP推送(对应SmartPublisherDemo.exe)到RTMP服务器,然后播放端,拉流播放(SmartPlayer.exe)的,考虑到大家想看到极限值,我在播放端设置了 buffer 为0:
rtmp直播能达到毫秒级别吗?-1.jpg
RTMP推拉流延迟展示
https://www.zhihu.com/video/1233754834022912000
回复
使用道具 举报
鬼子进了村部
可以Github上搜下,DyncRTMPLiveClient,播放器经过优化,可实现秒开任一rtmp流。
回复
使用道具 举报
愿为素心人
目前市场上rtmp直播外网的话普遍在2-3秒的延时,毫秒级的一般是视频会议,走的是RTP/RTCP协议,比如微信视频聊天就是。
回复
使用道具 举报
马宝清马宝清
一般RTMP是在TCP之上的,如果知道TCP和UDP的差异,就知道这个不可能的
回复
使用道具 举报
问园会馆
达不到,视频帧主要是i帧和p帧组成(b帧或其他暂时不说),p帧必须依靠i帧才能还原图像。一般所谓的实时流,大概就是一秒钟30帧,如果一秒钟就是一个i帧序列的话,也就是说由一个i帧和29个p帧组成,每个帧之间的间隔就是33毫秒。
在i帧到达之前,图像是没法显示的,所以当你点播视频的时候,去掉一切网络延迟,最坏的情况还需要1秒才能看到图像,当然这个情况可以通过减少gop来改善。
网络延迟大概局域网能做到200ms,播放器输出缓存能做到4帧以内,这些因素加起来大概就是能做到的理论延迟(能做到300ms就不错了)。
rtmp情况更糟一些,协议本身需要浪费更多时间,并且如果使用flash作为播放的话,延迟时间更加难以控制,加上推流的时间,服务器回源等,所以一般使用flash作为客户端的rtmp流能做到1~2秒已经够可以了。
回复
使用道具 举报
默默MYQ
10秒级延时hls, 秒级延时rtmp, 毫秒级延时p2p
回复
使用道具 举报
大圆镜2015
延时有的时候也是由播放器造成的,我使用JWPlayer播放RED5直播流,延时比较厉害,播放时间越长,延时越严重。后来自己写了一个最简单的Flash 播放器,延时可以控制在毫秒级(基本上在500ms左右)。
回复
使用道具 举报
里脊鱼鱼si
生产系统上数据来看,flash player播放整体延时在2s左右。  100ms网络延时都不一定够用吧。
回复
使用道具 举报
12下一页