音视频开发之旅(30) -音视频基础知识

目录

  1. 视频播放器原理
  2. 音频编码基础知识
  3. 视频编码基础知识
  4. 资料
  5. 收获

从这篇开始我们进入ffmpeg系列的学习实践,作为开篇,我们先来了解下音视频相关的基础知识。

一、视频播放器原理

图片来源:[基于FFmpeg+SDL的视频播放器的制作——雷霄骅]

雷神的这张图很清晰的说明了视频播放的流程:
解封装—》音/视频解压缩—》音视频编码—》音视频裸数据PCM和YUV —》音视频同步处—》音频播放、视频渲染

二、音频的基本知识

对声音将模拟信号转为数字信号,要经过三个步骤:采样、量化、编码

人耳能够听到的声音的频率范围时20Hz~20KHz。根据奈奎斯特采样原理,按比声音最高频率高2倍以上的频率对声音进行采样,所以采样率一般时44100Hz(略大于20KHz x 2),即1秒采用44100次。

采样后的数据用二进制信号来表示,一般有8比特、16比特和32比特等。

音频的裸数据格式时脉冲编码调制数据(PCM:Pulse Code Modulation)
描述pcm需要量化格式、采样率以及声道数
我们以常见的值为例来算下对应的比特率和存储空间大小。
量化格式为16比特(2个字节)、采样率为44100HZ、声道数为2,
则对应的比特率= 2x44100x2 x8/1024= 1378kbps
如果是4分钟的音频,对应的文件大小为
1378x60x4/8/1024 = 40MB

这个还是比较大的,为了减少存储空间和传输的流量,需要进行压缩编码,常见压缩编码有mp3、aac、wav等编码方式。其中wav是再pcm的基础上添加44个子节的头,属于无损压缩、而mp3和aac属于有损压缩,特别是aac压缩率更大些,一般用于地狱128Kbit/s以下的音频编码。

音频采样数据的可以通过Adboe Audition来查看


可以看到我们看到的音频频谱信号,放大后及时一个个采样值。

三、 视频的基本知识

3.1 RGB和YUV

视频是由一幅幅图像组成的,图像可以由RGB组成。对于1080x1920的像素的手机而言,一张rgba8888的图像占用的内存空间大小是
1080x1920x4 = 7M。
如果是RGB565的方式对应的占用内存是
1080x1920x2 = 3.5M
这也是一张bitmap在内存中在用的大小,由此可见一张图的裸数据是比较大的。图像的压缩常见的有JPEG、PNG。其中JPEG的压缩率能够达到7倍。

但是这种压缩不能直接应用于视频压缩,因为对于视频而言,不仅仅要考虑帧内编码,还要考虑帧间编码,对于视频裸数据,更多的是使用YUV来表示,相比RGB最大的优点是占用极少的频宽(eg yuv420p使用一个字节表示)

YUV,之前的黑白电视只有Y没有UV,YUV彩色模式也兼容了之前的黑白模式。其中Y是是指亮度、UV是色调、饱和度,分别用用Cr和Cb来表示色调和饱和度,其中Cr反应的是输入信号的红色信号与RGB信号亮度之间的差异。Cb反应的是输入信号的蓝色信号与RGB信号亮度之间的差异。

查看视频文件的常用工具有mp4info可以很直观的查看,mp4格式的结构


Elecard StreamEye 在分析视频编码数据
可以很方便的查看IPB帧的信息。

H264Visa可以查看对应每一帧图片的YUV数据


当然ffmpeg提供的ffprobe也是非常强大,可用于视频和音频数据的分析,这块我们下一篇在学习时间ffmpeg常用命令时再一起介绍。

3.2 封装格式

封装格式的作用是将视频码流和音频码流按照一定的格式存储在一个文件(容器)中。
常见的视频封装格式有MP4、MOV、AVI、TS等。
可以通过Elecard Format Analyzer或者ffprobe分析。

3.3 IPB帧、GOP、DTS、PTS

I帧即关键帧,可以看作一个图像经过压缩后的产物,压缩比和JPEG差不多,I帧的压缩可以去掉空间的冗余信息
P帧是向前预测编码帧,压缩比可以达到20:1
B帧是双向预测编码帧,即考虑源图像前面的已编码帧,也要考虑图像序列后面的已编码帧之间的冗余信息,压缩比可以达到50:1

GOP是两个I帧之间形成的一组图片(Group Of Picture)、通过设置gop_size可以指定两个I帧之间的帧数目

DTS(Decoding Time Stamp)是用于视频的解码,PTS(Presentation Time Stamp)用于解码阶段音视频的同步和输出。在没有B帧的情况下DTS和PTS是一致的。

四、资料

《音视频开发进阶指南》
基于FFmpeg+SDL的视频播放器的制作——雷霄骅

五、收获

  1. 了解视频播放的原理和流程
  2. 了解音频相关的基本知识 采样、量化、编码、压缩
  3. 了解视频相关的基本知识 裸数据RGB和YUV表示、IPB、GOP、DTS、PTS等

感谢你的阅读

下一篇我们学习实践ffmpeg的常用命令,欢迎关注公众号“音视频开发之旅”,一起学习成长。

欢迎交流

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,542评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,822评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,912评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,449评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,500评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,370评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,193评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,074评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,505评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,722评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,841评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,569评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,168评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,783评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,918评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,962评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,781评论 2 354

推荐阅读更多精彩内容