首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如果以相同的比特率连续两次进行ffmpeg编码,会发生什么情况?

如果以相同的比特率连续两次进行ffmpeg编码,会发生什么情况?
EN

Stack Overflow用户
提问于 2019-06-04 04:06:56
回答 1查看 41关注 0票数 -1

我有一个原始的divx视频(3500k),我将其编码为mp4容器中的h.264。例如,我选择用1000k对其进行编码,以便质量保持与原始质量接近。如果我用相同的比特率再编码一次,会发生什么?理论上,质量应该保持不变吗?

代码语言:javascript
复制
ffmpeg -i A.divx -an -vcodec h264  -b:v 100k A.mp4
EN

回答 1

Stack Overflow用户

发布于 2019-06-04 05:12:08

质量不会一成不变

使用有损编码器重新编码将降低每次的质量。这称为generation loss

生成损失是指数据的后续拷贝或转码之间的质量损失。在复制时降低表示的质量,并且在制作副本时会导致质量进一步降低的任何东西,都可以被认为是一种生成损失的形式。文件大小增加是生成损失的常见结果,因为引入工件实际上可能会在每一代中增加数据的熵。

ffmpeg将输入完全解码为原始视频和PCM音频,无论输入格式如何:

代码语言:javascript
复制
 _______              ______________
|       |            |              |
| input |  demuxer   | encoded data |   decoder
| file  | ---------> | packets      | -----+
|_______|            |______________|      |
                                           v
                                       _________
                                      |         |
                                      | decoded |
                                      | frames  |
                                      |_________|
 ________             ______________       |
|        |           |              |      |
| output | <-------- | encoded data | <----+
| file   |   muxer   | packets      |   encoder
|________|           |______________|

然后,它对原始视频进行编码,其中包括来自先前编码迭代的破坏性压缩伪像。质量不会保持不变,因为两代人本质上是完全不同的视频。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56433887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档