4

使用moviepy,我正在尝试修剪webm文件的一部分,如下所示:

my_file.write_videofile(name, codec = 'libvpx')

当然,我已经定义了剪辑的开头和结尾等。代码正在返回我想要的片段,但是,我注意到文件的质量有所下降。我没有在任何地方调整文件大小或限制文件大小,所以我不明白为什么剪辑与原始剪辑相比质量差。

我可以使用一些参数,我怀疑它们在moviepy中设置为默认值以提高视频操作的速度,但是moviepy的文档没有说明它们:

ffmpeg_params:

您想要传递的任何其他 ffmpeg 参数,作为术语列表,例如 ['-option1', 'value1', '-option2', 'value2']

外面有人熟悉保持原始文件质量的正确参数吗?作为替代方案,是否有人熟悉任何其他用于修剪 webm 文件的库?

下面两张图片显示了质量的差异。第一个是修剪文件的帧,第二个是原始文件的大致相同的帧。

在此处输入图像描述

在此处输入图像描述

谢谢

4

1 回答 1

4

您正在寻找的参数是“比特率”(由于某种原因我在文档中省略了它,它将在下一个版本中修复)。如果你不提供它,ffmpeg 的默认值确实很低。

myclip.write_videofile("test_1.webm", bitrate="50k") # low quality.
myclip.write_videofile("test_2.webm", bitrate="50000k") # high quality.

顺便说一下,您还可以使用 `audio_bitrate='50k' 来调整音频的比特率。比特率为 ffmpeg 提供了比特率的上限,但大多数情况下,当您提供“50000k”时,实际比特率将低于“50000k”。50000k 提供高质量的视频,但请记住,webm 仍然是一种有损格式。

于 2015-02-19T06:18:29.927 回答