2017-09-03 2 views
1

J'utilise ffmpeg pour convertir par lots un tas de vidéos MKV en vidéos MP4. Le code que j'utilise pour cela est:ffmpeg convertir MKV en MP4 tout en gardant les titres audio et sous-titre

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

Cependant, je ne peux pas comprendre comment garder le titre pour chaque piste audio. Par exemple, voici ce que je vois lors de la conversion d'une de mes vidéos:

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 

Bien que ces pistes apparaissent dans le fichier MP4 converti, les titres « directeur Commentaire » et « Commentaire de production » ne sont pas conservés. J'ai essayé d'utiliser différentes variantes de map_metadata, mais cela ne semble pas fonctionner.

Toutes les pensées seraient appréciées.

+0

Avez-vous essayé '-map-metadata' comme [cette réponse] (https://superuser.com/questions/996223/using-ffmpeg-to-copy-metadata-from-one-file-to-another) suggère? – Rishav

+0

Oui. Si la sortie vidéo est réglée sur .MKV, les titres seront transférés. Cependant, si je le produis en .MP4 (ce qui est ce que je voudrais), il ne sera pas transféré. – Fetts

+0

Peu importe ce que j'essaie, le titre de tous les fichiers audio est "SoundHandler" et le titre des sous-titres est "SubtitleHandler". – Fetts

Répondre

1

Je l'ai compris. MP4 n'utilise pas "title" pour décrire le nom des pistes audio ou de sous-titre. Apparemment, il utilise "gestionnaire".