1.H5 + websocket_rtsp_proxy 实现视频流
Streamedian 提供了一种html5_rtsp_player
+ websock_rtsp_proxy
的技术方案,可以通过html5的video标签直接播放RTSP的视频流。
2. RTSP转RTMP,转http-flv,播放端用flv.js播放
flv.js在获取到FLV格式的音视频数据后将 FLV 文件流转码复用成 ISO BMFF(MP4 碎片)片段,再通过Media Source Extensions API 传递给原生HTML5 Video标签进行播放。
flv.js 是使用 ECMAScript 6 编写的,然后通过 Babel Compiler 编译成 ECMAScript 5,使用 Browserify 打包。
flv.js 从服务器获取FLV再解封装后转给Video标签的原因如下:
- 兼容目前的直播方案:目前大多数直播方案的音视频服务都是采用FLV容器格式传输音视频数据。
- flv格式简单,相比于MP4格式转封装简单、性能上也占优势,解析起来更快更方便。
3. RTSP转RTMP,转hls,播放端用video.js播放
Video.js是一款web视频播放器,支持html5和flash两种播放方式。更有自定义皮肤,插件,组件,语言还有丰富的选项配置。
4.liveweb播放器
liveweb是好游科技的网页播放器,延迟和功能体验更好。
liveweb的优点是支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/WebSocket-FLV/GB28181/HTTP-TS/WebSocket-TS/HTTP-fMP4/WebSocket-fMP4/MP4/WebRTC),支持协议互转。
全面支持H265/H264/AAC/G711/OPUS。
支持WebRTC推流,支持转其他协议
支持WebRTC播放,支持其他协议转WebRTC
支持TWCC rtcp动态调整码率
支持remb/pli/sr/rr rtcp
支持rtp扩展解析
支持GOP缓冲,webrtc播放秒开
支持datachannel
支持webrtc over tcp模式
优秀的nack、jitter buffer算法, 抗丢包能力卓越
支持whip/whep协议