【发布时间】:2021-12-18 01:13:02
【问题描述】:
我正在使用ffmpeg-python 包装器。
我想通过这个包装器模仿这个 ffmpeg 命令。
ffmpeg -i multiaudio.avi -map 0:a:0 multiaudio_test_a01.wav
这样做的目的是从视频中提取第一个音轨,并将其保存为具有最佳质量的单独音频文件。 高级选项“地图”的更多信息:ffmpeg map documentation
现在使用包装器,我尝试了类似的方法:
(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)
谢谢。
【问题讨论】:
-
总是将完整的错误消息(从单词“Traceback”开始)作为文本(不是截图,不是链接到外部门户)有问题(不是评论)。还有其他有用的信息。
-
与语法问题无关,但
-q:a 0被 WAV 复用器忽略,因此您可以将其删除。 WAV 未压缩,所以-q:a什么都不做。 -
@furas 错误是:初始化复杂过滤器时出错。无效参数 [...] 引发 Error('ffmpeg', out, err) ffmpeg._run.Error: ffmpeg 错误(详见 stderr 输出)
-
@llogan 公平点,通过编辑删除了这个。主要问题仍然存在。
标签: python audio video ffmpeg wrapper