【发布时间】:2012-03-15 17:47:10
【问题描述】:
我的目标是使用 ffmpeg 将 ac3 从 avi 解码为多个 wav - 每个通道一个。
使用
ffmpeg.exe -i the.avi -c:a copy the.ac3 the.wav
会将其解码为单个 wav,然后键入 the.wavs 将无济于事...
我知道它可以用其他工具来完成,但我想知道它是如何用 ffmpeg 实现的。
【问题讨论】:
我的目标是使用 ffmpeg 将 ac3 从 avi 解码为多个 wav - 每个通道一个。
使用
ffmpeg.exe -i the.avi -c:a copy the.ac3 the.wav
会将其解码为单个 wav,然后键入 the.wavs 将无济于事...
我知道它可以用其他工具来完成,但我想知道它是如何用 ffmpeg 实现的。
【问题讨论】:
来自docs:
您还可以将输入的每个通道提取到特定的输出;以下命令将 INPUT 音频流(文件 0,流 0)的两个通道提取到各自的 OUTPUT_CH0 和 OUTPUT_CH1 输出:
ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1
在你的情况下,它看起来像:
ffmpeg.exe -i teh.avi -c:a copy -map_channel 0.0.0 0.wav -map_channel 0.0.1 1.wav
假设ac3是avi中的stream 0。
【讨论】:
-c:a copy,否则尽管映射,它会给你两个频道。