视频基础知识2-视频文件解析和格式说明

举报
Higeeon 发表于 2019/04/17 16:28:55 2019/04/17
【摘要】 前面一章已经介绍了视频的基础概念,接下来会重点说明下大家平时比较困惑的一些概念和问题。 1)封装格式有哪些 2)视频文件可以包含多少路音频流和视频流 3)码率,码流与比特率是什么关系 4)采样率,44.1K与48K的差异是什么 5)为什么要做反交错


    前面一章已经介绍了视频的基础概念,接下来会重点说明下大家平时比较困惑的一些概念。


    先来看一张图,这个是用某个解析工具,将视频的相关信息解析出来的:    

clipboard.png


    从上面可以看到一些常见的比如封装格式,码率等信息。


1.封装格式

    维基上称为多媒体封装格式(Multimedia Container Format,MCF),简称封装格式(也叫容器),就是将已经编码压缩好的视频轨和音频轨按照一定的格式放到一个文件中。当然一个封装格式中可以包括一个音频轨或视频轨,也可以包含多个音频轨和多个视频轨。

举个栗子说,正常情况下,一个视频文件(封装格式),可以只包含一个音频流信息,也可以包含多个音频流信息,同时可以只包含一个视频流信息,也可以包含多个视频流信息。


    之前有碰到过,一个电视直播频道,前一个时刻播放的是A频道的内容,后一个时刻播放的是B频道的内容。最开始以为视频在转码过程中出现了异常,后来才发现是视频源中包含了两个音频流信息和两个视频流信息。在播放A频道内容时,两组信息都存在;当播放B频道内容的时候只有一组信息存在。


    虽然有些人会针对视频和音频组合在一起的封装格式叫视频封装格式,而只有音频的封装格式叫音频封装格式,但是目前有些人也会将封装格式就直接叫成“视频封装格式”。了解了封装格式的定义和内容介绍,接下来再举例有哪些封装格式(视频封装格式):

image.png


    这里需要注意的是,有些封装格式由于限制比较多,只能支持某个或某些特定格式的视频编码格式和音频编码格式;而其他的一些封装格式能够支持的范围就比较广,也正是因为各种原因,导致不同的封装格式的占比在不断地变化中。总体来说,支持范围广,耗资源低的视频封装格式将受到更多青睐,也会在后续的市场中占有很大的比例。


2.视频编码格式和音频编码格式

    从上图中可以看到在Video和Audio类别中各有一个Format,分别指的是视频编码格式和音频编码格式。当解析的视频文件中有多个音频和视频流,则解析出来后将会看到多个。理论上一个视频文件,其可以包含多个不同类型的视频流,也可以包含多个不同格式的音频流。


    网路上如果搜索“视频编码格式”和“音频编码格式”会有很多格式的说明。但这都是从视频编解码器和音频编解码器衍生过来的说法(或者也可以叫不同的定义说明),像上图解析出来的音频编码格式和视频编码格式,内容都是**codec,就是编解码器的意思。不过,为了减少更多的误解,这里也采用国内常用的“视频编码格式”和“音频编码格式”的说法,常见的视频编码格式有h264,h265等,而常见的音频编码格式有aac等。


    当然,眼尖的人会发现,从上图中标注“视频编码格式”,其format为“Advanced Video Codec”,与提到的视频编码格式貌似差异有点大。在后续的视频和音频编码格式介绍内容中,再解开谜题。


3.分辨率

    在上图中可以看到由分辨率宽和高即组成了分辨率。关于分辨率还有显示分辨率和图像分辨率之说。显示分辨率主要指比如在计算机屏幕上的最大的显示区域,以水平和垂直的像素来表示,比如640x480;图像分辨率主要指图像本身的信息量,是单位英寸中所含有的像素点,文件的大小与其图像分辨率的平方成正比(像素=分辨率宽*高)。后面所说的分辨率都主要指图像分辨率。


    将上面两个概念稍微提下,主要一个是针对视频的分辨率信息,而另外一个一般是在视频的播放载体,比如电视等经常会提到。这里只简要说明,如果有兴趣的人,可以搜索显示分辨率、图像分辨率,或者类似打印分辨率等,深入了解他们的区别。


4.码率

    音频或视频在单位时间内的数据传输率,叫码流或码率,也有叫比特率的,单位是kbps。了解电信领域的人,对于比特率肯定不陌生,同样地,在视频领域中,这个值也相当于带宽消耗量或吞吐量,也就表征了视频文件一定的信息量,这页能很直观的意识到,在分辨率相同的情况下,码率越大,视频文件越大。


    提几个有意思的问题,如果一个源视频原来是x码率,然后经过重新编码,其他数据不变的情况下,设定其码率为2x,请问:

    1)输出文件会变大?

    2)如果有变化,会有多大的变化?原因是什么?

    3)这种处理有没有什么应用场景?

    感兴趣的,可自己验证下^_^


    另外,从上图中可以看到,关于码率的,还有bit rate mode、bit rate、maximum bit rate,同时还有音频和视频的码率之分,由于内容很多,尤其涉及到bit rate mode的选择,以及何种分辨率需要配合什么样的bit rate是最佳的,篇幅略多,这里就不深入讨论,后面再更深入说明。


5.帧率

    FPS(frames per second),指1s刷新或移动的图片帧数。帧率越大,视频越流畅;反之,小到一定程度,画面将有跳动感。目前很多视频主要都在25帧左右,因为在这个数值,人眼就已经较难察觉图像不连续。


    目前有些视频的帧率会较高,比如在30,60等,但是越高帧率的视频,在播放时可能会存在一定的问题,软解上会消耗一定的资源,但一般也能正常播放;但如果针对某些硬件,其采用硬解,就可能存在问题。之前就碰到过某个品牌某个型号的电视,最高支持的帧率是50,而当时视频有60,就导致了声音画面不同步。


    关于视频的播放(底层播放器),后面再找个时间细说下吧~


6.采样率

    从上图中也可以看到,采样率主要在音频中说明,那就可以知道这个对于对于音频的重要性了。

    两个常用的采样率:

    • 44 100 Hz(44.1K) - 主要应用于音频CDMPEG-1音频(VCDSVCDMP3),标准制定于1970s。(这里插一句,模拟音频采样率就是44.1K)

    • 48 000 Hz(48K) - miniDV、DVDDAT、电影和专业音频所用的数字声音

    很多人都会说哪个好,网路上也各有说法,我给出的说法是it depend ,就看是要在什么场景。对于人耳来说,这两者的听觉质量差异很小了,那他们的主要差异是在视频同步和帧速率。视频文件中,都是以48KHZ来进行音频和视频帧同步,市场上的很多摄像机,其采样率也是48K。


7.扫描方式

    扫描方式主要是指图像在显示器上的运动显示方法,其包括逐行扫描(也叫非隔行扫描),隔行扫描。

    1)隔行扫描,Interlaced,也叫交错方式,如果有些电视或者解码器设备没有做相应的处理,视频播放过程中将产生花屏现象。因此,在水平应用场景,由于适配的电视和显示器端多种多样,为了正常播放,就需要视频进行反交错处理(deinterlace),重新编码输出。

    2)逐行扫描,Progressive。在当前的很多电视机中,也有将隔行扫描转化为逐行扫描。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。