![如何使用 ffmpeg 在多轨文件上分配左右声道](https://linux22.com/image/1687312/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20ffmpeg%20%E5%9C%A8%E5%A4%9A%E8%BD%A8%E6%96%87%E4%BB%B6%E4%B8%8A%E5%88%86%E9%85%8D%E5%B7%A6%E5%8F%B3%E5%A3%B0%E9%81%93.png)
我使用以下命令创建一个包含两个单声道 .wav 文件的 .mov(我不处理视频,只处理音频)
ffmpeg -i left.wav -i right.wav -c copy -map 0:a -map 1:a out1.mov
当我打开 QuickTime 设置时出现此信息:
如您所见,仅启用了音轨 1,并且在音频设置中均指定为“单声道”。
我想启用两个声道并将音轨 1 分配到左声道,将音轨 2 分配到右声道。
我已经尝试过 -pan 和 -map_channel,但文件只是合并为单个立体声轨道,或者根本就没有运行。
例如:
ffmpeg -i left.wav -i right.wav -c copy -map 0:a -map 1:a -filter_complex [0:a]pan=mono|c0=c0[left];[1:a]pan=mono|c0=c1[right] out1.mov
知道如何获得它吗?
我得到的信息来自:
https://trac.ffmpeg.org/wiki/AudioChannelManipulation#Switchstereochannels
https://ffmpeg.org/ffmpeg-filters.html#pad-1
除此之外,我还发现了这个问题,这让我想到了另一种选择。如何将其拆分成两部分?
答案1
只回答了我自己一半的问题:
我终于设法使用立体声文件作为输入来获取此代码
ffmpeg -i "TESTSTCONFOR_1.wav"
-filter_complex "[0:a]channelsplit=channel_layout=stereo[left][right]"
-map "[left]"
-map "[right]"
-vcodec copy
-c:a pcm_s24le "OutputFile.mov"
此代码将 ST 文件分成两个独立的声轨,并在同一个.mov
文件中指定为左声道和右声道。
唯一的问题是不是启用两个音轨,我无法手动启用它们并保存更改。我创建了一个新问题,以使这个问题清晰明了:
有关此问题的更多信息:https://trac.ffmpeg.org/ticket/3622#no1
谢谢!