News:

--

Main Menu

Zurückspulen am TV nicht möglich

Started by MarGeb, December 03, 2022, 12:22:31 PM

Previous topic - Next topic

eumagga0x2a

Quote from: eumagga0x2a on December 18, 2022, 11:43:40 AMLeider tritt das auch mit der Nightly noch auf und zwar dann, wenn ich Sequenzen rausschneide.

Vor oder nach dem Kodieren (also mit dem finalen Export im Kopiermodus)?

Quote from: eumagga0x2a on December 18, 2022, 11:43:40 AMFormat-Einstellungen für RefFrames      : 8 frames

Das ist eine ganze Menge, besonders Hardware-Dekoder kommen so leicht ins Schleudern.

Quote from: eumagga0x2a on December 18, 2022, 11:43:40 AMBreite                                  : 512 Pixel
Höhe                                    : 328 Pixel

Skaliert der Fernseher dann hoch?

MarGeb

Quote from: eumagga0x2a on December 18, 2022, 12:22:52 PM
Quote from: eumagga0x2a on December 18, 2022, 12:22:52 PMLeider tritt das auch mit der Nightly noch auf und zwar dann, wenn ich Sequenzen rausschneide.

Vor oder nach dem Kodieren (also mit dem finalen Export im Kopiermodus)?

Ich bin mir jetzt nicht sicher was Du meinst? Ich lade die Quelldatei und mein Projekt, mache die Schnitte und speichere ab.

Ich habe mal die Ausgabe von Mediainfo eines Videos ohne Schnitte mit der Schnittversion verglichen, sie sind absolut identisch (abgesehen natürlich von Größe, Länge, Frameanzahl), trotzdem lässt sich die eine zurückspulen und die andere nicht  :o

Ich habe es auch mal mit dem Xvid-Codec versucht, aber es macht keinen Unterschied.


Quote from: eumagga0x2a on December 18, 2022, 11:43:40 AMFormat-Einstellungen für RefFrames      : 8 frames
Das ist eine ganze Menge, besonders Hardware-Dekoder kommen so leicht ins Schleudern.

Kann das daran liegen, dass ich das Profil umgestellt habe auf Main@L3? Das musste ich machen, weil der TV die Videos sonst gar nicht abgespielt hat. Aber die Zahl der RefFrames ist ja geschnitten und ungeschnitten gleich?

Quote from: eumagga0x2a on December 18, 2022, 11:43:40 AMBreite                                  : 512 Pixel
Höhe                                    : 328 Pixel

Skaliert der Fernseher dann hoch?

Ja. Die Originaldateien (alte Serien) sind 512x384 und nicht besonders gut. Ich habe sie auf 328 gecroppt, um sie ein bisschen "gefälliger" beim Anschauen zu machen, weil ich dann immerhin auf ein Seitenverhältnis von 1,56 komme.

Markus

eumagga0x2a

Quote from: MarGeb on December 19, 2022, 05:49:02 AMIch lade die Quelldatei und mein Projekt, mache die Schnitte und speichere ab.

Also erfolgen Schnitte vor dem Kodieren, was bedeutet, dass Kopiermodus in keiner Arbeitsphase zum Einsatz kommt.

Unterstützt der Fernseher auch andere Container als MP4? Wie sieht es mit MPEG-TS aus? Besteht das Problem auch dann?

Hilft es, die von Avidemux geschnittene, nicht rückwärts navigierbare MP4-Datei mit FFmpeg im Stream Copy Modus ohne weitere Änderungen zu remuxen?

Quote from: MarGeb on December 19, 2022, 05:49:02 AMAber die Zahl der RefFrames ist ja geschnitten und ungeschnitten gleich?

Ja, ist gleich, aber dennoch sehr hoch.



MarGeb

Quote from: eumagga0x2a on December 19, 2022, 07:51:29 AMHilft es, die von Avidemux geschnittene, nicht rückwärts navigierbare MP4-Datei mit FFmpeg im Stream Copy Modus ohne weitere Änderungen zu remuxen?

Ja!!!!  Super!!! Vielen Dank!!! ;D  ;D  ;D  ;D

Und wie ist das jetzt zu erklären? Es wird ja eigentlich nur kopiert?

Markus

 

eumagga0x2a

#19
Irgendwas ist beim FFmpeg in der Struktur des Containers möglicherweise anders.

Dieselbe MP4-Datei, nur remuxt wiederum zu MP4, jedoch mit Avidemux – bleibt sie für den Fernseher rückwärts weiterhin nicht navigierbar?

Wenn ja und wenn der Inhalt hinreichend harmlos ist, wäre es möglich, beide Dateien bitte als Samples über WeTransfer zu bekommen?

eumagga0x2a

Quote from: MarGebAlso, es ist zum Haaremelken und Mäuseraufen  :-X

Das Remuxen mit ffmpeg oder Avidemux bringt nichts, denn tatsächlich hat sich das geschnittene Video vorher schon zurückspulen lassen.

Es ist folgendermaßen: Obwohl die Originalvideos (mp4) alle aus derselben Quelle sind und identische Auflösungen, AV-Bitraten und Codecs verwenden, unterscheiden sich manche von den anderen, wie ich jetzt gesehen habe, in einem Punkt:

Modus der Bildwiederholungsrate: variabel
Bildwiederholungsrate: 25,000 FPS
minimale Bildwiederholungsrate: 12,500 FPS
maximale Bildwiederholungsrate: 25,000 FPS

Die anderen haben eine feste Wiederholungsrate.

Unabhängig davon, ob die Bildwiederholungsrate variabel oder fest ist, lassen sich die Originalvideos am TV zurückspulen. Sobald aber Avidemux oder ffmpeg ins Spiel kommen, ist der schnelle Rücklauf bei den Videos mit variabler Wiederholungsrate nicht mehr möglich, auch wenn ich die Originaldatei nur remuxe.

Betroffen ist etwa ein Drittel der Videos; wenn ich da keinen Rücklauf habe, dann ist das eben so und ich bin keinesfalls beleidigt, wenn Du, eumagga0x2a, keine Lust mehr hast, hier weiter zu stochern, denn Deine Zeit wächst ja auch nicht auf Bäumen. Und wie im AP schon geschrieben, ist der Fernseher 13 Jahre alt, neuere haben das Problem evtl. gar nicht.

Dann würde ich mir gern so eine Originaldatei ansehen, wo der Fernseher nicht mehr rückwärts navigieren kann, wenn sie von Avidemux oder FFmpeg in Copy Mode remuxt wird. Dass beide betroffen sind, erscheint logisch: beide setzen auf die Bibliothek libavformat, um MP4 Container zu schreiben.

Ich wiederhole indes meine Frage, ob der Fernseher auch mit MPEG-TS gespeist werden kann und ob bei diesem Container das Problem nicht mehr auftritt.

PS: Ich investiere gerne Zeit, um Probleme zu verstehen. Ob ich dann mit einer Lösung dienen kann, steht auf einem anderen Blatt.

MarGeb


Alles klar, ich lade ein Video hoch und sende Dir den Link per PN.

eumagga0x2a

Danke fürs Sample, jetzt wäre es hilfreich ein von FFmpeg oder Avidemux exportiertes MP4 Video in die Hände zu bekommen (in der Kürze liegt die Würze, kleinere Samples bevorzugt), wo Navigation rückwärts auf dem Fernseher funktioniert.

Es gibt etliche Differenzen zwischen dem Original und Exports, sei es von FFmpeg oder Avidemux. Zum einen, benutzen beide höhere Frequenzen bei der Zeitbasis (Original: 1 kHz, FFmpeg: 16 kHz, Avidemux: 25 kHz), zum anderen, sind einige neue Atoms / Boxen (pasp, btrt, sgpd, sbgp) hinzugekommen, die der Fernseher möglicherweise nicht kennt. sgpd und sbgp könnte man als Faktor ausschließen, wenn man testweise die Tonspur weglässt. Um die Frequenz der Zeitbasis zu senken, müsste man in Avidemux einige Stellen im Code ändern.

MarGeb

Quote from: eumagga0x2a on December 19, 2022, 11:09:20 PMDanke fürs Sample, jetzt wäre es hilfreich ein von FFmpeg oder Avidemux exportiertes MP4 Video in die Hände zu bekommen (in der Kürze liegt die Würze, kleinere Samples bevorzugt), wo Navigation rückwärts auf dem Fernseher funktioniert.

Ich schicke Dir was.

QuoteEs gibt etliche Differenzen zwischen dem Original und Exports, sei es von FFmpeg oder Avidemux. Zum einen, benutzen beide höhere Frequenzen bei der Zeitbasis (Original: 1 kHz, FFmpeg: 16 kHz, Avidemux: 25 kHz), zum anderen, sind einige neue Atoms / Boxen (pasp, btrt, sgpd, sbgp) hinzugekommen, die der Fernseher möglicherweise nicht kennt. sgpd und sbgp könnte man als Faktor ausschließen, wenn man testweise die Tonspur weglässt. Um die Frequenz der Zeitbasis zu senken, müsste man in Avidemux einige Stellen im Code ändern.

Ich habe keine Ahnung, wovon Du redest, aber es klingt toll  ;D

Ich hatte im letzten Post vergessen, Deine Frage nach MPEG-TS zu beantworten. Nein, der TV kann nur MP4 und AVI. Letzteres habe ich auch probiert, aber da bekomme ich nichts Brauchbares zusammen. Da man laut Avidemux für Avi kein h264 nehmen soll (was ich aber eigentlich schon möchte), habe ich Mpeg4 ASP (ff) genommen, aber da kann ich noch nicht mal am PC eine Position anspringen (er springt zurück an den Anfang) und außerdem wird mir gesagt, dass das Video statt 45 Min. rund 198 Stunden lang ist.

Markus

eumagga0x2a

Quote from: MarGeb on December 20, 2022, 05:44:40 AMIch schicke Dir was.

Vielen Dank für die neuen Samples, damit sind bisherige Hypothesen zur Natur des Problems hinfällig. Wenn es wirklich daran liegt, dass irgendwo ein einziges Frame "fehlt", was MediaInfo veranlasst,

Frame rate mode                          : Variable
Frame rate                              : 25.000 FPS
Minimum frame rate                      : 12.500 FPS
Maximum frame rate                      : 25.000 FPS

zu melden, dann sollte Neukodieren in Avidemux mit dem "Resample" Filter eigestellt auf "25 (PAL)" die Lücke durch Wiederholung des vorherigen Bildes füllen. Ob das den Fernseher milde stimmt?

Quote from: MarGeb on December 20, 2022, 05:44:40 AMder TV kann nur MP4 und AVI. Letzteres habe ich auch probiert, aber da bekomme ich nichts Brauchbares zusammen. Da man laut Avidemux für Avi kein h264 nehmen soll (was ich aber eigentlich schon möchte)

AVI Container unterstützt PTS (presentation timestamps) nicht, nur DTS (decode timestamps). H.264 mit B-frames ist aber zwingend auf PTS aus dem Container angewiesen, um die langwierige und nicht ganz zuverlässige Prozedur der Wiederherstellung der richtigen Anzeigereihenfolge durch das Dekodieren des gesamten Videos zu vermeiden. Avidemux warnt zwar vor AVI, wenn das Video H.264 oder HEVC ist, aber der User kann diese Warnung überstimmen.

Quote from: MarGeb on December 20, 2022, 05:44:40 AMhabe ich Mpeg4 ASP (ff) genommen, aber da kann ich noch nicht mal am PC eine Position anspringen (er springt zurück an den Anfang) und außerdem wird mir gesagt, dass das Video statt 45 Min. rund 198 Stunden lang ist.

Ich kann das auf meinem (Linux-) System nicht reproduzieren. Welcher Player zeigt solches Verhalten? VLC auch?

Quote from: MarGeb date=1671516241Beim Rumprobieren mit Avi sind mir zwei Sachen aufgefallen, vielleicht darf ich sie hier anbringen?

Ich benutze immer den MPEG4 AVC (x264) Codec mit zwei Durchläufen.

Zwei Durchläufe ergeben einen Sinn nur dann, wenn das Ergebnis eine bestimmte Dateigröße (genauer, die Größe des Videostreams) nicht übersteigen darf. Ansonsten reicht CRF vollkommen aus.

Quote from: MarGeb date=1671516241Da ich mich mit dem Drumrum ja nicht besonders auskenne, habe ich einfach den Muxer von MP4 auf AVI umgestellt. Dann hat Avidemux den ersten Durchgang gemacht und mir dann gesagt, dass das so nicht empfehlenswert ist. Könnte Avidemux die Ausgabekonfiguration nicht gleich am Anfang prüfen und einen entsprechenden Hinweis sofort bringen?

Das wäre auf eine wenig elegante (milde ausgedrückt) Art und Weise möglich, aber ich kann mir vorstellen, warum man diesen Weg nicht beschritten hat. Muxers sind Plugins, und das ganze Wissen um die Fähigkeiten und Beschränkungen eines Muxers gehört ins jeweilige Plugin. Beim Exportieren / Speichern eines Videos wird ein Muxer-Objekt erst dann geschaffen, wenn es ein Videostream-Objekt gibt. Der erste Durchlauf eines Encoders gehört zu vorbereitenden Schritten, um so ein Videostream-Objekt zu erzeugen. Erst dann kann sich herausstellen, dass der Muxer irgendwas an dem ihm vorgesetzten Videostream nicht mag.

Quote from: MarGeb date=1671516241Beim zweiten Versuch habe ich das Okay gegeben, eine bereits existierende Datei zu überschreiben, habe aber übersehen, dass sie noch im Player geöffnet ist. Avidemux hat dann am Ende eine entsprechende Fehlermeldung gebracht.

Windows-Besonderheiten. Unter Linux hätte das Überschreiben einer bereits anderweitig geöffneten Datei einwandfrei geklappt.

Quote from: MarGeb date=1671516241Könnte Avidemux in so einem Fall die Datei nicht unter einem zufälligen Dateinamen erstellen und den im Dialog mitteilen?

Reden wir über den ersten Durchgang bei 2-Pass-Encoding? Bleiben die Ergebnisse des ersten Passes nicht etwa erhalten? Man wird dann beim nächsten Versuch, unter demselben Namen zu speichern, gefragt, ob man sie wiederverwenden möchte.

MarGeb

Quote from: eumagga0x2a on December 22, 2022, 12:43:17 AM
Quote from: MarGeb on December 20, 2022, 05:44:40 AMIch schicke Dir was.
zu melden, dann sollte Neukodieren in Avidemux mit dem "Resample" Filter eigestellt auf "25 (PAL)" die Lücke durch Wiederholung des vorherigen Bildes füllen. Ob das den Fernseher milde stimmt?

Ja, hat es gemacht  ;D  ;D  ;D
Ich schreibe mir jetzt eine kleine Batch die mit ffprobe prüft, ob die fps konstant sind und wenn nicht, das mit ffmpeg korrigiert.

Es war mir gar nicht bekannt, dass es variable fps gibt, ich kenne nur vbr.

Quote from: eumagga0x2a on December 22, 2022, 12:43:17 AM
Quote from: MarGeb on December 20, 2022, 05:44:40 AMhabe ich Mpeg4 ASP (ff) genommen, aber da kann ich noch nicht mal am PC eine Position anspringen (er springt zurück an den Anfang) und außerdem wird mir gesagt, dass das Video statt 45 Min. rund 198 Stunden lang ist.

Ich kann das auf meinem (Linux-) System nicht reproduzieren. Welcher Player zeigt solches Verhalten? VLC auch?

Ich benutze MPC-HC, VLC habe ich nicht. Mit Windows Mediaplayer bzw. Filme & TV ist zwar Springen möglich und die Zeit wird korrekt angezeigt, aber dafür gibt es hier massive Bildstörungen.

Aber ich brauche kein AVI, ich hatte ja nur eines gemacht, weil Du danach gefragt hattest.

Quote from: eumagga0x2a on December 22, 2022, 12:43:17 AMZwei Durchläufe ergeben einen Sinn nur dann, wenn das Ergebnis eine bestimmte Dateigröße (genauer, die Größe des Videostreams) nicht übersteigen darf. Ansonsten reicht CRF vollkommen aus.

Super, dann spare ich mir in Zkunft die Mehrzeit.

Quote from: eumagga0x2a on December 22, 2022, 12:43:17 AM
Quote from: MarGeb date=1671516241Da ich mich mit dem Drumrum ja nicht besonders auskenne, habe ich einfach den Muxer von MP4 auf AVI umgestellt. Dann hat Avidemux den ersten Durchgang gemacht und mir dann gesagt, dass das so nicht empfehlenswert ist. Könnte Avidemux die Ausgabekonfiguration nicht gleich am Anfang prüfen und einen entsprechenden Hinweis sofort bringen?

Das wäre auf eine wenig elegante (milde ausgedrückt) Art und Weise möglich, aber ich kann mir vorstellen, warum man diesen Weg nicht beschritten hat. Muxers sind Plugins, und das ganze Wissen um die Fähigkeiten und Beschränkungen eines Muxers gehört ins jeweilige Plugin. Beim Exportieren / Speichern eines Videos wird ein Muxer-Objekt erst dann geschaffen, wenn es ein Videostream-Objekt gibt. Der erste Durchlauf eines Encoders gehört zu vorbereitenden Schritten, um so ein Videostream-Objekt zu erzeugen. Erst dann kann sich herausstellen, dass der Muxer irgendwas an dem ihm vorgesetzten Videostream nicht mag.

Okay, verstanden.

Quote from: eumagga0x2a on December 22, 2022, 12:43:17 AM
Quote from: MarGeb date=1671516241Könnte Avidemux in so einem Fall die Datei nicht unter einem zufälligen Dateinamen erstellen und den im Dialog mitteilen?

Reden wir über den ersten Durchgang bei 2-Pass-Encoding? Bleiben die Ergebnisse des ersten Passes nicht etwa erhalten? Man wird dann beim nächsten Versuch, unter demselben Namen zu speichern, gefragt, ob man sie wiederverwenden möchte.

Das schon, aber zeitlich fühle ich da keine große Ersparnis.

Also, ich denke mal, dass das Thema jetzt abgehakt ist. Nochmal vielen Dank für Deinen Einsatz. Wegen des _edit-Anhangs an den Dateinamen bei Namensgleichheit melde ich mich, sobald es eine neue Nightly gibt.

Markus

MarGeb

Quote from: eumagga0x2a on December 16, 2022, 11:40:06 PMTatsache, danke für den Bugreport und die Beharrlichkeit. Der Bug, der nur unter Windows auftrat, soll durch die Änderung [file_qt4] Fix filename collision detection, broken on Windows behoben sein, bitte einen künftigen Nightly Build ausprobieren.

Hi eumagga0x2a,

in r221229 funktioniert es wieder so, wie es soll.

Markus

eumagga0x2a