Sam*_*Sam 8 mapping audio ffmpeg
由于兼容性问题,我需要重新编码一些视频文件.它们目前是具有h.264视频和ac3-a52音频的mkv文件.我想保留h.264视频,将容器转换为m4v并创建两个音轨,一个使用原始的ac3-a52,另一个是从a32立体声中复制的.
我假设必须有某种音频流映射命令,但我不知道如何同时映射和重新编码.我应该在ffmpeg中输入什么命令来实现这一目标?
另外,ac3和ac3-a52有什么区别?Apple TV仍然可以通过ac3-a52还是必须转换为ac3?
AJ2*_*J29 13
这对我有用:
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
Run Code Online (Sandbox Code Playgroud)
-y - 覆盖输出文件的全局选项(如果已存在).-map 0:v - 将第一个输入中的视频流指定为输出文件的源.-c:v copy- 流复制视频.这只是将输入复用到输出.不会发生重新编码.-map 0:a - 将第一个输入中的音频流指定为输出文件的源.-c:a copy- 流复制音频.这只是将输入复用到输出.不会发生重新编码.-strict -2 -c:a aac - 使用原生FFmpeg AAC音频编码器.-strict -2作为一种方式,您需要确认编码器被指定为实验编码.它不是一个伟大的编码器,但在更高的比特率下也不算太糟糕.根据维基百科,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。)
| 归档时间: |
|
| 查看次数: |
17615 次 |
| 最近记录: |