【发布时间】:2018-11-28 21:29:23
【问题描述】:
在 FFmpeg v4.0 之前,我能够在包含 H.264 视频轨道和 AC3 或 DTS 音频流的输入视频文件上运行以下命令,并生成具有 6 个音频流的 MP4。每个流对应一个 5.1 音频的通道。
ffmpeg -i INPUT.MKV -vcodec copy -filter_complex channelsplit=channel_layout=5.1 -acodec aac -movflags faststart OUTPUT.MP4
它甚至可以在立体声轨道上工作,并将 L 和 R 通道放在适当的位置,并为其他 4 个通道生成一些无关紧要的静音轨道。
但现在在 v4.0.1 中出现以下错误:
[aac @ 0x7f7f65001e00] 不支持的通道布局
初始化输出流 0:0 时出错 - 打开输出流 #0:0 的编码器时出错 - 可能参数不正确,例如 bit_rate、速率、宽度或高度
转换失败!
将命令更改为以下内容并没有改善:
ffmpeg -i INPUT.MKV -vcodec copy -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" -acodec aac -movflags faststart OUTPUT.MP4
它给出了以下错误:
Filter channelssplit:BR 有一个未连接的输出
(请注意,BL/BR 和 SL/SR 都对 BR 产生相同的错误)
这种 MP4 文件结构对于在 Unity 内部使用放置在环境中的虚拟扬声器进行回放非常有用。
我的最终目标:
- MP4 (MOOV Atom at the Front)
-H.264 Video Stream
-AAC Audio Stream - FL
-AAC Audio Stream - FR
-AAC Audio Stream - FC
-AAC Audio Stream - LFE
-AAC Audio Stream - SL
-AAC Audio Stream - SR
【问题讨论】:
-
如果它以前有效,但不再有效,请在 trac.ffmpeg.org 提交错误报告
-
这不是错误。原来我以前的方法是不当使用 FFMPEG。 trac.ffmpeg.org/ticket/7266#comment:7 我真的需要一些帮助,从错误跟踪器的评论中找出如何使用推荐的命令
aformat=channel_layouts=mono。 -
正如 Carl 所指出的,这仍然是一种回归。回答方法。