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



我使用的是ffmpeg python包装器。

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

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

这样做的目的是从视频中提取第一个音轨,并将其保存为具有最佳质量的单独音频文件。高级选项的更多信息";map":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参数&quot-地图";是一个高级选项,而不是过滤器,需要为输出指定参数,如下所示:

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

最新更新