001 音视频基础知识

视频播放器原理

这里写图片描述
1. 上述过程是播放本地视频
2. 若是网络上的文件,还需先通过[解协议]得到[封装格式数据]

音视频基础知识

图像格式

参考文献 [https://www.cnblogs.com/silence-hust/p/4465354.html]
常见的像素数据格式有 RGB24,RGB32,YUV420P,YUV422P,YUV444P 等

1. YUV 格式简介

YUV是指亮度参量和色度参量分开表示的像素格式,
好处:1)避免相互干扰;2)降低色度的采样率而不会对图像质量影响太大
YUV格式通常有两大类:打包(packed)格式和平面(planar)格式
YUV444
这里写图片描述
YUV422
这里写图片描述
YUV420(最常见)
这里写图片描述

2. RGB 格式简介

R(Red)、G(Green)、B(Blue)
这里写图片描述
以RGB24为例, 图像像素数据的存储方式如下
这里写图片描述
RGB24依次存储了每个像素点的R G B信息。
备注:BMP文件中存储的就是RGB格式的像素数据

音频采样数据

参考文献 [http://blog.51cto.com/ticktick/1748506]
常见的音频采样数据 PCM

音频的一些基础概念
(1) 采样率 samplerate

采样就是把模拟信号数字化的过程,不仅仅是音频需要采样,所有的模拟信号都需要通过采样转换为可以用0101来表示的数字信号,示意图如下所示:
这里写图片描述
蓝色代表模拟音频信号,红色的点代表采样得到的量化数值。
采样频率越高,红色的间隔就越密集,记录这一段音频信号所用的数据量就越大,同时音频质量也就越高。
根据奈奎斯特理论,采样频率只要不低于音频信号最高频率的两倍,就可以无损失地还原原始的声音。
通常人耳能听到频率范围大约在20Hz~20kHz之间的声音,为了保证声音不失真,采样频率应在40kHz以上。常用的音频采样频率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。

(2) 量化精度(位宽)

采样值都需要用一个数值来表示大小,这个数值的数据类型大小可以是:4bit、8bit、16bit、32bit等等,位数越多,表示得就越精细,声音质量自然就越好,当然,数据量也会成倍增大。
常见的位宽是:8bit 或者 16bit

(3) 声道数(channels)

由于音频的采集和播放是可以叠加的,因此,可以同时从多个音频源采集声音,并分别输出到不同的扬声器.
故声道数一般表示声音录制时的音源数量或回放时相应的扬声器数量。

(4) 音频帧(frame)

音频跟视频很不一样,视频每一帧就是一张图像.
音频数据是流式的,本身没有明确的[帧]的概念,
在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的.
我们可以计算一下一帧音频帧的大小:
假设某通道的音频信号是采样率为8kHz,位宽为16bit,20ms一帧,双通道,则一帧音频数据的大小为:int size = 8000 x 16bit x 0.02s x 2 = 5120 bit = 640 byte

视频压缩/编码数据

参考文献 [https://www.zhihu.com/question/20997688]
视频编码
所谓视频编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。视频流传输中最为重要的编解码标准有国际电联的H.261、H.263、H.264,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准,此外在互联网上被广泛应用的还有Real-Networks的RealVideo、微软公司的WMV以及Apple公司的QuickTime等。
常见的编码方式有:
1. H.26X系列 (由ITU[国际电传视讯联盟]主导)
包括 H.261 H.262 H.263 H.264 H.265(HEVC)
H.264: 或称AVC(Advance Video Coding 高级视频编码),是一种视频压缩标准,一种被广泛使用的高精度视频的录制,压缩和发布格式.
H.265: 高效率视频编码(High Efficiency Video Coding,简称HEVC).不仅提升图像质量,同时也能达到H.264两倍之压缩率(等同于同样画面质量下比特率减少了50%),可支持高分辨率.
2. MPEG系列(由ISO[国际标准组织机构]下属的MPEG[运动图像专家组]开发)

视频压缩/编码数据,其实是二进制的比特流文件.

音频压缩/编码数据

参考文献 [http://blog.csdn.net/shuyong1999/article/details/7165568]
常见音频压缩/编码数据有 AAC MP3等

1. AAC

AAC(高级音频编码技术 Advanced Audio Coding),是杜比实验室为音乐提供的技术,最大能容纳48通道的音轨,采样率达96 KHz。
AAC作为一种高压缩比的音频压缩算法,AAC通常压缩比为18:1,也有资料说为20:1,远远超过了AC-3、MP3等较老的音频压缩算法。一般认为,AAC格式在96Kbps码率的表现超过了128Kbps的MP3音频。AAC另一个引人注目的地方就是它的多声道特性,它支持1-48个全音域音轨和15个低频音轨。

2. MP3

MP3全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer Ⅲ),是当今最为流行MP3就是一种音频压缩技术,由于这种压缩方式的全称叫MPEG Audio Layer3,所以人们把它简称为MP3。MP3是利用 MPEG Audio Layer 3 的技术,将音乐以1:10 甚至 1:12 的压缩率,压缩成容量较小的文件。换句话说,能够在音质丢失很小的情况下把文件压缩到更小的程度,而且还可以较好的保持了原来的音质。的一种数字音频编码和有损压缩格式.

音频压缩的不同标准与技术 [http://blog.csdn.net/zsJum/article/details/2196518]

封装格式

参考文献 [http://blog.csdn.net/andyhuabing/article/details/8063298]
常见的封装格式:FLV,MP4,TS等
封装格式和编码的关系,就是和酒与酒瓶的关系差不多,而播放器就是开酒器。
为了可以喝更好的酒,最好先了解酒是什么酒,酒瓶是什么酒瓶,怎么使用开酒器开酒瓶。
码率或者可以比喻做酒的原料。对于同一个酒瓶和做同一种酒的情况下,如果原料太少,又要要求用酒把酒瓶灌满,此时只好兑水了,酒的品质就会变差了。然而,如果原料太多,又会造成原料浪费。所以要做好酒,我们就需要充足的原料。同样道理,压制一个视频,充足的码率是非常需要的。如果码率过高,画质提升不上去的同时还使视频体积过大。如果码率不足,视频容易出各种各样的问题,导致压崩。当然,码率不是画质的唯一指标,压制的时候的各种参数设置,各种滤镜也是非常重要的。如果码率给得足够高,理论上各编码的画质是一样的,不过体积完全不一样。
封装格式就是酒瓶。酒瓶就不影响酒的口感,同样,封装格式一样不影响视频画质。它只负责把内部的视频轨和音频轨集成在一起,只起到一个文件夹(或者压缩包)的作用,并没有对视频轨和音频轨造成影响。

流媒体协议

参考文献 [https://www.cnblogs.com/jiaoxiangjie/p/6736656.html]
[http://blog.csdn.net/lu_embedded/article/details/53123600]
流媒体协议:(RTP、RTCP、RTSP、MMS、HLS、HTTP progressive streaming)

RTP:

实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议
使用RTP协议的应用程序运行在RTP之上,而执行RTP的程序运行在UDP的上层,目的是为了使用UDP的端口号和检查。如下图所示,RTP可以看成是传输层的子层。由多媒体应用程序生成的声音和电视数据块被封装在RTP信息包中,每个RTP信息包被封装在UDP消息段中,然后再封装在IP数据包中。
这里写图片描述

RTCP

实时传输控制协议(Real-time Transport Control Protocol或RTP Control Protocol或简写RTCP)是实时传输协议(RTP)的一个姐妹协议。
RTCP为RTP媒体流提供信道外(out-of-band)控制。RTCP本身并不传输数据,但和RTP一起协作将多媒体数据打包和发送。RTCP定期在多媒体流会话参加者之间传输控制数据。
RTCP的主要功能是为RTP所提供的服务质量(Quality of Service)提供反馈。
RTCP收集相关媒体连接的统计信息,例如:传输字节数,传输分组数,丢失分组数,jitter,单向和双向网络延迟等等,网络应用程序即可利用RTCP的统计信息来控制传输的品质,比如当网络带宽高负载时限制信息流量或改用压缩比较小的编解码器。
这里写图片描述

RTSP

实时流放协议(Real-Time Streaming Protocol,RTSP)是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制
RTSP是应用级的实时流放协议,它主要目标是为单目标广播和多目标广播上的流式多媒体应用提供牢靠的播放性能,以及支持不同厂家提供的客户机和服务机之间的协同工作能力。
在RTSP中,每个演示(Presentation)及其所对应的媒体流都由一个RTSP URL标识。
RTSP中的所有的操作都是通过服务器和客户方的消息应答来完成的
其消息包括请求(Request)和响应(Response)两种,RTSP正是通过服务器和客户端的消息应答来完成媒体流的创建、初始化(SETUP)、VCR(盒式录像机VideoCassetteRecorder)控制(PLAY、PAUSE)以及拆线(TEARDOWN)等操作的。 在基于Client/Server结构的分布式视频点播系统中,RTSP协议的操作过程如图:
这里写图片描述

视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比

参考文献 [http://blog.csdn.net/leixiaohua1020/article/details/11842919]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值