【直播/实时监控】前端-直播实时监控基础知识点
了解直播/实时监控 需要掌握的背景知识
简单总结
- 常见的直播流协议有RTSP, RTMP, HLS, HTTPFLV等
- 流媒体分为推流端,流媒体服务器和拉流端。记住两端加一服。推流是采集视频信号到服务器,拉流是从服务器接受数据。
- RTMP可以应用在推拉流的双端,WEB网页中需要使用RTMP需要安装插件。优点兼容性好(服务器端)、低延迟,缺点需要网页端不支持并且需要插件。其中监控领域海康大华都是将采集到的RTSP数据需转为RTMP流进行推送。并且现在flv.js库解封包使得RTMP也可以在网页端直接播放了。
- RTSP广泛应用于摄像机、无人机和物流网设备中,优点延迟低,缺点视频播放器和流媒体服务器并未广泛支持,所以通常需要通过ffmpeg库将RTSP流转换为RTMP来进行推流。
- HLS只能使用在拉流端,适用于苹果和PC还有移动端,H5的video标签可以直接对其进行播放。优点兼容性好无需插件,缺点延时较RTMP大。
- HTTP-FLV 本来在H5中需要使用插件,需要Flash支持,兼容性差。有了flv.js出现后则打破了以上问题。直播平台和手机直播使用的比较多。
图片:推拉流的示意图
图片:推流码构成
图片:视频流传输协议的对比
像安防实时监控领域,前端这边涉及到的就是如何从服务器拉流然后展示给客户,重点也就是获取rtsp地址和通道号,具体如何使用不在本篇文章中,像海康、大华等一般都有完整的开发手册供参考。
洗尽铅华始见金,褪去浮华归本真