2014-11-16 7 views
9

Durch Hinzufügen einer .ass Untertitelspur zu einem mkv Video mit ffmpeg, ist es nicht als Standardspur eingestellt, so dass bei der Wiedergabe müssen Sie manuell einschalten Untertitel. Ist es möglich, das Standard-Flag für die Untertitelspur zu setzen?ffmpeg set Untertitel Spur als Standard

ffmpeg Befehl:

ffmpeg -i video.mp4 -i subtitles.ass -c:v libx264 -preset veryslow \ 
-pix_fmt yuv420p10le -c:a copy -c:s copy output.mkv 

Bitte beachte, dass ich .ass Untertitel Format behalten möchten, nicht wandeln die Untertitel wie in dieser ähnliche Frage vorgeschlagen mov_text: How to set default streams with ffmpeg

Es ist die Möglichkeit, das Standard-Flag danach mit mkvpropedit wie folgt zu setzen:

mkvpropedit output.mkv --edit track:s1 --set flag-default=1 

Aber ist es möglich, dies direkt mit ffmpeg zu tun?

+0

SO zu spielen wahrscheinlich die falsche Stelle für diese Frage, aber die Frage selbst ist gültig. Ich habe das gleiche Problem. – Tobia

Antwort

14

Ich denke nach this patch ist dies jetzt möglich. Zumindest für mich funktioniert es mit:

ffmpeg -i in.mp4 -i in.srt -c copy -disposition:s:0 default out.mkv 

Hinweis s in -disposition:s:0 steht in diesem Fall für Untertitel und nicht Strom. Um den zweiten Dampf nach Index auszuwählen, verwenden Sie -disposition:1.

+2

Seit v.3 'ffmpeg' ist' disposition' bereits implementiert, aber noch nicht dokumentiert. – Kondybas

+0

'disposition' wurde kürzlich dokumentiert. – LordNeckbeard

4

Sie können verwenden ‚gezwungen‘ statt Standard vlc zu zwingen ist

ffmpeg -f mp4 -i outfile.mp4 -f srt -i VTS_07_0.EnglishV2.srt -c:v copy -c:a copy -metadata:s:a:0 language=Japanese -c:s mov_text -metadata:s:s:0 language=English -disposition:s:s:0 forced mix.mp4