当我们看视频时,我们看些什么:视频转码浅探

129 阅读8分钟

哪些参数会影响播放体验

视频是由一段连续播放的图片组成的。

  • 分辨率指的是图像的长宽像素大小,分辨率也有720、1080、2K、4K的说法。在16:9的播放下,1080p就是长乘宽为1920*1080个像素点。

  • dpi(dot per inch)是每英寸的像素多少。 但是dpi 实际上并不是视频的一个参数,dpi理论上取决于显示设备和视频分辨率参数。至于多少dpi是清晰的,往往是根据实际场景决定的,毕竟观看距离也起了决定性的因素,如海报等印刷品就要求300dpi。

  • 色彩模型一般是RGB、YUV ,是像素点记录色彩数据的方式。 不同色彩空间模型决定色彩的丰富程度,当然也决定着每个像素的数据量大小

  • 帧率就是一秒的视频帧数,单位是fps,可以简单地理解为一秒切换的图片数量。一般认为,一秒18帧以上才能看起来是流畅的。但是这需要根据实际场景而定,电影一般是一秒24帧,游戏需要一秒30帧以上才是流畅的。

一部100分钟,4K,60fps的电影的体积是多大呢?20MB6060100 = 11660GB!!

为什么需要转码

视频转码(Video Transcoding)是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码、再编码的过程,因此转换前后的码流可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。

  • 码率:播放的视频文件大小/视频文件播放时长(单位Kbps)来衡量视频播放成本。

转码的关键参数

  1. 编码格式(Codec)

    1.   视频编码方式是指能够对数字视频进行压缩或解压缩(视频解码)的程序或者设备,通常这种压缩属于有损数据压缩。常见的编码方式有:
    2. H.26X系列:由ITU(国际电信联盟)主导,包括H.261、H.262、H.263、H.264、H.265。
    3. MPEG系列:由ISO(国际标准组织机构)下属的MPEG(运动图像专家组)主导,视频编码方面主要有MPEG-1第二部分、MPEG-2第二部分、MPEG-4第二部分、MPEG-4第十部分
    4. AVS(Audio Video coding Standard):我国自主知识产权的信源编码标准,是《信息技术先进音视频编码》系列标准的简称,目前已完成两代AVS标准的制定。
    5.   编码格式决定的是音视频文件的音视频文件的压缩方式与算法。
    6.   问题:为什么同一个视频有的浏览器能播有的播不了?
  2. 封装格式(Format)

    1.   也称多媒体容器(Multimedia Container),是将已编码压缩好的视频轨道、音频轨道和元数据(视频基本信息如标题、字幕等)按照一定的格式规范,打包放到一个文件中,形成特定文件格式的视频文件。

    2.   封装格式主要分为两大类:面向存储的和面向流媒体的。

    3. 面向存储的,常见的有AVI、ASF(WMA/WMV)、MP4、MKV、RMVB(RM/RA)等;

    4. 面向流媒体的,常见的有FLV、TS(需要配合流媒体网络传输协议,如HLS、RTMP等),MP4也支持流媒体方式(配合HTTP等)。

    5.   封装格式决定的是视频文件的格式、音视频数据块的大小等信息。

播放的工作流程

转码的工作流程

其实就是在解封装和解码后对每一帧的图像进行处理,如改变分辨率采样率等,之后再重新编码、封装即可。

如何降低码率?

帧内压缩(空间压缩)

  • I帧(Intra picture)

I 是能独立播放的,是完整的视频帧

I 是数据量最大的,一般会出现在画面突变的位置,所以一些视频识别软件会优先处理I帧图像,这样有利于快速处理。

  1. 降分辨率、降低色彩丰富程度

    1. 一般来说,网络视频、图片都会采用YUV420这种数据量较少的色彩空间模型,虽然色彩存在一定程度的失真,但是数据量较少,以至于文件不会太大。
  2. 去除画面中人眼观察不到的细节(图片压缩:DCT变换:低频域+高频域)

帧间压缩(时间压缩)

  • P帧(Predictive Picture)

P 是需要根据前一个I帧或P帧计算所得。

  • B帧(Bidirectionally predicted picture)

B 是需要根据前一个和后一个I帧或P帧计算所得。

B 虽然是数据量最小的,但是它需要后一个帧数据才能计算出来,所以在直播流等场景下,一般是不生成B帧的,这样有利于直播的流畅。

  • GOP(Group of Pictures)

另外,还有一个对于直播流等流媒体来说非常重要的概念gop,gop指的是一组完整的视频帧 。

如gop设置为25,那么编码器会让每25帧的第一帧必定为I帧,如果帧率也是25帧,那每秒的第一帧就必定是I帧。

这样做的好处是,直播流出现画面花掉的概率会降低,信号中断重连后,直播流也能更快地重新播放,因为P帧、B帧实际上都需要依赖I帧才能计算出来,一般对于直播流而言,gop 一般设置为 帧率 的1-2倍。

  1. 动画(背景+人物)划分宏块+运动矢量预测(不动的保留,动的加方向和距离的矢量)

问题:为什么会出现花屏或者卡顿?

H.264 vs H.265

h264是目前的移动端、浏览器之王,h265是客厅之王

h265相比于h264:宏块划分&运动预测的进步

问题:电影院《银河护卫队3》用哪种编码格式?

我们如何降低转码成本

算法升级

转码算法种类、版本都会影响到转码的效率,进一步影响到转码成本。优秀的转码算法:

  1. 显著减低计算资源消耗,直接减少转码成本
  2. 降低视频的播放码率,降低CDN带宽成本

内容自适应编码可将您的 CDN 成本显著降低 50%

二次编码是什么意思?二次编码有什么用

一入多出

如果仅仅是MP4转成FLV等封装格式,而不改变分辨率、编码格式等条件的话,可以解封装后直接封装,而不需要再重新编解码,因为不需要再重新处理图像等数据,这样做会非常快。

  • 处理速度极快。音视频编解码过程十分复杂,占据了转码的绝大部分时间。转封装不需要进行编码和解码,节约了大量的处理时间与计算成本。
  • 音视频质量无损。没有解码(解压缩)和编码(压缩)过程,所以不会有音视频的压缩损伤。

储备知识:MP4和FLV的封装差异

热度预测

通过热度预测算法,发现可能的头部视频,并对这些头部热度视频进行特定的转码优化,那么就可以以极少的转码成本覆盖线上绝大多数播放,从而提高用户的播放体验。下图以H.265的转码优化为例,描述了H.265播放预期的播放渗透与现状。

档位降级

一个视频源文件在上传后会被转码成为不同清晰度、编码格式、水印类型等不同档位视频文件,由于播放策略、网络环境、用户喜好等原因,各档位视频的播放覆盖率存在差异。

相比于视频源文件在上传后立刻转出各种档位的视频文件,在资源更宽裕的时间进行延迟转码会极大地降低转码成本。通过分析筛选出转码文件里低频播放的档位,并将这些档位的转码从实时转码迁移到延迟转码,是降低转码成本的有力手段。

What's new

视频编码的未来 | APSIPA TSIP 2022

视频压缩足够好了吗?

AV1编码

参考文档

视频格式、视频编码、视频转码等基本概念_视频点播-阿里云帮助中心

「音视频处理」码率、帧率越高越清晰?分辨率、像素、dpi的关系

baijiahao.baidu.com/s?id=175707…

Image Compression and the Discrete Cosine Transform

What is Transcoding? And Why is it Important for Video Streaming?

What Is Transcoding And Transcoding Work

The State of Video Codecs 2022

H.265编码是什么意思(H.265视频编码技术)

I帧、P帧、B帧、GOP、IDR 和PTS, DTS之间的关系

1080P 屏幕的手机看 4K 视频也会更清晰,是真的咩?