繁体   English   中英

如何使用 ffmpeg-python 在 filter_() 中使用高级选项?

[英]How to use advanced options in filter_() using ffmpeg-python?

我正在使用ffmpeg-python包装器。

我想通过这个包装器模仿这个 ffmpeg 命令。

ffmpeg -i multiaudio.avi -map 0:a:0 multiaudio_test_a01.wav

这样做的目的是从视频中获取第一个音轨并将其保存为具有最佳质量的单独音频文件。 有关高级选项“地图”的更多信息: ffmpeg 地图文档

现在使用包装器我尝试了类似的东西:

    (ffmpeg
 .input(filepath)
 .filter_('map', map='0:a:0')
 .output(str(os.path.splitext(filepath)[0]) + "_test_a01.wav")
 .run()
 )

现在重要的一行,不断抛出错误是这一行:

.filter_('map', map='0:a:0')

有人可以告诉我,我需要如何重写这行代码才能使其工作?

编辑:错误信息

Error initializing complex filters. Invalid argument [...] raise Error('ffmpeg', out, err) ffmpeg._run.Error: ffmpeg error (see stderr output for detail)

谢谢你。

由于 ffmpeg 参数“-map”是高级选项而不是过滤器,因此需要为输出指定参数,如下所示:

(ffmpeg
 .input(filepath)
 .output(str(os.path.splitext(filepath)[0]) + "_test_a01.wav", map="0:a:0")
 .run()
 )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM