我正在尝试从视频中提取所有音频流/曲目(无论您想叫它们什么),并使用python和ffmpeg将每个音频流/曲目保存到单独的音频文件中。
问题是,我需要知道有多少音频流,我不想手动输入文件的流数,也不想对每个文件运行ffmpeg命令来计算出来。
程序是否有办法计算出有多少个流,这样我就可以将每个流提取到一个单独的文件中
下面是一段代码
inputFiles
是输入的每个视频文件的目录列表_dir_in
是所有输入文件所在的目录_dir_out
是放置代码输出的所有文件的目录
for video in inputFiles:
number_of_audio_streams = 0 # this is where I need to know how many audio streams there are
for i in range(number_of_audio_stremas):
subprocess.call(f'ffmpeg -i {_dir_in}/{video} -map 0:a:{str(i)} {_dir_out}/audio/{video}-{str(i)}.m4a')
没有单独使用
ffmpeg
提取所有音频流的自动方法您可以使用
ffprobe
确定音频流/曲目的数量:此示例显示
input.mkv
有3个音频流你可以解析它,但是你想得到总数。使用
wc -l
的示例:这应该是用Python实现解决方案的一个良好开端(我对Python不太了解,无法给出复制粘贴的答案)
相关问题 更多 >
编程相关推荐