H.264 Verständnis oder Bug?

Begonnen von geohei, Dezember 19, 2015, 19:47:33

« vorheriges - nächstes »

geohei

#15
Zitat von: Derrick am Dezember 20, 2015, 11:59:26
50p heisst 50 Vollbilder/s und warum der TSD Schwierigkeiten hat, definierte Punkte zu finden, habe ich versucht zu erklären. Du musst probieren, welche Filter das beste Resultat liefern. Leider hängt das auch wieder vom Streamtyp an.

Das Beste an AVC/H.264 Filter sind die LAV. Bei den "Windows default (Merit)" gibt es Ruckler und nicht nachvollziehbare Sprünge. Bei "Windows DTV-DVD Video Decoder" nur Stillstand!

Ja, du hast es in versucht zu erklären, aber wenn die LAV Video Filter das Beste sind was man in TSD integrieren kann, dann gibt es hier u.U. irgendwo Nachholbedarf (bei den Filtern nehme ich an - oder TSD?). VD zeigt die 50 Frames (nicht doppelt) an. Also sind sie da. Bevor ich mit TSD ans Schneiden denke, sollte doch mindestens die Preview stimmen. Sonst wird das Ganze Vorhaben erst recht ein shot in the dark.

Ich habe leider nicht herausgefunden welche Filter VD benutzt. Kann mir da jemand weiterhelfen?

Gibt es andere Filter die man mit TSD benutzen kann?

Um es Stream unabhängig zu machen bleibe ich bei allen Tests und Beipielen hier beim ZDF HD (Eigenproduktion, also 720#50p [keine Doppelbilder]).

Zitat von: Mam am Dezember 19, 2015, 21:09:16
Nimm stattdessen +/-IF (also ein großes Iiiieh statt der Eins), das sollte immer zum nächsten Vollbild springen.

Ok ... nehme wir an das wären dann die optimalen Schneidpunkte. Mit welcher Software kann ich den geschnittenen Stream Frame für Frame durchscrollen um mir das Resultat anzusehen. VD zeigt im Beispielstream von ZDF HD zwar alle 50p Frames an, aber nicht bis zum Schluss. Dort werden die letzten +/- 10 Frames zum Schluss nicht angezeigt.

ErichV

Zitat von: geohei am Dezember 24, 2015, 16:07:53
VD zeigt die 50 Frames (nicht doppelt) an.

Das hängt, wie Mam schon erklärt hat, vom Ausgangsmaterial ab. Bei meinen Aufnahmen waren die Frames meistens doppelt. Wenn Spielfilme mit 24 bzw. 23,976 Vollbilder pro Sekunde im Zuge der Dreharbeiten aufgezeichnet werden, müssen die restlichen 50 Vollbilder in irgendeiner Form kompensiert werden, ohne dass es zu einer drastischen Beschleunigung des Spielfilms kommt.  ;)
1 x Humax ESD-160S, 1x TechniSat TechniBox S4, 2x TechniSat Skystar USB 2 HD CI, Nvidia Shield TV Media Streaming Player, TS Doctor 4.1.2, DVBViewer Pro 7.3.0.0 mit DVBViewer Media Server 3.3.0.0

ErichV

Für den Videoschnitt ist der Haali Media Splitter am ehesten geeignet.
Leider gibt es in dieser Hinsicht keine bessere Alternative.
Cypheros könnte natürlich auch einen eigenen Splitter für den TS-Doctor schreiben, allerdings würde dies wohl viel Zeit in Anspruch nehmen.
1 x Humax ESD-160S, 1x TechniSat TechniBox S4, 2x TechniSat Skystar USB 2 HD CI, Nvidia Shield TV Media Streaming Player, TS Doctor 4.1.2, DVBViewer Pro 7.3.0.0 mit DVBViewer Media Server 3.3.0.0

geohei

Zitat von: ErichV am Dezember 24, 2015, 16:32:23
Das hängt, wie Mam schon erklärt hat, vom Ausgangsmaterial ab. Bei meinen Aufnahmen waren die Frames meistens doppelt. Wenn Spielfilme mit 24 bzw. 23,976 Vollbilder pro Sekunde im Zuge der Dreharbeiten aufgezeichnet werden, müssen die restlichen 50 Vollbilder in irgendeiner Form kompensiert werden, ohne dass es zu einer drastischen Beschleunigung des Spielfilms kommt.  ;)

Ja, das ist ja alles verstanden. Ich wollte nur feststellen dass das native Material in der Tat 50p (keine Doppelbilder) ist. Bei meinen Tests mit TSD werden ja nicht alle Frames des besagten Streams angezeigt. Um die Frage zu beantwoten ob es sich um das Quellmaterial, oder aber ein TSD/Filter Problem handelt habe ich VD herangezogen. Fakt ist ... es sind 50p Einzelbilder und TSD/LAV Filter zeigen die Frames im Preview nicht alle an. Man stellt Sprünge fest und alle 3-4 Frames steht das Bild.

geohei

#19
Zitat von: ErichV am Dezember 24, 2015, 16:37:12
Für den Videoschnitt ist der Haali Media Splitter am ehesten geeignet.
Haali Media Splitter 1.13.138 ist mit installiert und wird auch von TSD benutzt.

Liegt es jetzt am Spillter, oder am Filter, dass nicht alle Frames angezeigt werden?

ErichV

Zitat von: geohei am Dezember 24, 2015, 16:42:35
Liegt es jetzt am Spillter, oder am Filter, dass nichta lle Frames angezeigt werden?

Normalerweise am Splitter, meine Hand möchte ich aber dafür trotzdem nicht ins Feuer legen.  ;D
1 x Humax ESD-160S, 1x TechniSat TechniBox S4, 2x TechniSat Skystar USB 2 HD CI, Nvidia Shield TV Media Streaming Player, TS Doctor 4.1.2, DVBViewer Pro 7.3.0.0 mit DVBViewer Media Server 3.3.0.0

Cypheros

Der TS-Doctor verwendet einen zusätzlichen Filter, der den Videostream zwischen Splitter und Video-Decoder scannt und sich den Frametyp und den PTS-Timer des Frames merkt.

geohei

Hmmm ... merkt sich dieser zusätzliche Filter nur den Frametyp oder machte re auch etwas damit?
Hat es mit diesem zusätzlichen Filter zu tun dass bei meinem ZDF HD Beispiel Stream nicht alle Frames bei +1F angezeigt werden.

Gibt es eigentlich eine Anleitung wie man mit TSD korrekt H.264 schneidet?

Mein Ziel ist es, dass der erste und letzte Frame des geschnittenen Streams das gesamte Bild enthalten, und nicht noch auf irgend welche Frames ausserhalb des geschnittenen Streams verweisen.

Djfe

als ersten Frame suchst du dir einen I-Frame aus
für den letzten ist es so ziemlich egal, so lange du nicht mehrere Schnittbereiche hast

du suchst dir einfach den letzten Frame aus der noch ein Bild vom Film bzw. der Sendung hat

wenn du mehrere Schnittbereiche hast kann das aber zu Artefakten zwischen den Schnittbereichen führen
da nimmst du dann entweder stumpf den letzten Frame vor einem I-Frame oder probierst mit der Schnittvorschau herum, um zu prüfen, ob derzeit Artefakte am Übergang angezeigt werden (ist aber nicht 100% akkurat)

am besten du probierst ein wenig rum, was für dich funktioniert
100% akkurat geht ohne neu encodieren der Schnittstelle nicht
aber man kommt wirklich sehr dicht dran (das encoden lohnt meist nicht, es sieht trotzdem gut aus)

das größere Problem kann manchmal eher der Ton sein, weil die Pakete ja nacheinander im Stream liegen
da fehlt dann entweder am Ende ein wenig Ton oder es ist schon zu viel

BossXxX

Für extrem Fälle, und wenn man viel Zeit und Muse hat, jag ich das file davor durch nen x264 Decoder und lass nur I-Frames schreiben, dann kannst bei jeden Frame schneiden, nur musst halt danach nochmal codieren sonst platzt deine Platte.

Derrick

Das scheint mir eine moderne Version von Baldrick's cunning plans zu sein  ;D Wenn ich ich dich richtig verstehe, willst du dekomprimieren , dann schneiden und danach wieder neu komprimieren, oder?

BossXxX

job, wenn man seine tools einmal eingerichtet hat, geht das. Über Sinn und unsinn lässt sich natürlich streiten.

geohei

#27
Zitat von: Djfe am Dezember 25, 2015, 21:05:30
...
am besten du probierst ein wenig rum, was für dich funktioniert
100% akkurat geht ohne neu encodieren der Schnittstelle nicht
aber man kommt wirklich sehr dicht dran (das encoden lohnt meist nicht, es sieht trotzdem gut aus)

Ich habe mich jetzt einmal exakt an deine Vorgaben gehalten. Ein Test Stream ohne Schnittpunkte. Einfach nur vorne und hinten gekürzt.

Dabei fiel mir auf, dass der Abstand am Angang zwischen den I Frames doch größer als erwartet ist.
00:05:29.380 (letzter I Frame vor dem Anfang)
00:05:30.500 (erster I Frame nach dem Anfang)
Das sind 59 Frames, also etwas mehr als eine Sekunde. Ich schneide 'mal sicherheitshalber beim I Frame vor dem Anfang.

Fragen:

1. Referenzieren die B/P Frames nach dem 00:05:29.380 I Frame (letzter I Frame vor dem Anfang) in keiner Weise auf Frames vor dem 00:05:29.380 I Frame (H.264 Theorie)? Falls dem so wäre, dann wären diese B/P Frames ja fehlerhaft.

2. Ich habe den Test Stream durch "Detect commercials" > "Video-Analyse-Mode" laufen lassen. An einer Stelle findet er eine Werbung von 8 Sekunden, wo aber keine ist. Die Film läuft ganz normal weiter. Wie kommt es zu diesem automatischen Schnitt? Werden da noch weitere (technische) Aspekte als die reine optische Analyse berücksichtig?

Zitat von: BossXxX am Dezember 26, 2015, 09:20:21
Für extrem Fälle, und wenn man viel Zeit und Muse hat, jag ich das file davor durch nen x264 Decoder und lass nur I-Frames schreiben, dann kannst bei jeden Frame schneiden, nur musst halt danach nochmal codieren sonst platzt deine Platte.

Das will ich vermeiden wegen der Dateigröße. Um Faktor wieviel ist der konvertierte Stream größer (ungeschnitten)?

BossXxX

bei mir 10x grösser ungefähr... also hab so 15-30 gb files dann.... schrumpfen aber beim 2 decoden wieder auf normalmas


www.cypheros.de