Konvertieren einer Reihe von TS-Videosegmenten in H.264-Dateien

Konvertieren einer Reihe von TS-Videosegmenten in H.264-Dateien

Ich habe viele Verzeichnisse mit TS-Videofragmentdateien, die ich in MP4-Dateien in H.264 konvertieren möchte. Jedes Verzeichnis besteht aus mehreren Fragmenten, die ein einzelnes Video bilden, und es gibt eine m3u8-Indexdatei, um sie alle zu sequenzieren.

index.m3u8       
segment1_0_av.ts 
segment2_0_av.ts 
segment3_0_av.ts 
segment4_0_av.ts 
segment5_0_av.ts 
segment6_0_av.ts 
segment7_0_av.ts 
segment8_0_av.ts 
segment9_0_av.ts

Ich verwende einen Mac und kann Homebrew verwenden, um alles Notwendige zu installieren. Welche Befehlszeile kann ich verwenden, um das Obige in eine einzelne H.264-Datei zu konvertieren? Mithilfe einer Befehlszeile könnte ich später ein Skript erstellen, um mehrere Ordner automatisch zu konvertieren.

Antwort1

Sie müssen die Segmente zuerst zusammenführen und dann kodieren. TS-Dateien können ganz einfach zusammengeführt werden, indem man sie aneinanderreiht. Versuchen Sie also:

$ cat segment*.ts > onefile.ts
$ ffmpeg -i onefile.ts -c:v libx264 -preset medium -tune film -crf 23 \
    -strict experimental -c:a aac -b:a 192k output.mp4

Im obigen Beispiel müssen Sie offensichtlich „ffmpeg“ von Homebrew oder Macports oder aus frei verfügbaren OSX-Binärdateien beziehen.

Ändern Sie „-crf 23“ in zwei Schritten 21,19, … in eine niedrigere Ganzzahl für höhere Qualität, wenn Sie mit den Ergebnissen unzufrieden sind – aber die Standardeinstellung 23 sollte völlig in Ordnung sein. Gehen Sie jedoch nicht unter 16, da dies für normale menschliche Wahrnehmungsstandards „praktisch verlustfrei“ ist.

Viel Spaß.

verwandte Informationen