我试图将音频流从输入文件直接映射到输出而不触及它们,但输出文件会丢失之前拥有的所有元数据。
此命令应该只获取输入文件并完美地复制它:
ffmpeg -i input.mp4 -codec copy -map 0 output.mp4
大部分情况下确实如此,除了音轨丢失名称。它似乎确实在尝试写入它们,因为它们在 ffmpeg 启动时显示在输入文件中,并且输出文件末尾包含以下内容:
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x800 [SAR 1:1 DAR 12:5], q=2-31, 2564 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2018-06-14T16:15:51.000000Z
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
Metadata:
creation_time : 2018-06-14T16:15:51.000000Z
handler_name : Stereo
Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s
Metadata:
creation_time : 2018-06-14T16:15:51.000000Z
handler_name : Commentary
谢谢。