Ich habe gelesen, dass es besser ist, aus VOB-H264-Dateien innerhalb einer .ts-Datei zu extrahieren, um ein verlustfreies und genaueres Beispiel zu erhalten, das sich leicht schneiden lässt. Ist das richtig?
Ich habe diese Befehle verwendet:
ffmpeg -i VTS_01_1.VOB -acodec libfaac -aq 100 -ac 2 -vol 2048 -vcodec libx264 -preset veryslow -crf 18 -threads 2 manu1.mp4
ffmpeg -i manu1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
Ich habe mit dieser Art von Befehl zwei Videobeispiele aus der .ts-Zwischendatei extrahiert:
ffmpeg -ss 43 -i intermediate1.ts -vcodec copy -vframes 1400 -acodec copy 1-manubus.ts
wenn ich diese .ts dateien einzeln in vlc abspiele, werden sie beide komplett dekodiert, es fehlen keine frames
Abschluss :
ffmpeg -analyzeduration 200M -probesize 150M -i "concat:1-manubus.ts|2-manuchoisit.ts" -c:v libx264 -crf 18 -preset slow -bsf:a aac_adtstoasc -force_key_frames 0 1990-Manu_Redpants.mp4
Aber dann, wenn ich die letzte Datei abspiele, sind die ersten 6 Sekunden ein eingefrorenes Bild und dann kommen die Audio- und Videostreams bis zum Ende perfekt synchron. Wenn ich den ersten Teil 1-manubus.ts spiele, sind die 6 ersten Sekunden vorhanden und fehlen nicht, was passiert ? Etwas, das damit zusammenhängt, dass der erste Frame nicht die I-Frames sind?
Im ersten Schritt führen Sie eine verlustbehaftete Konvertierung durch, Sie transkodieren von vob nach mp4 und dann nach ts. Für einen verlustfreien Re-Mux sollten Sie einfach Re-Muxen, besser um sowohl Video als auch Audio anzugeben:
ffmpeg -i VTS_01_1.VOB -c:v copy -c:a copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
Wenn Sie jedoch zum Zweck des Slicens erneut muxen, sollten Sie sich darüber im Klaren sein, dass dies mit dieser Methode nur an der exakten Keyframe-Grenze möglich ist. Sie sollten sich also noch einmal überlegen, ob Sie dies auf diese Weise tun möchten. Eine ausführliche Erklärung finden Sie in dieser Antwort .
mplayer -dumpfile title1.ts -dvd-device /path/to/the/dir dvd://1
ich denke. Ich habe vergessen, welchen Befehl ich dafür verwendet habe. >.<tccat
, aus dem transcode
Paket. Sollte äquivalent zu allem sein, was sich mit DVD-Strukturen auskennt und nicht nur direkt auf die VOBs zugreift.Ich habe es endlich geschafft, die VOB-Dateien mit den folgenden Befehlen direkt zu spleißen:
ffmpeg -i VTS_01_2.VOB -ss 463 -c copy -vframes 325 2-manuchoisit.vob
ffmpeg -i VTS_01_2.VOB -ss 353 -t 16 -c copy 3-manutombe.vob
und dann die extrakte konkatieren und mit umwandeln
ffmpeg -analyzeduration 200M -probesize 150M -i "concat:1-manubus.vob|2-manuchoisit.vob|3-manutombe.vob" -vcodec libx264 -preset veryslow -crf 18 -acodec libfaac -aq 100 -ac 2 -vol 2048 1990-Manu_Redpants.mp4
Kein Bildverlust, präzise Schnitte.
Logan