直播搭建思路
处理流程
- Html 通过客户端软件进行推流到服务器
- web端通过nginx进到引流 一般是m3u8格式
HTML5录制视频
HTML5录制视频
对于HTML5视频录制,可以使用强大的 webRTC (Web Real-Time Communication)是一个支持网页浏览器进行实时语音对话或视频对话的技术,缺点是只在 PC 的 Chrome 上支持较好,移动端支持不太理想。
使用 webRTC 录制视频基本流程是:
- 调用 window.navigator.webkitGetUserMedia() 获取用户的PC摄像头视频数据。
- 将获取到视频流数据转换成 window.webkitRTCPeerConnection (一种视频流数据格式)。
- 利用 webscoket 将视频流数据传输到服务端
由于许多方法都要加上浏览器前缀,所以很多移动端的浏览器还不支持 webRTC,所以真正的视频录制还是要靠客户端(iOS,Android)来实现,效果会好一些。
对于HTML5视频录制,可以使用强大的
HTML5播放直播视频
对于视频播放,可以使用HLS(HTTP Live Streaming)协议播放直播流,IOS和Android都天然支持这种协议,配置简单,直接使用video标签即可
WebRTC
M3U8
简介
将RTMP转为m3u8
ffmpeg -v verbose -i rtmp://172.21.169.151:1935/rtmp/1111 -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 20 -profile:v main -maxrate 800k -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -start_number 1 -f segment -segment_list playlist.m3u8 -segment_list_flags +live -segment_time 10 out%03d.ts