音视频传输的基础知识
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MPEG、AVI、MOV、ASF、3GP、MKV、RMVB......
音频格式
音频格式是指要在计算机内播放或是处理音频文件,也就是要对声音文件进行 数、模转换,这个过程同样由采样和量化构成。
常见的音频格式有:CD 格式、WAVE(*.WAV)、AIFF、AU、MP3、MIDI、WMA、RealAudio、 VQF、OggVorbis、AAC、APE。
音视频传输的基础知识
音视频传输的基本步骤:
1.发起会话(Sip 协议)
2.编码(硬件编码、软件编码)
3.传输(RTP)
4.解码(硬件解码、软件解码)
5 结束会话(Sip 协议)
视频格式
视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流 媒体影像视频两大类。尽管后者在播放的稳定性和播放画面质量上可能没有前者 优秀,但网络流媒体影像视频的广泛传播性使之正被广泛应用于视频点播、网络 演示、远程教育、网络视频广告等等互联网信息服务领域。
SIP
1、SIP 协议介绍
Internet 的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与 者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很 复杂的:参与者
I frame :帧内编码帧又称 intra picture,I 帧通常是每个 GOP(MPEG 所使用 的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点, 可以当成图象。I 帧可以看成是一个图像经过压缩后的产物。
P frame: 前向预测编码帧又称 predictive-frame,通过充分将低于图像序列中 前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;
B frame: 双向预测内插编码帧又称 bi-directional interpolated prediction frame,既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之 间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧;
分辨率
a. 物理分辨率, 即手机屏幕能显示的像素数, 用 W x H 个像素表示。常见的 手机屏幕分辨率为 320x240(QVGA), 随着大屏幕手机的普及, 更高的分辨率也 开始出现. 例如: 480x320(iphone),640x360(nHD, 诺基亚触屏系列常 见),640x480(VGA, 多普达系列常见), 甚至高达 852x480(夏普高端手机常见).
解码
硬件解码:
视频解码分为软解和硬解。
所谓“软解”就是通过软件让 CPU 进行视频解码处理;而“硬解”是指不依赖于 CPU,通过专用的设备(子卡)单独完成视频解码,比如曾经的 VCD/DVD 解压卡、 视频压缩卡都被冠以“硬解”的称号。现在实现高清硬解不需要额外的子卡,也 不需要额外的投入,因为硬解码模块被整合在了 GPU 内部,而目前主流的显卡 (包括整合显卡)都能支持硬解码。
HD-SDI 转换器:HD-SDI 转 HDMI 转换器是一款专用与单路高清数据自分量串行接 口信号转换为 HDMI 信号的设备。
YPbPr 接口:色差分量接口,模拟系统的标识。电视 YPbPr 接口一般可以用来和 机顶盒、DVD 机以及其他同样拥有该类型接口的设备连接使用。
视频转码
视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视 频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码 本质上是一个先解码,再编码的过程,因此转换前后的码流可能遵循相同的视频 编码标准,也可能不遵循相同的视频编码标准。
3. 硬解码让 CPU 占用率超低,系统有能力在看 HDTV 的同时进行多任务操作;
4. CPU 需要倾尽全力才能解码 HDTV,而 GPU 只需动用 0.1 亿晶体管的解码模 块就能完成任务,功耗控制更好;
GPU 硬解码高清视频的劣势:
1. 起步较晚,软件支持度无法与软解相提并论;
2. 面对杂乱无章的视频编码、封装格式,硬解码无法做到全面兼容;
码流数
单码流:指 CIF 格式的压缩码流,CIF 为 352*288
双码流:采用一路高码率的码流用于本地高清存储,一路低码率的码流用于网络 传输,同时兼顾本地存储和运程网络传输。
主码流与子码流
主码流:用于本地存储
子码流:用于图像在低带宽网络上传输
视频源硬件接口
根据输出采集设备的需求,对设备采集视频源进行相对应的设备。
大多数编解码器是有损的,目的是为了得到更大的压缩比和更小的文件大小。当 然也有无损的编解码器,但是通常没有必要为了一些几乎注意不到的的质量损失 而大大增加编码后文件的大小。除非该编码的结果还将在以后进行下一步的处 理,此时连续的有损编码通常会带来较大的质量损失。
视频协议
目前主要的视频压缩协议有:h.261、h.263、h.264 和 mpeg-1、mpeg-2 和 mpeg-4。 第一个视频压缩标准是 h.261,它的算法现在来看,非常简单,但是,它的很多 视频压缩的思想,一直影响到现在最新的压缩标准 h.264。
帧率
(FPS, 帧/秒), 就是视频画面刷新的速度, 作为参考, 国内电视机一般是 25FPS, 电影标准为 24FPS. 手机芯片, 最高支持 30FPS, 早期型号最大只能 15fps
RGB 和 YUV
RGB 指的是红绿蓝,应用还是很广泛的,比如显示器显示,bmp 文件格式中的像 素值等;而 yuv 主要指亮度和两个色差信号,被称为 luminance 和 chrominance 他们可以相互转化,我们视频里面基本上都是用 yuv 格式。
“硬解”其实更需要软件的支持,只是基本不需要 CPU 参与运算,从而为系统 节约了很多资源开销。通过降低 CPU 占用率,可以给用户带来很多实惠:
GPU 硬解码高清视频的优势:
1. 不需要太好的 CPU,单核足矣,CPU 方面节约不少资金;
2. 硬解码基本相当于免费附送,不到 500 元的整合主板都能完美支持;
VGA 接口:针数为 15 的视频接口,用于老式的电脑输出;经历一次数模转换和一 次模数转换,信号损失,显示较为模糊。
DVI 接口:数字信号,可以传输大分辨率的视频信息。DVI 连接计算机显卡和显 示器时不用发送转换,所有信号没有损失。
HDMI 接口:数字信号,可以传输音频信号,可以同时将电脑视频和音频的信号 传递给显示器。
编码
编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或 者程序。这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存 储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个 编码流中恢复适合观察或操作的形式的操作。编解码器经常用在视频会议和流媒 体等应用中,通常主要还是用在广电行业,作前端应用。
码率
一般用多少 kbps(千比特/秒)或者 mbps(兆比特/秒)来表示。手机解码芯片所支 持的码率一般都在 1Mbps 以下.
码率 = 【文件大小】/【时间】;码率和质量成正比。
定码率:无论画面是静态的还是动态的,则码率不变,如动态的码率不变,会出 现画面质量差。
变码率:随着图像的复杂程度的不同而变化,因此其编码效率比较高,快速运动 画面的马赛克就很少。VBR 可以按固定质量、码率范围、平均码率、文件大小等 方式进行编码。
RTSP 实时流协议
作为一个应用层协议,RTSP 提供了一个可供扩展的框架,它的意义在于使得实 时流媒体数据的受控和点播变得可能。总的说来,RTSP 是一个流媒体表示协议, 主要用来控制具有实时特性的数据发送,但它本身并不传输数据,而是必须依赖 于下层传输协议所提供的某些服务。RTSP 可以对流媒体提供诸如播放、暂停、 快进等操作,它负责定义具体的控制消息、操作方法、状态码等,此外还描述了 与 RTP 间的交互操作。
流媒体协议
RTP 数据协议
实时传输协议(Real- time Transport Protocol,PRT)是在 Internet 上处理多 媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多 (multicast,多播)的网络环境中实现传流媒体数据的实时传输。RTP 通常使用 UDP 来进行多媒体数据的传输,但如果需要的话可以使用 TCP 或者 ATM 等其它 协议,整个 RTP 协议由两个密切相关的部分组成:RTP 数据协议和 RTP 控制协 议。
音频协议
音频协议也分两大类,itu 组织的主要是用于视频会议的 g 系列协议。这些协 议主要有两大特点,第一是比较关注语音压缩,毕竟开会主要是要听人讲话;对 音乐的压缩效果可能就不是太好了;第二是压缩率都比较大,码率都比较低,典 型的 g.723 支持 5.9k/s 这样的码率,而且语音音质还很不错。iso 的音频可能 更为人熟知一些,最流行的就是 mp3,它的全称是 mpeg-1 audio layer 3,意思 是 mpeg-1 的音频第三层;另外,最新的音频算法被称为 aac(也称为 mp4),它定 义在 mpeg-2 或 mpeg-4 的音频部分。他们的特点是音质好,支持多声道,高采 样精度和采样频率,尤其对音乐的压缩效果比 g 系列要好太多。
3. 软解拥有大量画面输出补偿及画质增强技术,而硬解这方面做得还远远不够;
4. 硬解码软件设置较为复杂,很多朋友根本不知道该如何正确使用 GPU 硬件解 码。
帧
帧——就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜 头。而在实际压缩时,会采取各种算法减少数据的容量,其中 IPB 就是最常见 的。
YUV 文件格式又分很多种,如果算上存储格式,就更多了,比如 yuv444、yuv422、 yuv411、yuv420 等等,视频压缩用到的是 420 格式,这是因为人眼对亮度更敏 感些,对色度相对要差些。另外要注意几个英文单词的意思,比如:packet、 planar、interlace、progressive 等。
b. 视频文件的分辨率, 这个是指视频画面的实际分辨率, 如, 320x240, 480x272, 640x480 等等。一般来说, 大部分手机的解码芯片不支持超过其屏幕 物理分辨率的视频, 部分可以支持超过其屏幕物理分辨率的视频, 例如, 虽然 iphone 的屏幕物理分辨率为 480x320, 但它支持 640x480 的视频, 此时播放的 画面实际是把原视频缩小的.
RTCP 控制协议
RTCP 控制协议需要与 RTP 数据协议一起配合使用,当应用程序启动一个 RTP 会 话时将同时占用ຫໍສະໝຸດ Baidu个端口,分别供 RTP 和 RTCP 使用。RTP 本身并不能为按序传 输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由 RTCP 来负 责完成。通常 RTCP 会采用与 RTP 相同的分发机制,向会话中的所有成员周期性 地发送控制信息,应用程序通过接收这些数据,从中获取会话参与者的相关资料, 以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对 网络状况进行诊断。
RTP 协议 的目的是提供实时数据(如交互式的音频和视频)的端到端传输服务, 因此在 RTP 中没有连接的概念,它可以建立在底层的面向连接或面向非连接的 传输协议之 上;RTP 也不依赖于特别的网络地址格式,而仅仅只需要底层传输协
议支持组帧(Framing)和分段(Segmentation)就足够了;另外 RTP 本身还不提供 任何可靠性机制,这些都要由传输协议或者应用程序自己来保证。
视频流化
流化的本质就是按顺序提取音视频帧的过程,即计算每个数据帧在文件中的偏移 量的问题。
视频切片
把一个完整的大文件,转码后切成按固定时长的小文件,存储下来,这样用户就 可以实现就近下载,包括拖放等操作。
流媒体概念
流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定 和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭 义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从 Internet 上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输 和 实时播放。
音频格式
音频格式是指要在计算机内播放或是处理音频文件,也就是要对声音文件进行 数、模转换,这个过程同样由采样和量化构成。
常见的音频格式有:CD 格式、WAVE(*.WAV)、AIFF、AU、MP3、MIDI、WMA、RealAudio、 VQF、OggVorbis、AAC、APE。
音视频传输的基础知识
音视频传输的基本步骤:
1.发起会话(Sip 协议)
2.编码(硬件编码、软件编码)
3.传输(RTP)
4.解码(硬件解码、软件解码)
5 结束会话(Sip 协议)
视频格式
视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流 媒体影像视频两大类。尽管后者在播放的稳定性和播放画面质量上可能没有前者 优秀,但网络流媒体影像视频的广泛传播性使之正被广泛应用于视频点播、网络 演示、远程教育、网络视频广告等等互联网信息服务领域。
SIP
1、SIP 协议介绍
Internet 的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与 者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很 复杂的:参与者
I frame :帧内编码帧又称 intra picture,I 帧通常是每个 GOP(MPEG 所使用 的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点, 可以当成图象。I 帧可以看成是一个图像经过压缩后的产物。
P frame: 前向预测编码帧又称 predictive-frame,通过充分将低于图像序列中 前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧;
B frame: 双向预测内插编码帧又称 bi-directional interpolated prediction frame,既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之 间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧;
分辨率
a. 物理分辨率, 即手机屏幕能显示的像素数, 用 W x H 个像素表示。常见的 手机屏幕分辨率为 320x240(QVGA), 随着大屏幕手机的普及, 更高的分辨率也 开始出现. 例如: 480x320(iphone),640x360(nHD, 诺基亚触屏系列常 见),640x480(VGA, 多普达系列常见), 甚至高达 852x480(夏普高端手机常见).
解码
硬件解码:
视频解码分为软解和硬解。
所谓“软解”就是通过软件让 CPU 进行视频解码处理;而“硬解”是指不依赖于 CPU,通过专用的设备(子卡)单独完成视频解码,比如曾经的 VCD/DVD 解压卡、 视频压缩卡都被冠以“硬解”的称号。现在实现高清硬解不需要额外的子卡,也 不需要额外的投入,因为硬解码模块被整合在了 GPU 内部,而目前主流的显卡 (包括整合显卡)都能支持硬解码。
HD-SDI 转换器:HD-SDI 转 HDMI 转换器是一款专用与单路高清数据自分量串行接 口信号转换为 HDMI 信号的设备。
YPbPr 接口:色差分量接口,模拟系统的标识。电视 YPbPr 接口一般可以用来和 机顶盒、DVD 机以及其他同样拥有该类型接口的设备连接使用。
视频转码
视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视 频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码 本质上是一个先解码,再编码的过程,因此转换前后的码流可能遵循相同的视频 编码标准,也可能不遵循相同的视频编码标准。
3. 硬解码让 CPU 占用率超低,系统有能力在看 HDTV 的同时进行多任务操作;
4. CPU 需要倾尽全力才能解码 HDTV,而 GPU 只需动用 0.1 亿晶体管的解码模 块就能完成任务,功耗控制更好;
GPU 硬解码高清视频的劣势:
1. 起步较晚,软件支持度无法与软解相提并论;
2. 面对杂乱无章的视频编码、封装格式,硬解码无法做到全面兼容;
码流数
单码流:指 CIF 格式的压缩码流,CIF 为 352*288
双码流:采用一路高码率的码流用于本地高清存储,一路低码率的码流用于网络 传输,同时兼顾本地存储和运程网络传输。
主码流与子码流
主码流:用于本地存储
子码流:用于图像在低带宽网络上传输
视频源硬件接口
根据输出采集设备的需求,对设备采集视频源进行相对应的设备。
大多数编解码器是有损的,目的是为了得到更大的压缩比和更小的文件大小。当 然也有无损的编解码器,但是通常没有必要为了一些几乎注意不到的的质量损失 而大大增加编码后文件的大小。除非该编码的结果还将在以后进行下一步的处 理,此时连续的有损编码通常会带来较大的质量损失。
视频协议
目前主要的视频压缩协议有:h.261、h.263、h.264 和 mpeg-1、mpeg-2 和 mpeg-4。 第一个视频压缩标准是 h.261,它的算法现在来看,非常简单,但是,它的很多 视频压缩的思想,一直影响到现在最新的压缩标准 h.264。
帧率
(FPS, 帧/秒), 就是视频画面刷新的速度, 作为参考, 国内电视机一般是 25FPS, 电影标准为 24FPS. 手机芯片, 最高支持 30FPS, 早期型号最大只能 15fps
RGB 和 YUV
RGB 指的是红绿蓝,应用还是很广泛的,比如显示器显示,bmp 文件格式中的像 素值等;而 yuv 主要指亮度和两个色差信号,被称为 luminance 和 chrominance 他们可以相互转化,我们视频里面基本上都是用 yuv 格式。
“硬解”其实更需要软件的支持,只是基本不需要 CPU 参与运算,从而为系统 节约了很多资源开销。通过降低 CPU 占用率,可以给用户带来很多实惠:
GPU 硬解码高清视频的优势:
1. 不需要太好的 CPU,单核足矣,CPU 方面节约不少资金;
2. 硬解码基本相当于免费附送,不到 500 元的整合主板都能完美支持;
VGA 接口:针数为 15 的视频接口,用于老式的电脑输出;经历一次数模转换和一 次模数转换,信号损失,显示较为模糊。
DVI 接口:数字信号,可以传输大分辨率的视频信息。DVI 连接计算机显卡和显 示器时不用发送转换,所有信号没有损失。
HDMI 接口:数字信号,可以传输音频信号,可以同时将电脑视频和音频的信号 传递给显示器。
编码
编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或 者程序。这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存 储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个 编码流中恢复适合观察或操作的形式的操作。编解码器经常用在视频会议和流媒 体等应用中,通常主要还是用在广电行业,作前端应用。
码率
一般用多少 kbps(千比特/秒)或者 mbps(兆比特/秒)来表示。手机解码芯片所支 持的码率一般都在 1Mbps 以下.
码率 = 【文件大小】/【时间】;码率和质量成正比。
定码率:无论画面是静态的还是动态的,则码率不变,如动态的码率不变,会出 现画面质量差。
变码率:随着图像的复杂程度的不同而变化,因此其编码效率比较高,快速运动 画面的马赛克就很少。VBR 可以按固定质量、码率范围、平均码率、文件大小等 方式进行编码。
RTSP 实时流协议
作为一个应用层协议,RTSP 提供了一个可供扩展的框架,它的意义在于使得实 时流媒体数据的受控和点播变得可能。总的说来,RTSP 是一个流媒体表示协议, 主要用来控制具有实时特性的数据发送,但它本身并不传输数据,而是必须依赖 于下层传输协议所提供的某些服务。RTSP 可以对流媒体提供诸如播放、暂停、 快进等操作,它负责定义具体的控制消息、操作方法、状态码等,此外还描述了 与 RTP 间的交互操作。
流媒体协议
RTP 数据协议
实时传输协议(Real- time Transport Protocol,PRT)是在 Internet 上处理多 媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多 (multicast,多播)的网络环境中实现传流媒体数据的实时传输。RTP 通常使用 UDP 来进行多媒体数据的传输,但如果需要的话可以使用 TCP 或者 ATM 等其它 协议,整个 RTP 协议由两个密切相关的部分组成:RTP 数据协议和 RTP 控制协 议。
音频协议
音频协议也分两大类,itu 组织的主要是用于视频会议的 g 系列协议。这些协 议主要有两大特点,第一是比较关注语音压缩,毕竟开会主要是要听人讲话;对 音乐的压缩效果可能就不是太好了;第二是压缩率都比较大,码率都比较低,典 型的 g.723 支持 5.9k/s 这样的码率,而且语音音质还很不错。iso 的音频可能 更为人熟知一些,最流行的就是 mp3,它的全称是 mpeg-1 audio layer 3,意思 是 mpeg-1 的音频第三层;另外,最新的音频算法被称为 aac(也称为 mp4),它定 义在 mpeg-2 或 mpeg-4 的音频部分。他们的特点是音质好,支持多声道,高采 样精度和采样频率,尤其对音乐的压缩效果比 g 系列要好太多。
3. 软解拥有大量画面输出补偿及画质增强技术,而硬解这方面做得还远远不够;
4. 硬解码软件设置较为复杂,很多朋友根本不知道该如何正确使用 GPU 硬件解 码。
帧
帧——就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜 头。而在实际压缩时,会采取各种算法减少数据的容量,其中 IPB 就是最常见 的。
YUV 文件格式又分很多种,如果算上存储格式,就更多了,比如 yuv444、yuv422、 yuv411、yuv420 等等,视频压缩用到的是 420 格式,这是因为人眼对亮度更敏 感些,对色度相对要差些。另外要注意几个英文单词的意思,比如:packet、 planar、interlace、progressive 等。
b. 视频文件的分辨率, 这个是指视频画面的实际分辨率, 如, 320x240, 480x272, 640x480 等等。一般来说, 大部分手机的解码芯片不支持超过其屏幕 物理分辨率的视频, 部分可以支持超过其屏幕物理分辨率的视频, 例如, 虽然 iphone 的屏幕物理分辨率为 480x320, 但它支持 640x480 的视频, 此时播放的 画面实际是把原视频缩小的.
RTCP 控制协议
RTCP 控制协议需要与 RTP 数据协议一起配合使用,当应用程序启动一个 RTP 会 话时将同时占用ຫໍສະໝຸດ Baidu个端口,分别供 RTP 和 RTCP 使用。RTP 本身并不能为按序传 输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由 RTCP 来负 责完成。通常 RTCP 会采用与 RTP 相同的分发机制,向会话中的所有成员周期性 地发送控制信息,应用程序通过接收这些数据,从中获取会话参与者的相关资料, 以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对 网络状况进行诊断。
RTP 协议 的目的是提供实时数据(如交互式的音频和视频)的端到端传输服务, 因此在 RTP 中没有连接的概念,它可以建立在底层的面向连接或面向非连接的 传输协议之 上;RTP 也不依赖于特别的网络地址格式,而仅仅只需要底层传输协
议支持组帧(Framing)和分段(Segmentation)就足够了;另外 RTP 本身还不提供 任何可靠性机制,这些都要由传输协议或者应用程序自己来保证。
视频流化
流化的本质就是按顺序提取音视频帧的过程,即计算每个数据帧在文件中的偏移 量的问题。
视频切片
把一个完整的大文件,转码后切成按固定时长的小文件,存储下来,这样用户就 可以实现就近下载,包括拖放等操作。
流媒体概念
流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定 和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭 义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从 Internet 上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输 和 实时播放。