【问题标题】:ffmpeg muxing 6 mono wavs and prores mov into new 6 channel mov - how to?ffmpeg 将 6 个单声道 wav 和 prores mov 混合到新的 6 通道 mov - 如何?
【发布时间】:2017-10-23 13:11:19
【问题描述】:

我已经处理了一天了,最后不得不出来问问。我想获取一个无声的 prores mov 文件(但显然确实有时间码轨道)并将其与 6 个单声道 wav 文件无损地混合,使 6 个单声道 wav 在最终 mov 中变成 6 个未压缩通道(不是 6 个流)。

我该怎么做?

我所做的尝试都以某种方式失败了。要么我在使用阻止直接复制的过滤器时遇到冲突,要么我在映射中遇到错误,或者其他什么。我已经看到很多关于使用单个音频通道和图片的工作,但没有看到将 5.1 与图片混合。要么是这样,要么是在进行转码,但不是直接复制。在提取方面也有很多发现,但在组合方面却没什么。

这是我尝试的最后一个命令,它为我提供了具有正确通道数的 aac 音轨,但显然,它不仅仅是未压缩 wav 的副本:

ffmpeg -i pix.mov -i L.wav -i R .wav -i C.wav -i LFE.wav -i Ls.wav -i Rs.wav -filter_complex "[1:a][2: a][3:a][4:a][5:a][6:a]amerge=inputs=6[aout]" -map "[aout]" -c:v 复制 -c:a 复制 muxed51。移动

这引发了 -filter_complex 与 -c:a 副本不兼容的错误,现在我已经看到了它。没有 -c:a 复制开关,我得到了一个没有图片和 aac 音频的 mp4 mov。我想我也尝试过使用从 0-5 运行的 -filter_complex 参数,而不是这里的 1-6。我想我正试图为视频流复制到 0 空间留出空间。显然不是这里的编码器。我只需要完成这件事,看起来应该很简单。结果不是这样。

总而言之,我如何将视频和 6 个单声道 wav 复制到一个 mov 容器中,其中音频为 6 个通道?图片和音频都应该是无损副本。

谢谢, 巴巴哥

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    使用

    ffmpeg -i pix.mov -i L.wav -i R .wav -i C.wav -i LFE.wav -i Ls.wav -i Rs.wav 
     -filter_complex "[1:a][2:a][3:a][4:a][5:a][6:a]amerge=inputs=6[aout]"
     -map "[aout]" -c:v copy -c:a pcm_s16le muxed51.mov
    

    在复制模式下无法合并或拆分频道。但是您不必使用像 AAC 这样的有损编解码器。 PCM 将是无损转码,前提是您的源文件具有 16 位深度。

    【讨论】:

    • 谢谢,穆尔维亚。非常有帮助。在我得到你的回复之前,我实际上发现了一些也有效的东西。与您的帖子相同,但我在 -c:v 之前有 -map 0:0。我想那是不需要的。我还使用了 pcm_s24le,因为源是 24 位的。
    • 我还有一个问题。我看到不同的应用程序似乎以不同的方式解释结果文件的通道顺序。我想知道我是否可以“烘焙”一些可以告诉所有应用程序频道顺序的东西。如何将频道订单信息嵌入到输出文件中?谢谢,BabaG
    猜你喜欢
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多