Avidemux kann manche TS-files nicht öffnen

Started by micaelo, September 27, 2018, 09:49:07 AM

Previous topic - Next topic

micaelo

Quote from: eumagga0x2a on September 30, 2018, 07:39:33 PM
Danke für die Samples, leider kann ich ohne tiefgreifende Umbauten in Avidemux keine Lösung anbieten außer den Anfang des Streams wegzuschneiden, so genügt es, die ersten 100 KiB des letzten Samples zu entfernen, um die Datei brauchbar zu machen.

Ok, dann gehe ich zurück auf den letzten stable release von Avidemux und, falls ich damit mal wieder einen TS-file nicht öffnen kann, auf meine Notlösung: Ich öffne den TS-file mit einer alternativen, aber ungeliebten Schnittsoftware (Smart Cutter Portable - hat bisher noch alles geöffnet) und mache damit einen Grobschnitt. Danach kann ich (bisher in jedem Fall) den TS-file mit Avidemux öffnen und dort die Feinarbeit machen (nicht benötigte Tonspuren abwählen, Feinschnitt, output als .mkv).

Vielen Dank jedenfalls für all die Mühe.

eumagga0x2a

Quote from: micaelo on September 30, 2018, 08:32:50 PM
dann gehe ich zurück auf den letzten stable release von Avidemux

Angesichts der vielen Bugs, die im Nightly gefixt sind, würde ich es nicht machen. Stabiler als Release sind die Nightlies im Moment allemal.

Darf ich fragen, welcher Receiver oder welches Programm solche Transport Streams erzeugt?

micaelo

Quote from: eumagga0x2a on September 30, 2018, 10:01:59 PM
Darf ich fragen, welcher Receiver oder welches Programm solche Transport Streams erzeugt?

Ich verwende den DVB-C Receiver Vistron VT45 HD (Firma LaSAT) mit einer externen 2,5"-Festplatte (Freecom Mobile Drive XXS USB 3.0). Die TS-files erzeugt die in die Receiver-Firmware integrierte Software, die nicht namentlich benannt ist. Die Firmware ist m.W. aktuell.

Eine weitere Unwägbarkeit ist die proprietäre Datenträger-Formatierung, die die Vistron-Receiver der angeschlossenen Festplatte aufzwingen. Das bedeutet, dass ich die TS-files für die Nachbearbeitung nicht einfach von der Festplatte auf den Rechner verschieben oder kopieren kann, sondern eine zusätzliche Software (PC2Box) einsetzen muss, um die Festplatte zu mounten und ihren Inhalt auf dem Rechner sichtbar zu machen.

micaelo

Quote from: micaelo on September 30, 2018, 11:19:25 PM
Ich verwende den DVB-C Receiver Vistron VT45 HD (Firma LaSAT) mit einer externen 2,5"-Festplatte (Freecom Mobile Drive XXS USB 3.0).

Mir kommt da gerade eine Idee, kann das aber im Moment nicht prüfen, da ich nicht zuhause bin: Laut FAQ zu den Receivern der Firma LaSAT können die Aufzeichnungen als Transportstream (mit allen gesendeten Inhalten wie z.B. EPG, Videotext, AC3) und als Programmstream (MPG, nur Audio und Video) auf den PC übertragen werden.

Der Programmstream hat die Datei-Endung rec. Ich werde prüfen, ob ich die Aufzeichnungen, die ich als TS nicht mit Avidemux öffnen konnte, vielleicht als rec öffnen kann, gegebenenfalls nach Umbenennung der Endung .rec in ...?

eumagga0x2a

Die Dateiendung spielt keine Rolle, es kommt einzig und allein auf den Inhalt an. Program stream ist MPEG-2 wie auf einer DVD, vielleicht rekodiert der Receiver dann 720p H.264 in 576i MPEG-2 oder was noch schlimmeres.

Der Receiver dürfte nicht sonderlich stark verbreitet sein, außerdem ist er ein Auslaufmodell.

micaelo

Quote from: eumagga0x2a on October 01, 2018, 09:19:01 AM
Der Receiver dürfte nicht sonderlich stark verbreitet sein, außerdem ist er ein Auslaufmodell.

Beides mag zutreffen (keine Ahnung), wird mich aber nicht veranlassen, die Hardware zu wechseln. Bild und Ton sind einwandfrei, und die Menüs finde ich in ihrer Logik und Bedienfreundlichkeit geradezu vorbildlich.

Ich sehe das Problem eher bei Avidemux. Bisherige Bilanz: 4 von 26 HDTV-Mitschnitten konnte Avidemux nicht öffnen. Diese 4 konnte ich aber problemlos mit dem Smart Cutter öffnen. TS-Doktor und Shotcut werde ich noch testen. Alles aber nur interessehalber, denn vorerst bleibe ich bei Avidemux (und im Bedarfsfall bei meiner weiter oben beschriebenen Notlösung). Das Programm gefällt mir einfach, und vielleicht gibt's ja mal eine "robustere" Version.

eumagga0x2a

Quote from: micaelo on October 05, 2018, 05:08:04 PM
Ich sehe das Problem eher bei Avidemux.

Der Receiver kündigt andere Kanäle an als danach in der Datei wirklich enthalten sind (ich vermute, dass der Anfang einer problematischen Aufnahmen in Wirklichkeit das Ende der vorherigen ist). Avidemux könnte besser mit dieser Situation umgehen indem es vor dem Start der Indexierung den Inhalt der in der falschen PAT/PMT vermerkten PIDs bzw. sein Fehlen prüft (ist auch seit 10 Jahren als todo notiert). Ich habe dafür nicht die Zeit und die Kunstfertigkeit, und die Priorität schätze ich als niedrig ein, da es wahrscheinlich nur die Folge eines Bugs in der Firmware eines nicht mehr produzierten Receivers ist.

QuoteBisherige Bilanz: 4 von 26 HDTV-Mitschnitten konnte Avidemux nicht öffnen.

Hat der Patch, der eingreift, wenn die erste (false) PAT komplett unbrauchbar ist, nur bei einem einzigen Video geholfen?

micaelo

Quote from: eumagga0x2a on October 05, 2018, 10:05:57 PM
Hat der Patch, der eingreift, wenn die erste (false) PAT komplett unbrauchbar ist, nur bei einem einzigen Video geholfen?

Der Patch hat bei dem Sample geholfen, das ich als erstes per Dropbox bereitgestellt hatte, nicht aber bei den 2 weiteren. Und unter meinen aktuellen TV-Mitschnitten gibt es wiederum einen, den ich mit der gepatchten Version nicht öffnen kann.

Insofern muss ich meine Bilanz korrigieren: Es sind nicht 4 von inzwischen 26 Aufnahmen, die ich mit der gepatchten Version nicht öffnen kann, sondern nur 3.


micaelo

#23
Quote from: eumagga0x2a on September 30, 2018, 07:39:33 PM
Avidemux kann nur ein Video pro Stream handhaben, die Mitschnitt-Software oder Hardware schreibt aber zwei Aufnahmen, die zumindest eine kleine Überlappung aufweisen, in eine Datei. Mit dem ersten Sample hatten wir Glück, dass die erste PAT gar keine verwertbaren PMTs enthielt. In den anderen Samples bekommt Avidemux schon aus der ersten PAT einen Videotrack (den der vorherigen Aufnahme) mitgeteilt, der aber eigentlich schon zu Ende ist.

Ich teste gerade ein anderes Schnitt-Programm: VideoReDo TVSuite 5 von https://www.videoredo.com/en/Products_TVSuite_V5.html

Auch mit diesem Programm kann ich die TS-Dateien, die ich mit Avidemux nicht öffnen kann, nicht öffnen. Es gibt dort aber in den Einstellungen die Option "Ignore Transport Stream Maps".

Wenn ich diese Option einschalte, kann ich die fraglichen TS-Dateien öffnen und bearbeiten.

In der Erklärung zu dieser Option heißt es:

"When a transport stream is opened, VideoReDo attempts to determine the available programs in the stream by processing the stream's program maps (PAT and PMT packets). However, many broadcasters either omit these packets or send them with incorrect information. This can cause VideoReDo to not detect all the video and audio streams in the file.
Enabling the option "Ignore Transport Stream Maps" will disable the processing of these sections. Instead VideoReDo scans the first 10,000 packets of the file and tries to decipher what program contents are present. The disadvantage of disabling this feature is that the program does not always pick up each and every stream, especially secondary audio streams. The preferred mode is to leave the option "Ignore Transport Stream Maps" enabled unless your particular transport stream opens with missing audio or video streams."


Vielleicht lässt sich eine solche Option auch in Avidemux einbauen?


micaelo

#24
Ich will das Thema nicht weiter aufblasen, da Avidemux in den allermeisten Fällen ja wunderbar funktioniert und ich für die wenigen Ausnahmen die weiter oben beschriebene Notlösung habe.

Deshalb das Folgende nur noch zur Information, auch für die nicht unbeträchtliche Anzahl von Mitlesern dieses Threads:

Nach Rücksprache mit dem Hersteller meines DVB-C Receivers (Vistron VT45 HD) habe ich die aktuelle Firmware. Der Programmierer schreibt dazu "... dass bei uns ja die PAT unveraendert gespeichert wird und deshalb der Einsprung in die PAT per ServiceID erfolgen muss. Wenn SID nicht vorhanden ist, muss der TS player alle PAT Eintraege nach einer vorhandenen PMT durchsuchen und dann der ersten PMT folgen" bzw. "der Hersteller der Video Editing Software muss die komplette PAT nach der ersten gueltigen PMT durchsuchen".

Da ich den Begriff ServiceID bislang nicht kannte, habe ich recherchiert und dazu folgenden Wikipedia-Eintrag gefunden:
https://en.wikipedia.org/wiki/Service_Description_Table

Nach all dem sehe ich die Ursache des Problems weder bei der Vistron-Firmware noch bei der Avidemux-Software sondern eher bei den Stream-Besonderheiten einiger Sender. Problematisch waren bisher ZDF HD, One HD und Servus TV. Ich werde versuchen, meine Vermutung zu validieren, indem ich weitere Testaufnahmen von diesen Sendern mache.

eumagga0x2a

Quote from: micaelo on October 23, 2018, 09:19:41 AM
Wenn SID nicht vorhanden ist, muss der TS player alle PAT Eintraege nach einer vorhandenen PMT durchsuchen und dann der ersten PMT folgen" bzw. "der Hersteller der Video Editing Software muss die komplette PAT nach der ersten gueltigen PMT durchsuchen".

Genau dies führt zu dem beobachteten Problem. Wir bekommen eine gültige PAT mit einer gültigen PMT, die dort angekündigten Streams sind aber nicht da. Später in der Datei kommt eine andere, ebenso gültige PAT mit PMT vor, die dann zum gewünschten Inhalt führt. Idealerweise sollte Avidemux sich überzeugen, dass die in der PMT verzeichneten Streams keine leeren Versprechungen sind und ggf. die PAT verwerfen und weiter in die Datei schauen. Noch ist diese Funktionalität nicht implementiert.


QuoteNach all dem sehe ich die Ursache des Problems weder bei der Vistron-Firmware noch bei der Avidemux-Software sondern eher bei den Stream-Besonderheiten einiger Sender. Problematisch waren bisher ZDF HD, One HD und Servus TV. Ich werde versuchen, meine Vermutung zu validieren, indem ich weitere Testaufnahmen von diesen Sendern mache.

Ich bezweifle dies stark. Die falschen PATs stammen sicherlich von einer anderen SID (einem anderen Programm) oder gar von einem anderen Transponder. Der Receiver beginnt auf die Festplatte zu schreiben noch bevor er den SID-Filter fertig eingerichtet hat oder die falsche PAT ist der Inhalt eines nicht geleerten Buffers von einer vorangehenden Aufnahme --> Firmware-Bug.

micaelo

Quote from: eumagga0x2a on October 23, 2018, 10:01:21 AM
Der Receiver beginnt auf die Festplatte zu schreiben noch bevor er den SID-Filter fertig eingerichtet hat oder die falsche PAT ist der Inhalt eines nicht geleerten Buffers von einer vorangehenden Aufnahme --> Firmware-Bug.

Das wäre doch dann aber - so oder so - ein systematischer Fehler, der jede meiner Aufnahmen für Avidemux unbrauchbar machen würde(?).  Tatsächlich sind es aber nur einige wenige Aufnahmen, die Avidemux nicht öffnen kann.

eumagga0x2a

Nein, nicht unbedingt. Es könnte eine race condition sein. Auf jeden Fall würde es wahrscheinlich als Workaround genügen, vor der Sendung, die man eigentlich aufnehmen möchte, ein kurzes Stück vom selben Kanal aufzunehmen (als eine getrennte Aufnahme).

eumagga0x2a

Bitte den r181024 Nightly ausprobieren. Das Problem sollte dank Commit [demuxers/MpegTS] Check whether PATs match deutlich seltener auftreten (Avidemux glaubt der PAT nun erst dann, wenn drei PATs in Folge PMTs enthalten, die die gleiche PID und den gleichen Typ für den ersten Videotrack ankündigen).

Natürlich, wenn im TS gleich die drei ersten PATs übereinstimmend Falschinformationen enthalten, wird Avidemux trotz Patch auf die Schnauze fallen. In den bereitgestellten Samples waren es maximal zwei. Irgendwo muss man halt die Grenze ziehen.

micaelo

Quote from: eumagga0x2a on October 24, 2018, 07:45:59 PM
Bitte den r181024 Nightly ausprobieren. Das Problem sollte dank Commit [demuxers/MpegTS] Check whether PATs match deutlich seltener auftreten (Avidemux glaubt der PAT nun erst dann, wenn drei PATs in Folge PMTs enthalten, die die gleiche PID und den gleichen Typ für den ersten Videotrack ankündigen).

Dieses Nightly werde ich gleich mal testen.  (Der Link oben führt zu den 64Bit Versionen. Gemeint war wohl
https://avidemux.org/nightly/win32/avidemux_2.7.1%20r181024_win32.exe)