Beim Konvertieren von Videodateien mittels ffmpeg kann man sich mit so einigen Optionen herumschlagen bis das Ergebnis (im Idealfall mit allen Audiospuren) passend vorliegt, oder man benutzt eine Abstraktionschicht.
HandBrake ist Viedeotranscodierer für linux|win|macOs Plattformen.
HandBrakeCLI ist das Kommandozeilenwerkzeug dazu.
Konvertieren eines Videos inklusive allen Audio und Untertitelspuren.
Ausgangspung ist eine ts (m2ts) Datei, wie sie bei einer Aufzeichnung mittels meiner Dreambox 500HD vorliegt
#matroska
HandBrakeCLI -i INPUTFILE.ts -o OUTPUTFILE.mkv --preset Normal --subtitle scan,1,2,3,4,5,6,7,8,9,10 -a 1,2,3,4,5,6,7,8,9,10
#oder in eine *.mp4Datei (für ipod und Konsorten)
HandBrakeCLI -i INPUTFILE.ts -o OUTPUTFILE.mp4 --preset Normal --subtitle scan,1,2,3,4,5,6,7,8,9,10 -a 1,2,3,4,5,6,7,8,9,10
Der 1. Trick ist mehr Untertiteln bzw Audiospuren anzugeben als denkbar möglich sind. (überzählige werden ignoriert – HandBrakeCLI hat leider keine Option
Der 2. Trick ist −−preset Normal, so findet Handbrake quasi von selber die besten Optionen.
HandBrakeCLI --preset-list
#listet alle möglichen Optionen für --preset
Falls es bei seltenen Container & Formatvariationen zu Fehler kommen sollte gibt es hier ein Wrapperscript das ein paar zusätzliche Parameter ausgehend vom Ausgangsmaterial setzt.
Links
Comparison of video container formats
HandBrakeCLI Options
FFmpeg auf wiki.ubuntuusers.de
bitstream-filters auf FFmpeg.org