我想知道是否可以使用 FFMPEG 在 GSM6.10 音频文件上将立体声音频合并为单声道。如果是,请提供实现此目的的命令。
否则,是否可以使用 FFMPEG 将 GSM6.10 转换为 WAV PCM?然后我可以合并 WAV PCM 上的频道。
如果有其他免费工具可以做到这一点,我也可以尝试一下。
小智 61
在 ffmpeg 中任何支持的文件中从立体声“混音”到单声道的方法如下:
ffmpeg -i file.ext -ac 1 file_mono.ext
Run Code Online (Sandbox Code Playgroud)
“-ac 1”位指示 ffmpeg 仅输出 1 个音频通道,即单声道。默认情况下,此操作将保留您的文件格式,但会将您的比特率恢复为 ffmpeg 默认值 64kbs。如果你想要更高的比特率,你可以这样做:
ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext
Run Code Online (Sandbox Code Playgroud)
...用您喜欢的比特率替换 192k。
请注意,您安装的 ffmpeg 必须支持您特定的 GSM 编解码器才能正常工作。我知道 ffmpeg 通过 libgsm 支持一些 GSM 编码的音频,但我自己从未处理过 GSM 文件。然而,我已经成功地将其他类型的文件 (MP3) 转换为单声道。
小智 10
上面的答案适用于您仍然想在格式之间转换的情况,但对于可能需要很长时间的长文件。或者您可能不想再次转换,降低质量,因此您可能只想流式复制。同时使用 -codec:a 和 -ac 1 不起作用,但根据 ffmpeg pan filter 文档,如果满足某些条件(例如您没有调整通道的电平或将两个通道混合为一个) ,它会识别这种情况并报告:“检测到纯通道映射”,并进行流复制,这要快得多。
例如:要仅使用左声道制作立体声文件单声道,只需复制视频流,请执行以下操作:
ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext
Run Code Online (Sandbox Code Playgroud)
小智 6
为了保留视频,我结合使用了上面两个答案:
ffmpeg -i infile -codec:v copy -ac 1 -ab 192k outfile
Run Code Online (Sandbox Code Playgroud)
这为我提供了一个足够的解决方案。
我知道使用 sox 是可能的......我使用 sox 进行通道操作,使用 kdenlive 和 audacity 进行轻度编辑,使用 ffmpeg 进行重新混合。只是让你知道过去对我来说效果很好的事情。
| 归档时间: |
|
| 查看次数: |
47606 次 |
| 最近记录: |