简单辨析关系和区别: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 音视频
简单辨析关系和区别:YUV、H.264、RTP、UDP、RTSP相关推荐
- h.264 rtp打包
(2011-05-27 08:44:13) 转载 标签: 杂谈 payload,H.264 RTP payload 格式 on 2011-2-18 in 博文摘选 | 0 Comment 1. 网 ...
- H.264 RTP payload 格式
H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6| ...
- [转帖]H.264 RTP payload 格式(有效载荷)
1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+-+ |F| ...
- FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧间宏块(Inter)
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧内宏块(Intra)
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧间宏块(Inter)...
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- FFmpeg的H.264解码器源代码简单分析:宏块解码(Decode)部分-帧内宏块(Intra)...
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- FFmpeg的H.264解码器源代码简单分析:环路滤波(Loop Filter)部分
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- FFmpeg的H.264解码器源代码简单分析:解码器主干部分
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
最新文章
- mybatis中的mapper设计与原理
- 服务器硬件及RAID配置
- cocos2d-x2.2九宫格CCScale9Sprite有bug
- 公有云:美酒or毒药?--【软件和信息服务】2014.12
- 【数据库原理及应用】经典题库附答案(14章全)——第七章:数据库恢复技术
- //rest风格写_REST /使用提要发布事件
- (BFS)Catch That Cow(poj3278)
- 为什么在JavaScript中0.1+0.2不等于0.3?
- mysql oltp_oltp数据库mysql
- windows10上Eclipse运行MapReduce wordcount程序遇到的坑
- 从零开始学习makefile(7) makefile的filter的作用
- 基于R语言地理探测器包(GD)空间异质性与驱动力分析
- 设计类-Gliffy Diagram的安装使用
- JQuery-表单验证
- 音视频中的码率控制(CBR、VBR、CVBR、FIXQP)
- POJ 3233 Matrix Power Series(java)
- wps右下角弹窗广告(WPS购物或叫WPS热点)彻底关闭
- 裤子尺码对照表eur40_裤子的欧码32 34 36 38 40代表什么意思
- 黑客是怎样入侵你的网站的
- 蚌埠住了,让我虎躯一震的代码!
热门文章
- HTML5+app开发学习之调试篇
- 华为手机怎么用云歌_华为手机功能之语音助手小艺,带你了解小艺的使用方式...
- 长篇好文,手机充电放电架构与工作流程原理讲解
- 武汉大学计算机学院附近澡堂,武汉大学附近美食攻略
- Pytorch踩坑记之交叉熵(nn.CrossEntropy,nn.NLLLoss,nn.BCELoss的区别和使用)
- 敏捷软件开发(2)--- 设计原则
- CSS深入理解z-index(z-index相关知识总结)
- 常州SEO姜东:tiktok(国际抖音)运营教程:打造高权重账号
- 全国计算机二级算国奖吗,如何区分竞赛证书的等级和含金量?(太多人傻傻分不清国奖、省奖、市奖)...
- 归并排序(C语言版)