如何使用 ffmpeg 在多轨文件上分配左右声道

如何使用 ffmpeg 在多轨文件上分配左右声道

我使用以下命令创建一个包含两个单声道 .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

FFMPEG 将音轨转换为单声道并全右/左平移

除此之外,我还发现了这个问题,这让我想到了另一种选择。如何将其拆分成两部分?

将一个 12 通道音频流分成单独的单声道通道?

答案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文件中指定为左声道和右声道。

唯一的问题是不是启用两个音轨,我无法手动启用它们并保存更改。我创建了一个新问题,以使这个问题清晰明了:

通过 ffmpeg 启用 .mov 中的所有音轨

有关此问题的更多信息:https://trac.ffmpeg.org/ticket/3622#no1

谢谢!

相关内容