ffmpeg复制音频流并编码此新流

问题描述 投票:0回答:3
此外,AC3和AC3-A52有什么区别? Apple TV仍然能够通过AC3-A52,还是必须转换为AC3?

这对我有用:

ffmpeg -y -i Source.mkv -map 0:v -c:v copy -map 0:a -c:a copy -map 0:a -strict -2 -c:a aac out.mkv

audio ffmpeg mapping
3个回答
32
投票

-y

- 如果输出文件已经存在,则可以覆盖该选项。
-map 0:v
    - 将第一个输入的视频流指定为输出文件的来源。
  • -c:v copy
    -
  • -Stream复制视频。这只是将输入输入到输出。没有重新编码
  • -map 0:a
    - 将第一个输入中的音频流指定为输出文件的来源。
  • -c:a copy
     - 
    -Stream副本音频。这只是将输入输入到输出。没有重新编码
  • -strict -2 -c:a aac
  • - 使用本机FFMPEG AAC音频编码器。
    -strict -2
    是您承认编码器被指定为实验的一种方式。这不是一个很棒的编码器,但在更高的比特率上还不错。
  • acorcording to
  • wikipedia
    ,AC3和ATSC A/52之间没有区别:第一个是编解码器的名称,第二个是指定AC3编解码器的标准的名称。也许有人对此有更多的了解?
  • 我做的与OP相同,但带有一个M4V容器。 我正在使用FFMPEG的MacPorts“非免费”变体,以便我可以使用LibFAAC,它比内置的AAC编码器可以提供更好的音频质量,并且还将其标记为 @dkam
  • 。 我结束的命令行是这样的:
    ffmpeg -i input.m4v -map 0:v -c:v copy -map 0:a -c:a:0 copy -map 0:a -c:a:1 libfaac output.m4v
    
    视频用于iPad上的播放,似乎无法处理AC3。
        

该命令将使用一个带有1个音频流的视频,然后Downmix进行立体声和转换音频流,并将其添加为第二个音频流。它将在384k.


8
投票

命令的解释

ffmpeg -i INPUT.mkv
应用程序和输入文件


1
投票
启用下降支持

-map 0

告诉ffmpeg读取以下参数的所有视频,音频和字幕流

-c copy

复制所有内容

  • -map 0:a:0
    告诉FFMPEG读取以下参数的第一个音频流
    
  • -c:a:1 aac
    以AAC格式将音频输出到第二音频通道(0 =第一通道)。如果有多个音频流以防止它们,则必须将输出通道更改为更高的数字。
    
  • -b:a 384k
  • 384K比特率(我不知道对AAC立体声有益,但这确实很高,因为它适用于5.1 AAC)
    todmix toStereo
    • -ac 2
    • 输出文件
  • 更多例子
    带有两个音频流的视频。通过第一个编码创建第三个音频流。
    
    • OUTPUT.mkv
      
      带有两个音频流的视频,但您想编码第二个音频流
      
    • ffmpeg -i INPUT.mkv -strict -2 -map 0 -c copy -map 0:a:0 -c:a:2 aac -b:a 384k -ac 2 OUTPUT.mkv
      
          
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.