标签:厂商 http协议 优势 udp协议 span object 欺骗 在线 list
直播在2016年是一个非常火热的领域,我也有幸在今年参与了新浪微博直播客户端的开发,在此分享一下关于直播开发的一些经验。
视频直播的过程大概由这么几个部分构成:
整个直播流转的过程是:推流端将视频流推向源服务器,源服务器对视频流进行编码或者转存,CDN负责负载均衡与缓存,CDN节点从源服务器获取视频流,播放端再从CDN上把视频流拉下来。
#EXTM3U m3u文件头,必须放在第一行
#EXT-X-MEDIA-SEQUENCE 第一个TS分片的序列号
#EXT-X-TARGETDURATION 每个分片TS的最大的时长
#EXT-X-ALLOW-CACHE 是否允许cache
#EXT-X-ENDLIST m3u8文件结束符
#EXTINF extra info,分片TS的信息,如时长,带宽等
里面保存了一个一个.ts格式的视频分片文件路径http-flv
http-flv是通过http协议传输flv的视频流,HTTP协议中有个content-length字段,规定了请求http的body部分的长度,如果请求的时候不加content-length字段,那么客户端会一直受到数据。基于传输包的http-flv协议可以将数据包做的比rtmp做的更小,在流量上有比较大的优势,而延迟几乎和rtmp相同。
UDP
在过去传统的视频通话广泛的基于UDP协议,由于不像以上几种协议都基于TCP这种带拥塞控制的协议,UDP可以做到1s以内的超低延迟,在直播中UDP没有广泛采用的原因是需要对服务端的架构进行改造,所以对于之前做过视频通话的厂商来讲,他们拥有着得天独厚的优势,目前很多互联网教育厂商由于对超低延迟的需求,基本都采用了UDP协议
随着视频直播领域变得越来越火,直播的延迟问题也日趋收到开发者的关注,根据不同也业务需求,厂商对延迟的要求也有所不同,美女秀场直播2~5s之间可以忍受,对于在线教育来讲1s左右才能保证正常的教学需求。总体来看,目前影响直播延迟基本有这么几种原因:
标签:厂商 http协议 优势 udp协议 span object 欺骗 在线 list
原文地址:http://www.cnblogs.com/jacklandrin/p/6095693.html