dbeaver 设置编码_编码拓展——封装、编码、码率

ac4f7db4020640c85366d6096869ed52.png

有小伙伴想要更多知道编码封装这一块

那就继续写写吧

  • 什么是封装?什么是编码

不知道大家有没有试过 “明明都是 mp4,为什么这个能够导入剪辑软件,那个则不能?”的情况。

ok,下面我们来讲讲为什么会出现这种情况

封装格式(Format)

是媒体文件的容器,即媒体文件的后缀。

常见封装有 mp4 mov mkv 等等~

这些封装格式可以装入各种各样编码的 视频文件 和 音频文件 。

比如同样是 mov 的封装 既可以装入 H.264 编码的视频 也可以装入 ProRes 编码的视频。

而出现

“明明都是 mp4,为什么这个能够导入剪辑软件,那个则不能?”

这种情况的话,很有可能就是无法导入的 mp4 媒体文件内的编码不被剪辑软件支持。

在后期制作中 常用的封装格式有 mov mp4 xmf

编码

在上次我们已经讲过在后期制作流程中常用的用的各种编码(详情请戳下方链接)

半缘修道:剪辑流程——编码​zhuanlan.zhihu.com
aaaa2113c9df412e065be3915e7ee8a9.png

常见编码有 H.264 MPEG ProRes

编码又分为 帧内压缩帧间压缩

这个在上面的链接里粗略解释过,现在再稍微详解一下

帧间压缩

就以 H.264 举例 ,H.264 代表了目前人类最高科技成果之一

(小老弟 H.265 都开始推广普及了

还好意思说自己是最高科技成果之一,表脸~(///▽///))

H.264 编码主要由三种帧构成 I B P

下图为 I B P 排列模式

d4a511a886fb19d774385339524628f8.png

I 帧

只进行自我压缩

计算过程中不涉及其他帧。

B 帧

双向预测帧

记录自身与前后两帧的差别。

P 帧

单向预测帧

记录自身与前一帧的差别

需要注意的是

在压缩后的编码中

B 帧与 P 帧 记录的都是 差别 ,而不是画面

只有 I 帧 才是画面

通过 I 帧 的画面 以及这些 差别 一同计算

才能得到 B P 帧 的画面。

其中,B 帧对压缩贡献最大,P 帧其次,I 帧最小。

虽然 B P 帧 的压缩比较大,可以极大的减小文件体积

但是频繁使用预测帧会导致画面质量降低 甚至是出错。

比如

有一种 IPPPPPP 的排列模式 如下图

1f1db66fed7dad14dcaf2540ad37f609.png

这种排列模式的解码过程大概如下所述:

第一帧:--------------------

I 帧 ,帧内压缩,直接解压就可以得到 第一帧的画面。

第二帧:--------------------

P 帧,因为 P 帧 是一个预测帧

需要通过

前一帧(即 I 帧)的画面

以及

记录的自身与前一帧的差别

计算出 自身的画面

至此,画质损失一点

第三帧:--------------------

P 帧,也是通过

前一帧 (P帧)的画面

以及

记录的自身与前一帧的差别

计算出第三帧的画面。

至此,基于前面画质损失的基础上,画质再损失一点。

咱们不可能一直让他像滚雪球一样,不停的使用预测帧,不停的损失画质

所以要每隔几个预测帧,就加入一个 I 帧 来提供完整的画面

把损失画质的迭代打断。

帧内压缩

而帧内压缩编码 则 全是 I 帧

计算速度快 画质高。

但是也因此体积大。

我们使用的编辑编码都是帧内压缩。

  • 封装格式与编码的作用

编码的作用

在一个媒体文件中编码负责压缩音视频。

解码后是一组图片序列。

封装格式的作用

就是负责告诉播放器

这个媒体文件的帧速率是多少

以及负责音视频同步等任务。

  • 码率 也叫 比特率(Bitrate)

即每秒传输的比特数,就是平均每一秒中,这个视频的大小

在讲这个之前,首先要搞清楚一个概念

1 byte(字节,缩写为 B)

等于

8 bit (比特,缩写为 b)

而我们平时说的 “这个文件 XXX MB”

就是 mega byte ,是指 字节。

而在 Premiere 中,渲染导出的时候 调节比特率的单位是

Mbps = Million bit per second (兆比特每秒,Mbps 中,b 是 小写,是 bit)

而 1 byte = 8 bit ,我们来算一下看看是不是这么回事哦~

如下图,这个片子有 15秒,比特率是 10 Mbps ,预计输出大小是 19M

e83b424c3895f0bca2f4bf040b9e5d98.png

15(秒)* 10 Mbps = 150 Mb

150 Mb / 8 = 18.75 MB ≈ 19MB

对吧?

H.264 有三种编码模式 CBR VBR VCBR

CBR(Constant bit rate)

固定比特率的算法

图像静止的时候 质量好

图像运动强的时候 很容易出现比特率跟不上图像变化的情况,导致图像质量差

VBR(Variable bit rate)

动态比特率的算法

图像简单时,比特率降低

图像复杂时,比特率升高

如此一来,既节省空间,又保证质量

VCBR(Constrained variable bit rate)

集前两者的优点

在图像静止的时候可以低、且固定的码率

图像复杂时候,比特率升高

相比 VBR,同样的质量更加节省空间,又或者同样的大小更加高质量

需要注意的是

在渲染 H.264 的时候 软件只认比特率 不认分辨率

也就说

软件不会因为你分辨率的提高,而自动给你提高比特率

需要你自己根据 分辨率 以及 画质需求 来提高 比特率

4K 的画面如果比特率过低的话 画质会反而不如 720p 高码率的画面

0d9c8f5249558983395ad6e439183063.png
4K 低码率

36e5b3901a89697dfc69204ef909eb74.png
720p 高码率

在 Premiere 里 渲染的时候 一般都使用 VBR 的编码模式

不过设备允许的话,我们可以进行二次编码

它有点像 VCBR 的编码模式

它的比特率设置中有个 Maximum Bitrate(最大比特率) 的控制项 如下图

7bf8be5fc8bd9041a0eacda27bf43a81.png

渲染的时候,软件会把码率控制在 Target Bitrate(目标比特率)

当画面复杂度增加,软件会提高码率,但又不超过 Maximum Bitrate(最大比特率) 如下图

41068c06f9a74ed47c976b66d2c054ca.gif

这样的编码模式是十分理想的,既控制了画质,又控制了文件体积。

色度采样什么的下次再写吧。。。

2019-03-09

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值