为什么 ffmpeg 警告“输入流 #0.0 的猜测通道布局:单声道”?

cha*_*255 4 python ffmpeg

我正在使用 ffmpeg 从我的 python 脚本读取和写入原始音频。我使用的保存和加载命令都会产生警告“猜测输入流 #0.0 的通道布局:单声道”?尽管我在输入和输出之前告诉 ffmpeg-ac 1只有一个通道,但事实却是这样。我看到了一些其他我应该设置的答案,-guess_layout_max 0但这似乎是一个黑客,因为我不想让 ffmpeg 猜测;我准确地告诉它有多少个频道-ac 1。它不需要做出任何猜测。

我的保存命令的格式如下,其中r是采样率,也是f我想要将原始音频保存到的文件。我通过管道从 python 发送原始音频。

ffmpeg_cmd = 'ffmpeg -hide_banner -loglevel warning -y -ar %d -ac 1 -f u16le -i pipe: -ac 1 %s' % (r, shlex.quote(f))

同样,我的加载命令如下,其中 ffmpeg 读取f原始音频并将其写入标准输出。

ffmpeg_cmd = 'ffmpeg -hide_banner -loglevel warning -i %s -ar %d -ac 1 -f u16le -c:a pcm_u16le -ac 1 pipe:' % (shlex.quote(f), r)

Gya*_*yan 8

-ac设定编号 通道的数量,而不是它们的布局,其中通道计数的每个值可以有多个。

使用选项-channel_layout.

ffmpeg -hide_banner -loglevel warning -y -ar %d -ac 1 -channel_layout mono -f u16le -i pipe: ...