使用moviepy,我试图像这样修剪webm文件的一部分:
my_file.write_videofile(name, codec = 'libvpx')
当然,我已经定义了剪辑的开始和结束等.代码返回了我想要的片段,但是,我注意到文件质量下降了.
我没有在任何地方调整大小或构造文件大小,因此我不明白为什么剪辑比原始剪辑的质量差.
我可以使用一些参数,我怀疑这些参数在moviepy中被设置为默认值,以提高视频处理的速度,但是moviepy的文档中没有任何关于它们的说明:
ffmpeg_params :
Any additional ffmpeg parameters you would like to pass, as a list of
terms, like [‘-option1’, ‘value1’, ‘-option2’, ‘value2’]
任何人都熟悉正确的参数以保持原始文件的质量?作为替代方案,是否有人熟悉任何其他修剪webm文件的库?
以下是显示质量差异的两张照片.对于原始文件,第一个是修剪文件的帧,第二个是大致相同的帧.
谢谢
解决方法:
您正在寻找的参数是“ bitrate”(由于某些原因,我在文档中省略了它,它将在下一个版本中修复).如果您不提供它,则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仍然是有损格式.