简单辨析关系和区别:YUV、H.264、RTP、UDP、RTSP

        在视频传输的过程中,涉及到的流程比较多,这些流程以及各环节的格式容易让人眼花缭乱,在此做一个简单分辨。


        一个常见的视频流程如下:

摄像机——>网络——>计算机(显示器)

        从功能上来讲,是下面的流程:

采集——>编码——>传输——>解码——>显示


一、采集:

        摄像机观察其目标,将其看到的目标的光信息记录为内部电信息。

        摄像机经过采集环节,输出原始的、未压缩过的视频流。在一些相机中,此原始视频的格式为YUV(得到YUV数据)。

二、编码:

        摄像头看到的画面往往需要被远距离传输到指定地点,而由“采集”环节传过来的原始视频容量很大,不便于传输。因此,在传输前需要对原始视频做一些处理,这里用到的方法就是编码。

        就像搬家,大家一般都会打包好再搬吧,很少有人不打包东西、直接把东西塞上车运走吧?不方便不说,车也不一定直接塞得下,是吧?

        精简原始视频数据的方法之一就是H.264,通过H.264方法,视频数据被极大地压缩。(YUV->H.264,得到H.264数据

        视频经H.264压缩了容量后,再利用RTP进行打包以做好传输前的准备(H.264->RTP,包裹里现在装的是H.264数据)。RTP可以理解为视频传输前的准备工作,可以认为H.264是为了减小视频体积,而RTP是为了整理、包装好精简后的视频数据来准备发送。

三、传输:

        视频在这个环节被搬运到目的地。

        用RTP(关心的是传的内容)技术包好的视频数据包裹,可以通过UDP(关心的是怎么传)的方法被传输出去。

        至此,大功告成。接下来就很简单了,按照上述逆序过程,依次读UDP、读RTP、读H.264、读YUV,显示即可。


        顺便说一句,RTP承载着视频数据,而RTSP是用来控制这些视频数据的(如播放、暂停、快进等)。


        总结一下,一段视频流的历程(这里是基于本文的描述,至于具体的实现手段千千万万,比如,在其中也可能使用的是H.265,但流程大体如此):

YUV->H.264->RTP->UDP->RTP->H.264->YUV。


参考资料:

1.一张图理解DeepStream4.0的一个典型程序流程_往事如烟雨迷蒙的博客-CSDN博客_deepstream

2.YUV+RGB+H264+RTSP总结_徐步小兵的博客-CSDN博客_h264 yuv

3.流媒体传输协议RTP/RTCP、RTSP 的区别和联系_酸菜鱼的鱼的博客-CSDN博客_rtcp和rtsp区别

4.TCP、UDP、RTP(RTCP)异同与区别 - 知乎

5.14、RGB和YCbCr颜色模型_上官永石的博客-CSDN博客_ycbcr颜色模型

6.详解LVDS通信协议:https://www.csdn.net/tags/OtTagg4sMTE5MzEtYmxvZwO0O0OO0O0O.html

7.索尼机芯技术手册

8.音视频学习之rtsp学习rtp协议的理解(rtp)_yun6853992的博客-CSDN博客_rtp 音视频

你可能感兴趣的:(视频,视频编解码)