音视频基础

以下内容为整理的学习笔记,出自雷神:基于 FFmpeg + SDL 的视频播放器的制作

视频播放器原理

播放一个视频文件的流程:

封装格式

MP4,RMVB, TS, FLV, AVT

封装格式的作用

视频码流和音频码流按照一定的格式存储在一个文件中

封装格式分析工具: Elecard Format Analyzer

常见的封装格式

名称推出机构目前使用领域
AVIMicrosoft Inc.BT下载影视
MP4MPEG互联网视频网站
TSMPEGIPTV,数字电视
FLVAdobe Inc.互联网视频网站
MKVCoreCodec Inc.互联网视频网站
RMVBReal Networks Inc.BT下载影视

MPEG2-TS格式简介:

不包含文件头。数据大小固定(188字节)的TS Packet构成

FLV格式简介

包含文件头。数据由大小不固定的Tag构成。

视频编码数据

视频编码的作用

将视频像素数据(RGB,YUV等)压缩称为视频码流,从而降低视频的数据量

视频编码分析工具: Elecard Stream Eye

常见的视频编码数据

名称推出机构推出时间目前使用领域
HEVC(H.265)MPEG/ITU-T2013研发中
H.264MPEG/ITU-T2003各个领域
MPEG4MPEG2001不温不火
MPEG2MPEG1994数字电视
VP9Google2013研发中
VP8Google2008不普及
VC-1Microsoft Inc.2006微软平台

H.264格式简介

数据由大小不固定的NALU构成,最常见的情况下,1个NALU存储了1帧画面的压缩编码后的数据

H.264压缩方法

比较复杂,包含了帧内预测、帧间预测、熵编码、环路滤波等环节构成。可以将图像数据压缩100倍以上

音频编码数据

音频编码的作用

将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量

常见音频编码数据

名称推出机构推出时间目前使用领域
ACCMPEG1997各个领域(新)
AC-3Dolby Inc.1992电影
MP3MPEG1993各个领域(旧)
WMAMicrosoft Inc.1999微软平台

AAC格式简介

数据由大小不固定的ADTS构成

视频像素数据

视频像素数据作用:

保存了屏幕上每个像素点的像素值。

格式:

常见的像素数据格式有RGB24, RGB32, YUV420P,YUV422P,YUV444P等。

压缩编码中一般使用的是YUV格式的像素数据,最为常见的格式为YUV420P。

特点:

视频像素数据体积很大,一般情况下1小时高清视频的RGB24格式的数据体积为:
3600 × 25 × 1920 × 1080 × 3 = 559.9 G 3600\times25\times1920\times1080\times3=559.9G 3600×25×1920×1080×3=559.9G
这里假定帧率为25Hz,取样精度8bit。

YUV格式像素数据查看工具: YUV Player

RGB格式简介:

1、Red、Green、Blue三种颜色,可以混合成世界上所有的颜色。
2、彩色图像中每个点,由R、G、B三个分量组成。
3、以RGB24为例,图像像素数据的存储方式如下:

从图中可以看出,RGB24依次存储了每个像素点的R、G、B信息。其中BMP文件中存储的就是RGB格式的像素数据。

YUV格式简介

相关实验表明,人眼对亮度敏感而对色度不敏感。因而可以将亮度信息和色度信息分离,并对色度信息采用更“狠”一点的压缩方案,从而提高压缩效率。

YUV格式中,Y只包含亮度信息,而UV只包含色度信息
以YUV420P为例,图像像素数据的存储方式如图所示。从图中可以看出,YUV420P首先存储了整张图像的Y信息,然后存储整张图像的U信息,最后存储了整张图像的V信息。

音频采样数据

音频采样数据作用:

保存了音频中每个采样点的值。

特点:

音频采样数据体积很大,一般情况下一首4分钟的PCM格式的歌曲体积为:
4 ∗ 60 ∗ 44100 ∗ 2 ∗ 2 = 42.3 M B 4*60*44100*2*2=42.3MB 4604410022=42.3MB
这里假定采样率为44100Hz,采样精度为16bit。
音频采样数据查看工具:Adobe Audition

PCM格式简介

单声道的情况下按照顺序存储每个采样点的数据。
双声道的情况下按照“左右、左右”的顺序存储每个采样点两个声道的数据

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值