TS -> MKV: Ton asynchron

Begonnen von zork, Juni 13, 2010, 22:11:39

« vorheriges - nächstes »

zork

Hi,

HD-Aufnahmen haben ja manchmal AC3-Fehler, die aber beim Abspielen auf unterschiedlichen Geräten nicht stören. Leider habe ich festgestellt, dass nach dem Konvertieren bei fast allen MKV-Dateien der Ton auseinanderläuft. Die Korrektur vorher durch Demuxen, ac3fix und remuxen ist superaufwändig.
Cypheros, kannst Du nicht (ähnlich wie bei Project-X) einfach die defekten Frames durch stille Frames ersetzen? Das müsste doch bei diesem Problem helfen, oder?

Zork

Cypheros

Hi,

ich kenne das Problem und es ist für die Zukunft geplant. Allerdings sind im Moment einige grundlegende Dinge in Arbeit, die noch etwas Zeit benötigen. In der nächsten Beta-Release 1.0.50 wird es zum Beispiel endlich Bilder für die Schnittpunkte in der Schnittliste geben.

AC3-Flicken kommt auch noch!

Gruß
Cypheros

zork

Hi,

schön, dass das Problem auf Deiner Liste ist. Habe gerade noch mal probiert, den H264-Stream mit Projekt-X zu demuxen, der stirbt aber bei zu langen GOPs >6MByte. Aktuell ist mir keine Methode bekannt, wie man aus einem TS-File sicher ein synchrones MKV-File erzeugen kann, oder einfach nur ein M2TS file zum Brennen. Dem tsmuxer sind bad frames nämlich auch egal, leider.

Zork

fce2

hi,

ich mach das immer mit
   1) tsdoc zum schneiden und removen der fill-packets
   2) ffmpeg -o file.ts -vcodec copy -acodec copy -y -threads 0 file.mkv
und es scheint soweit zu gehen.
allerdings hab ich das bisher nur mit 1080i-material probiert...

zork

Cool, das klappt ja wirklich. Der Ton ist endlich wieder synchron. ffmpeg macht per default nur eine Audiospur, deswegen hier mal der Aufruf für 2 Tonspuren:

ffmpeg -i file.ts -map 0:0 -map 0:1 -map 0:2 -vcodec copy -acodec copy -metadata title="Titel" -y -threads 0 file.mkv -acodec copy -newaudio

Die defekten Frames bleiben zwar drin, aber egal  ;D

Zork

fce2

jupp, ich hab so schon etliche h264 hd-filme gemkvt, hat immer geklappt :-)
schön ist auch, dass man mit ffmpeg noch viel mehr machen kann:
ich habe meine komplette sd sammlung von mpeg2 nach h264 codiert und so >50% platz gespart :-)
das hat allerdings etwas länger gedauert...

zork

Hi Cypheros,

eine synchrone MKV-Datei lässt sich jetzt schon mit ffmpeg erstellen, leider enthält die natürlich noch die defekten Frames (insbesondere AC3-Frames), tsmuxer bekommt die Streams nicht synchron. Ich habe ein nettes Tool gefunden (LGPL mit Sourcen): delaycut. Das repariert AC3-Frames (idealerweise durch Ersetzen mit SILENT-Frames) und kann auch einen Offset einfügen. Cypheros, vielleicht könntest Du die Reparatur-Funktion einbauen? Alles andere ist super-umständlich.

Zork

Cypheros

Hi,

danke für den Tip. Sowas ist schon seit Langem geplant aber diese Tools haben es viel einfacher als ich. Die demuxen alle Stream und wenn dabei ein fehlender Frame entdeckt wird, können die einfach einen dranhängen (diese ES-Stream enthalten keine Timerinfos). Ich dagegen müßte einen solche Frame in den Stream reinmischen, an der richtigen Stelle und mit den richtigen Timerinfos (PES).
Möglicherweise muß ein solcher Stream dann doch remuxt werden um solche Fehler zu korrigieren.

zork

Zitat von: Cypheros am August 17, 2010, 00:28:34
Hi,

danke für den Tip. Sowas ist schon seit Langem geplant aber diese Tools haben es viel einfacher als ich. Die demuxen alle Stream und wenn dabei ein fehlender Frame entdeckt wird, können die einfach einen dranhängen (diese ES-Stream enthalten keine Timerinfos). Ich dagegen müßte einen solche Frame in den Stream reinmischen, an der richtigen Stelle und mit den richtigen Timerinfos (PES).
Möglicherweise muß ein solcher Stream dann doch remuxt werden um solche Fehler zu korrigieren.

Hi Cypheros,

zumindest fände ich es einen guten Start, wenn Du nur die vorhandenen Frames reparieren könntest, also CRC checken, wenn defekt, dann stillen Frame einfügen. Das wäre ja nur eine einfache Ersetzung, oder?

Zork

While.E

Gibt es hier etwas Neues zu berichten? MKV bei HD aufnahmen ist immer wieder asynchron..
Hat jemand eine Anleitung (Batch Datei) oder so etwas ähnliches?

Schönen Abend..

Cypheros

Hi,

leider noch keine Lösung für das Async-Problem bei MKV.

Anleitung Batch:
http://forum.cypheros.de/index.php?topic=714.0

Gruß
Cypheros

chris

Von Asynchronität kann ich nicht wirklich berichten, solange man dafür sorgt, dass Audio, sowie Video ordnungsgemäß behandelt wird (Voraussetzung: Aufnahme an einem Stück in einer Datei und nicht gestückelt) mein Vorgehen:

> TS schneiden mit TS Doctor so wie ich es benötige
> Ein Projekt anlegen mit DGAVCIndex was auch Demuxen inkludiert
> Mit Besweet und azid+ac3enc flag die demuxed AC3-Datei nochmal encodieren, damit werden auch Async-Fehler erkannt und gefixt
> Projekt in gewünschtem Encoder-Programm laden, gefixte AC3 hinzufügen

Da ich anfangs immer gestückelte TRP-Dateien hatte und erst zusammenfügen musste, war auch bei fast jedem Schnitt und fast jedem Übergang zum nächsten File dann ein Sprung der das fertige MKV-Video asynchron gemacht hatte, mit Files am Stück wende ich oben genannte Schritte an und kann in keinster Weise klagen.
TeVii S464 & DVB-Viewer & TS Doctor :)

While.E

Also HD Filme werden bei der one Click Umwandlung in mkv immer asynchron.
Als Abhilfe:
TS Stream schneiden (fixen), Abspeichern als *.ts, clown_BD_079 (Komplettpacket mit eac3to installieren) starten und alles abwählen (Tsmuxer, imgburn). EAC3to erstellt nun die HD Datei mit der(n) Tonspur(en). Die Asynckorrektur erfolgt automatisch ;))

MKVMerge (gui) verwenden, um die erzeugten 2-3 Dateien (Video + Tonspuren) als mkv abzuspeichern. Wichtig bei BPS für die HD Datei manuell den Wert 50 eintragen sowie bei Zusatzoptionen jeweils (Video und Tonspuren)auf Komprimierung KEINE gehen.

Starten und jede Datei wird richtig ausgegeben. Vielleicht könnte man diese Schritte in TSDoctor einpfelgen ;)
Wäre super...

Schönes WE


www.cypheros.de