![ffmpeg 转码两次进一步压缩?](https://linux22.com/image/1577667/ffmpeg%20%E8%BD%AC%E7%A0%81%E4%B8%A4%E6%AC%A1%E8%BF%9B%E4%B8%80%E6%AD%A5%E5%8E%8B%E7%BC%A9%EF%BC%9F.png)
我收集了一些 avi 视频(说A)。
我首先将它们转换为 MPEG4 Part2(例如乙) 使用ffmpeg -i ${inname} -vf scale=340:256,setsar=1:1 -q:v 1 -c:v mpeg4 -g 12 -f rawvideo ${outname}
。文件总大小为3.5G。
然后使用乙作为输入,我应用相同的命令进行转码乙再次进入C,大小为3.1G。
我想乙和C格式相同,因此文件大小也应该相同?为什么不相同?如何解决以确保在第二次转码过程中不会丢失信息?
答案1
你的程序如下:
- (来源)A → B (结果)
- (来源)B → C (结果)
有损编码产生的视频与其源不同,因此 B 的帧与 A 的帧不同。这意味着上述过程中的两个源是不同的。
我以为 B 和 C 格式相同,因此文件大小也应该相同?为什么不呢?
因为它们是由不同的源视频制作的。
我该如何解决这个问题以确保第二次转码过程中不会丢失信息?
- 使用无损编码
- 或者不要进行多次转码。