2017-09-03 411 views
1

我正在使用ffmpeg将一串MKV视频批量转换为MP4视频。我使用的代码是:ffmpeg将MKV转换为MP4,同时保留音频和字幕标题

for %%a in ("*.*") do ffmpeg -i "%%a" -codec copy -map 0 "newfiles\%%~na.mp4" 

但是,我不知道如何保持每个音轨的标题。例如,这里是我所看到的转换我的影片之一时:

Stream #0:2(eng): Audio: aac (LC) (mp4a/0x6134706D), 48000 Hz, stereo, fltp 
    Metadata: 
     title   : Director Commentary 

Stream #0:3(eng): Audio: aac (LC) (mp4a/0x6134706D), 48000 Hz, stereo, fltp 
    Metadata: 
     title   : Production Commentary 

虽然这些曲目出现在转换后的MP4文件,标题“导演评论”和“生产时评”不被保存。我尝试过使用map_metadata的不同变体,但它似乎不起作用。

任何想法将不胜感激。

+0

你有没有试过'-map-metadata'作为[这个答案](https://superuser.com/questions/996223/using-ffmpeg-to-copy-metadata-from-one-file-to-another)建议? – Rishav

+0

是的。如果视频输出设置为.MKV,则标题将转移。但是,如果我将它输出到.MP4(这是我想要的),那么它不会转移。 – Fetts

+0

无论我尝试什么,所有音频文件的标题都是“SoundHandler”,字幕标题是“SubtitleHandler”。 – Fetts

回答

1

我想通了。在描述音频或字幕轨道的名称时,MP4不使用“标题”。显然它使用“处理程序”。