
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ß.