使用标准库在python中压缩视频文件



有没有一种方法可以用python的标准库有效地压缩视频文件?我写了一个快速脚本来实现这一点,但它几乎没有压缩视频文件。看看:

import sys
import zlib
with open('Some_Video.mp4', 'rb') as f:
original_data = f.read()
original_size = sys.getsizeof(original_data)
compress_data = zlib.compress(original_data, level=5)
compressed_size = sys.getsizeof(compress_data)
print(original_size)
print(compressed_size)

这就是输出:

2793876
2788282

为什么差异如此之小,如何进一步压缩?

视频文件已压缩。您不能进一步压缩它们,至少不能显著压缩。

您唯一的选择是解压缩,然后使用更有效的压缩器(例如HEVC(重新压缩它们。

我认为文件大小的小幅减小是由于zlib是一个无损压缩库,而mp4已经是一种压缩格式,因此几乎没有改进的余地。

从标准库来看,lzma声称拥有最好的压缩比。但请记住,它也是无损的,所以我不会期望有那么大的差异。

我建议您使用第三方lib-ffmpeg-python。它是命令行应用程序ffmpeg的包装器,可以使用h265等更好的编码器对mp4进行代码转换。

相关内容

  • 没有找到相关文章

最新更新