
采集推流端:获取设备的摄像头和麦克风媒体流数据
流媒体服务器:采集端推上来的视频流,将该视频流再推送到播放端
播放端:播放端就是各种app,网页中的播放器,拉取流媒体服务器上的视频流,然后进行转码,最终播放出来
常用的流媒体传输协议有:
RTMP:(可用于推流端和拉流端) Real Time Messaging Protocol 实时消息传输协议,RTMP协议中,视频必须是H264编码,音频必须是AAC或MP3编码,且多以flv格式封包。因为RTMP协议传输的基本是FLV格式的流文件,必须使用flash播放器才能播放.
RTSP:(用于推流端) Real-Time Stream Protocol,RTSP 实时效果非常好,适合视频聊天、视频监控等方向
HLS(用于拉流端) Http Live Streaming,由Apple公司定义的基于HTTP的流媒体实时传输协议。传输内容包括两部分:1.M3U8描述文件,2.TS媒体文件。TS媒体文件中的视频必须是H264编码,音频必须是AAC或MP3编码。数据通过HTTP协议传输。目前video.js库支持该格式文件的播放
HTTP-FLV(用于拉流端) 本协议就是http+flv,将音视频数据封装成FLV格式,然后通过http协议传输到客户端,这个协议大大方便了浏览器客户端播放直播视频流.目前flv.js库支持该格式的文件播放
主流直播技术:
使用rtmp推流--->流媒体服务器分流 --->播放端
延迟较高
面向未来的直播技术:
WebRTC,谷歌收购gips后开源,集成到浏览器并且提供 Android、IOS、windows 版本
WebRTC只解决了小规模的p2p视频直播,要解决1Vn,就得进行改造
目前市面上有多款开源的 流媒体服务器系统
推荐:Medooze和Mediasoup
1999

被折叠的 条评论
为什么被折叠?



