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


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

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

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

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


一、采集:

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

摄像机经过采集环节,输出原始的、未压缩过的视频流。在一些相机中,此原始视频的格式为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 音视频

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

  1. h.264 rtp打包

    (2011-05-27 08:44:13) 转载 标签: 杂谈   payload,H.264 RTP payload 格式 on 2011-2-18 in 博文摘选 | 0 Comment 1. 网 ...

  2. H.264 RTP payload 格式

    H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+       |0|1|2|3|4|5|6| ...

  3. [转帖]H.264 RTP payload 格式(有效载荷)

    1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F| ...

  4. FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧间宏块(Inter)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  5. FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧内宏块(Intra)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  6. FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧间宏块(Inter)...

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  7. FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧内宏块(Intra)...

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  8. FFmpeg的H.264解码器源代码简单分析:环路滤波(Loop Filter)部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  9. FFmpeg的H.264解码器源代码简单分析:解码器主干部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

最新文章

  1. mybatis中的mapper设计与原理
  2. 服务器硬件及RAID配置
  3. cocos2d-x2.2九宫格CCScale9Sprite有bug
  4. 公有云:美酒or毒药?--【软件和信息服务】2014.12
  5. 【数据库原理及应用】经典题库附答案(14章全)——第七章:数据库恢复技术
  6. //rest风格写_REST /使用提要发布事件
  7. (BFS)Catch That Cow(poj3278)
  8. 为什么在JavaScript中0.1+0.2不等于0.3?
  9. mysql oltp_oltp数据库mysql
  10. windows10上Eclipse运行MapReduce wordcount程序遇到的坑
  11. 从零开始学习makefile(7) makefile的filter的作用
  12. 基于R语言地理探测器包(GD)空间异质性与驱动力分析
  13. 设计类-Gliffy Diagram的安装使用
  14. JQuery-表单验证
  15. 音视频中的码率控制(CBR、VBR、CVBR、FIXQP)
  16. POJ 3233 Matrix Power Series(java)
  17. wps右下角弹窗广告(WPS购物或叫WPS热点)彻底关闭
  18. 裤子尺码对照表eur40_裤子的欧码32 34 36 38 40代表什么意思
  19. 黑客是怎样入侵你的网站的
  20. 蚌埠住了,让我虎躯一震的代码!

热门文章

  1. HTML5+app开发学习之调试篇
  2. 华为手机怎么用云歌_华为手机功能之语音助手小艺,带你了解小艺的使用方式...
  3. 长篇好文,手机充电放电架构与工作流程原理讲解
  4. 武汉大学计算机学院附近澡堂,武汉大学附近美食攻略
  5. Pytorch踩坑记之交叉熵(nn.CrossEntropy,nn.NLLLoss,nn.BCELoss的区别和使用)
  6. 敏捷软件开发(2)--- 设计原则
  7. CSS深入理解z-index(z-index相关知识总结)
  8. 常州SEO姜东:tiktok(国际抖音)运营教程:打造高权重账号
  9. 全国计算机二级算国奖吗,如何区分竞赛证书的等级和含金量?(太多人傻傻分不清国奖、省奖、市奖)...
  10. 归并排序(C语言版)