iOS-FFmpeg学习笔记(二)

视频播放器原理

视频播放原理.jpg

视频播放器播放一个网上文件主要进过以下几个流程:

  • 解协议
  • 封装格式数据
  • 解封装
  • 视/音频压缩数据
  • 视/音频解码
  • 得到视/音频原始数据
  • 视音频同步
  • 将视频音频数据送至系统的显卡和声卡播放出来

解协议

解协议的作用就是将流媒体协议的数据,解析为标准的相应的封装数据格式。视音频在网络上传播的时候,常常采用各种流媒体协议,比如:HTTP、RTMP、MMS等等;这些协议在传输音视频的同时,也会传输一些信令数据,这些信令数据包括对播放的控制(播放、暂停、停止),或者对网络状态的描述;解协议过程中会去掉这些信令数据而只保留音视频数据;例如:采用RTMP协议传输的数据,经过解协议操作后,封装成FLV数据的格式。

解封装

解封装的作用就是将输入的封装格式数据,分离成音频压缩编码数据和视频压缩编码数据。封装格式种类有很多种,例如:MP4、MKV、RMVB、TS、FLV、AVI等等,他的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起,例如:将FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。

解码

解码的作用就是将音频/视频压缩编码数据,解码为非压缩的视频/音频原始数据。音频的压缩编码标准包括AAC、MP3、AC-3等等;视频的压缩编码标准包括H.264、MPEG2、VC-1等等。解码是整个系统中最重要也是最复杂的一个环节;通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如:YUV420P、RGB等等;压缩编码的音频数据,输出为非压缩的音频抽样数据,例如PCM数据。

音视频同步

音视频同步作用,就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的音频、视频数据,并将音视频数据送至系统的声卡和显卡播放出来。

流媒体协议

C29C8FEF-547E-4E0E-B7AF-4D0F7BB4DB44.png
  • 互联网视频服务通常采用TCP作为其流媒体的传输层协议,因而像RTMP,MMS,HTTP这类的协议广泛用 于互联网视音频服务之中;这类协议不会发生丢包,因而保证了视频的质量,但是传输的效率会相对低一些。

封装格式

封装格式.png
  • 值得注意除了AVI不支持流媒体外,不支持音视频编码,其他的格式都是支持,即可以实现边下载边播放的功能。

视频编码

视频编码的作用主要是将视频像素数据(RGB、YUV等)压缩成视频码流,从而降低视频的数据量。
如果视频不经过压缩编码的话,体积通常是非常大的,一部电影可能就要上百G的空间;视频编码是视音频技术中最重要的技术之一;视频码流的数据量占了视音频总数据量的绝大部分;高效率的视频编码在同等的码率下,可以获得更高的视频质量。

  • 注:视频编码技术是整个音视频技术中最复杂的一个技术,如果没有基础的话,可以先买一些书看一下原理,比如说《现代电视原理》《数字电视广播原理与应用》。
视频编码.jpg

主流编码标准

  • H.264仅仅是一个编码标准,而不是一个具体的编码器,H.264只是给编码器的实现提供参照。
    在学习视频编码的时候,可能会用到各种编码器(实际上就是一个exe文件),他们常用的编码命令可以参 考:各种视频编码器的命令行格式

  • 学习H.264最标准的源代码,就是其官方标准JM了。但是要注意,JM速度非常的慢,是无法用于实际的:H.264参考软件JM12.2RC代码详细流程
    实际中使用最多的就是x264了,性能强悍(超过了很多商业编码器),而且开源。其基本教程网上极多,不再赘述。编码时候可参考:x264编码指南——码率控制。编码后统计值的含义:X264输出的统计值的含义(X264 Stats Output)
    Google推出的VP8属于和H.264同一时代的标准。总体而言,VP8比H.264要稍微差一点。有一篇写的很好的VP8的介绍文章:深入了解 VP8。除了在技术领域,VP8和H.264在专利等方面也是打的不可开交,可参考文章:WebM(VP8) vs H.264
    此外,我国还推出了自己的国产标准AVS,性能也不错,但目前比H.264还是要稍微逊色一点。不过感觉我国在视频编解码领域还算比较先进的,可参考:视频编码国家标准AVS与H.264的比较(节选)
    近期又推出了AVS新一代的版本AVS+,具体的性能测试还没看过。不过据说AVS+得到了国家政策上非常强力的支持。

  • 继H.264和VP8之后又推出新一代编码标准HEVC和VP9。

音频编码

  • 音频编码的作用是将音频采样数据压缩成音频码流,从而降低音频的数据量。音频编码也是互联网视音频技 术中一个重要的技术;但是一般情况下音频的数据量要远小于视频的数据量,因而即使使用稍微落后的音频编码标准,而导致音频数据量有所增加,也不会对视音频的总数据量产生太大的影响;高效率的音频编码在同等的码率下,可以获得更高的音质。
音频编码.jpg

现有网络视音频平台对比

  • 现有的网络视音频服务主要包括两种方式:点播和直播。点播意即根据用户的需要播放相应的视频节目,这是互联网视音频服务最主要的方式。绝大部分视频网站都提供了点播服务。直播意即互联网视音频平台直接将视频内容实时发送给用户,目前还处于发展阶段。直播在网络电视台,社交视频网站较为常见。

直播平台参数对比

直播平台参数.jpg
  • 可以看出,直播服务普遍采用了RTMP作为流媒体协议,FLV作为封装格式,H.264作为视频编码格式,AAC作为音频编码格式。采用RTMP作为直播协议的好处在于其被Flash播放器支持。而Flash播放器如今已经安装在全球99%的电脑上,并且与浏览器结合的很好。因此这种流媒体直播平台可以实现“无插件直播”,极大的简化了客户端的操作。封装格式,视频编码,音频编码方面,无一例外的使用了FLV + H.264 + AAC的组合。FLV是RTMP使用的封装格式,H.264是当今实际应用中编码效率最高的视频编码标准,AAC则是当今实际应用中编码效率最高的音频编码标准。视频播放器方面,都使用了Flash播放器。(H.265和VP9不做讨论)

点播平台参数对比

点播平台参数.jpg
  • 可以看出,点播服务普遍采用了HTTP作为流媒体协议,H.264作为视频编码格式,AAC作为音频编码格式。采用HTTP作为点播协议有以下两点优势:一方面,HTTP是基于TCP协议的应用层协议,媒体传输过程中不会出现丢包等现象,从而保证了视频的质量;另一方面,HTTP被绝大部分的Web服务器支持,因而流媒体服务机构不必投资购买额外的流媒体服务器,从而节约了开支。点播服务采用的封装格式有多种:MP4,FLV,F4V等,它们之间的区别不是很大。视频编码标准和音频编码标准是H.264和AAC。这两种标准分别是当今实际应用中编码效率最高的视频标准和音频标准。视频播放器方面,无一例外的都使用了Flash播放器。(H.265和VP9不做讨论)

以上就是视频播放器原理以及你需要了解哪些知识。

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

推荐阅读更多精彩内容