1、视频原理
浏览器或是音视频播放器(如ffplay、VLC、射手影音等)播放互联网上视频文件,需要对接收数据经过以下几个步骤:
解析协议-> 解封装 -> 解码音视频 -> 音视频同步。
简单起见,可将视频数据分为以下四层如下表1-1所示,可结合图1-1了解其数据流在各阶段的处理流程
| 层级 | 作用 |
|---|---|
| 协议层 | 处理符合特定流媒体协议规范的数据,如http、rtsp、rtmp等 |
| 封装格式层 | 处理符合特定格式规范的数据,如mkv、mp4、flv等 |
| 编解码层 | 符合特定编码标准规范的数据,如h264、h265、vp8、aac等 |
| 像素层 | 符合特定像素格式规范的数据,如yuv420p、yuv422p、rgb24、pem等 |
表1-1 音视频各层级协议封装格式表

图1-1 音视频数据流处理层级图
音视频流各协议层处理作用分别如下所述:
解协议
将流媒体协议的数据解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,WebRTC或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停

本文介绍了从视频原理、系统架构到代码实践,如何实现RTSP视频流经流媒体服务器和协议转换器,转换成WebRTC协议供浏览器播放。通过ffmpeg推流,利用mediamtx作为流媒体服务器,结合开源组件处理代码完成协议转换。

1万+

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



