使用moviepy和ffmpeg参数剪辑webm文件

时间:2015-02-19 00:45:41

标签: python ffmpeg moviepy

使用moviepy,我试图修剪这样的webm文件的一部分:

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

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

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

  

ffmpeg_params:

     

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

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

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

enter image description here

enter image description here

谢谢

1 个答案:

答案 0 :(得分: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仍然是一种有损格式。