PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : H264 framegenau schneiden - schwarze Zwischenbilder



Artemis1121
06.03.2012, 07:10
kann nur empfehlen Virtualdub von Coldcut ansteuern zu lassen, da dort bereits alle relevanten Einstellungen hinterlegt sind.
ich habe auch noch einige alte falsch geschnittene Dateien die ich auf Samsung TVs zum laufen bringen konnte, indem ich sie mit mkvmerge einfach umgepackt habe!

Shogi4fun
06.03.2012, 10:50
Hallo,
erst mal vielen Dank für eure Antworten.

Beide Antworten deuten mir auf ffdshow hin: im Link auf das otrforum ist nur von ffdshow und nicht von x264vfw die Rede und Coldcut scheint mir auch nur FFDShow zu können (zumindest kann ich da nix anderes auswählen).

Das A und O für meine Anforderung ist sicherlich der H264-Encoder.
Da dieser H264-Encoder aus ffdshow entfernt wurde (letzte Version mit H264-Encoder ist 3476) und ich nicht auf ein totes Pferd setzen will (keine Installation neuerer Versionen, keine Bugfixes, ... mehr möglich, zumindest nicht ohne Probleme), wollte ich diesen eigentlich vermeiden.

Aber in meiner Verzweiflung habe ich auch diesen Weg probiert.
Aber auch hier überall das gleiche Resultat.

habe die V3476 probiert (jetzt verstehe ich auch den Kommentar mit den vielen Einstellmöglichkeiten, denn x264vfw bietet nur sehr wenige an)
habe es auch mit Coldcut (und seinen Defaulteinstellungen) probiert - habe sogar noch FFDS2946 ausprobiert, weil Coldcut dies in roten Buchstaben empfahl

=> immer diese schwarzen Zwischenbilder an den neu encodierten Anfangs- und End-Schnittstellen beim Abspielen auf meinem TV

Als weitere Versuchsmöglichkeit habe ich noch diese Seite gefunden: http://x264.nl/
Allerdigns gibt's von dem Encoder nur eine EXE und ich weiß nicht, wie man die benutzen kann (und ob überhaupt SmartRendering damit möglich ist???), also um Schnittstellen anzugeben und dann die Teile aneinanderzuhängen. Hat damit jemand Erfahrung???

Oder was könnte ich sonst noch probieren?

(Habe mir übrigens auch diese Seite angesehen: http://wiki.onlinetvrecorder.com/index.php/H.264-Codec)

MenneSi
07.03.2012, 11:19
Hallo Shogi4fun,

CC und CA würde ich erst einmal außen vor lassen um weitere Fehlerquellen auszuschließen.
Sind die Parameter in x264vfw identisch mit denen von OTR?
Mit Mediainfo kannst Du die Werte bei einer ungeschnittenen Datei auslesen und diese in den Einstellungen von x264vfw übernehmen. Achte auf das richtige Seitenverhältnis: HD --> 1:1, HQ (PAL 16:9)--> 64:45, HQ (PAL 4:3) --> 16:15
Außerdem für HD --> CQP=23, HQ --> CQP=22 (unter Rate control)

weitere Werte:
--me umh --subme 5 --psy-rd 0.0:0.0 --no-8x8dct --b-pyramid none --direct temporal --no-weightb --weightp 0 --min-keyint 25 --ipratio 1.41 --pbratio 1.25 --aq-mode 0 --partitions=p8x8,b8x8,i4x4

zusammengefasst für HD:

6250

Für HQ mußt Du dann nur noch das entsprechende Seitenverhältnis und CQP=22 ändern.

Leseesel
07.03.2012, 22:00
Ich weiß nicht... eigentlich müsste das doch so hinzubekommen sein, dass da in der Codierung kein Unterschied ist, dann kann der Fernseher die Schnitte nicht mehr erkennen. Oder was wird da sonst noch eingefügt?

Hast du mal zum Spaß ausprobiert, was passiert, wenn du an den Keyframes schneidest, also komplett ohne Neukodierung?

Oder wenn du den vollständigen Film neu kodierst? Mindestens das müsste doch gehen.

Oder hast du das falsche Seitenverhältnis eingestellt, sodass sich das an den gerenderten Stellen plötzlich ändert? Schon mal mit H264arm durchgesehen?

Shogi4fun
07.03.2012, 22:44
Ich weiß nicht... eigentlich müsste das doch so hinzubekommen sein, dass da in der Codierung kein Unterschied ist, dann kann der Fernseher die Schnitte nicht mehr erkennen. Oder was wird da sonst noch eingefügt?
Also ich kann nicht mehr daran glauben.

Hast du mal zum Spaß ausprobiert, was passiert, wenn du an den Keyframes schneidest, also komplett ohne Neukodierung?
Das funktioniert.

Oder wenn du den vollständigen Film neu kodierst? Mindestens das müsste doch gehen.
Das geht natürlich, aber das will ich mir ersparen.

Oder hast du das falsche Seitenverhältnis eingestellt, sodass sich das an den gerenderten Stellen plötzlich ändert? Schon mal mit H264arm durchgesehen?
Da habe ich auch keine Fehler gemacht. Das Seitenverhältnis war mir schon immer wichtig und da habe ich auch aufgepaßt. Am PC paßt auch alles.
(So nebenbei: mein TV ignoriert die Seitenverhältnisinfo in AVI/H264 Dateien. Bei Xvid-Streams wertet er sie aus. Allerdings habe ich - nach langem suchen und probieren - eine Lösung gefunden: verlustfrei mit ffmpeg nach MP4 konvertieren und schon klappts. Ach ja, und der TV holt sich die Info nicht laufend aus den Streams, also auch bei Xvid werden Änderungen ignoriert - aber wer braucht so was schon.)

Ich denke hier kann nur jemand Antworten liefern, der sich mit den Interna von H264 auskennt und vielleicht auch weiß, wie VirtualDub vorgeht.

MenneSi
08.03.2012, 05:02
@Shogi4fun


Habe es exakt genau so gemacht

Entschuldigung, aber das stimmt nicht. Hast Du meinen Beitrag richtig gelesen. Du mußt die Einstellungen im x264vfw exakt übernehmen. Und damit meine ich wirklich jede Einstellung.


cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

Die fett und unterstrichenen Variablen sind nicht identisch mit den Einstellungen von OTR. Das 'Rate control' ist falsch eingestellt (z.Z. ist es noch CQP und nicht CRF). So wie ich das sehe hast Du einfach die default-Werte übernommen. Ich gehe mal davon aus das Du hier nicht die aktuellen HD-Test-Dateien benutzt. Die haben nämlich ganz andere Parameter.

Versuch es nochmal mit meinen Einstellungen die ich Dir in Wort und Bild geliefert habe. Das Bild zeigt alles was Du dafür brauchst.

MenneSi
09.03.2012, 09:34
Es funktioniert !!! :) :) :) :) :)

Freut mich das wir gemeinsam eine Lösung finden konnten.:)


Also bei all dem Ärger und Aufwand

Ärger gabs doch keinen, oder? Aber der Aufwand ist bei der Videobearbeitung schon hoch. Ich kenne auch keinen Bereich in der IT-Technik der so komplex und teilweise auch verwirrend (mit manchen Bezeichnungen) sich darstellt. Das ist aber eine andere Baustelle.


Allerdings musst du bei den jetzigen HQ/HD und x264vfw vorsichtig sein. Die HQ/HD werden auf verschiedenen Einheiten mit verschieden alten H264 Encodern von OTR kodiert.( erkennbar an der core Nummer )
Das Schneiden mit x264vfw funktioniert aber nur bei Dateien, die mit einer core 102 oder neuer erstellt wurde. Dateien mit älterer core wirst du nur mit ffdshow geschnitten bekommen.

Die Erfahrung hab ich so jetzt nicht gemacht. Oder gilt das nur in Verbindung mit CC/CA?

Ich schneide nur noch in Ausnahmefällen mit CC/CA. Für mich war es wichtig immer dann wenn möglich an keyframes zu schneiden, um eventuell auftretente Inkompatibilitäten mit Hardwareplayern so gut es geht auszuschließen.

@monarc99
Das muß auch einmal gesagt werden: Vielen Dank für die vielen guten Tipps und Tricks die Du im Laufe der Jahre hier gegeben hast...und auch für die Lemminge die Du der Allgemeinheit zur Verfügung gestellt hast.

monarc99
12.03.2012, 17:49
Und um einen Zwischenschritt zu sparen (jeder zusätzliche Schritt kann auch was kaputt machen): MP4Box kann vermutlich keine AVI-Container erzeugen, oder?

Nicht dass ich wüsste, da wäre der Name MP4Box dann allerdings auch unpassend, wenn er es könnte. ;)

Aber an deiner Stelle würde ich es nicht wieder in AVI speichern, all deine Probleme dürften vermutlich daher stammen, dass der Stream mal in AVI war ^^

mfg