在 ffmpeg 中合并传输流中的两个音频流

在 ffmpeg 中合并传输流中的两个音频流

我有一个 M2TS 文件,其内容如下:

Stream #0:0[0xc9]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 704x576 [SAR 16:11 DAR 16:9], max. 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0xca](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s
Stream #0:2[0xce](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, mono, s16p, 64 kb/s (visual impaired)

我正在尝试将两个流合并为一个流,但目前还没有成功。

我原以为这样-filter_complex "[0:1][0:2] join"就足够了,但是 - 虽然它似乎合并了流 - 但我只能听到第一个流的音频。

我尝试过使用amerge过滤器,但它不断导致内存分配错误,这显然是错误的,因为我的机器有 16 GB 的 RAM。

如果您能提供任何帮助我将非常感激,因为我已经束手无策了!

答案1

似乎还有一个选项我还没有用尽,那就是amix过滤器!

这解决了这个问题:

-filter_complex "[0:1][0:2] amix=inputs=2[audio]" -map[audio]

相关内容