(wegen bug abgebrochen) ffmpeg Arbeitsverweigerung

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
guennid

(wegen bug abgebrochen) ffmpeg Arbeitsverweigerung

Beitrag von guennid » 23.10.2018 19:26:31

Ich habe hier ein avi von Online TV Recorder (otr), das ich mit ffmpeg in ein mkv umwandeln will. Das Video lässt sich mit jeder x-beliebigen Abspielsoftware fehlerfrei unter Debian abspielen, aber ffmpeg verweigert seit einiger Zeit die Arbeit mit diesen Meldungen:

Code: Alles auswählen

Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[matroska @ 0x565414618300] Can't write packet with unknown timestamp
Und das passiert, wenn ich recht sehe, mit jeder von otr bezogenen Datei. :evil: Ich glaube nicht, dass ich in derLage bin, otr da zu irgendwelchen Korrekturen zu veranlassen, insofern finde ich die Aufforderung "Fix your code to set the timestamps properly" ziemlich daneben. Wenn ich das Video durch avidemux laufen lasse, werden die "timestamps" offenbar ohne mein Zutun "korrigiert". Jedenfalls akzeptiert ffmpeg dann das Video. Aber avidemux ist nicht das, mit dem ich immer arbeiten kann.

Frage ist also: Wie manipuliere ich die timestamps properly?, die ich ja ursprünglich gar nicht gesetzt habe.
Zuletzt geändert von guennid am 24.10.2018 14:29:44, insgesamt 1-mal geändert.

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: ffmpeg Arbeitsverweigerung

Beitrag von Blackbox » 24.10.2018 07:57:54

Wie sieht denn die Befehlskette zum Konvertieren aus?
Welchen Debian Release verwendest du?
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

guennid

Re: ffmpeg Arbeitsverweigerung

Beitrag von guennid » 24.10.2018 08:16:33

Videos von otr sind simpel: eine Video und eine Audio-Spur. video wird, je nachdem, womit man guckt, h264/AVC genannt, Audio: mp3

Code: Alles auswählen

ffmpeg -i video.avi -map 0:0 -map 0:1 -vcodec copy -acodec copy video.mkv
Debian stretch, Eigenbaukern 4.14. Kann mir momentan nicht vorstellen, dass der Kern ein Stolperstein sein könnte, aber wenn das doch für möglich gehalten wird, kann ich es auch mit Standardkern versuchen.

Grüße, Günther

Benutzeravatar
hikaru
Moderator
Beiträge: 13591
Registriert: 09.04.2008 12:48:59

Re: ffmpeg Arbeitsverweigerung

Beitrag von hikaru » 24.10.2018 10:27:55

Ähnliche Fehlerbeschreibungen finden sich im Netz haufenweise, in Bugreports und Foren, u.a. auch [1].

Oft wird dann zu dieser Option geraten:

Code: Alles auswählen

-fflags +genpts
...für gewöhnlich mit bescheidenem Erfolg.

Die Bugreports deuten darauf hin, dass eine Änderung am ffmpeg-Code die Ursache ist, die wohl irgendwann 2016 stattgefunden hat. Manche der Bugreports lassen vage erahnen, dass das Problem möglicherweise unter Umständen in aktuellen ffmpeg-Versionen gefixt sein könnte. Falls du also ein Buster da hast oder ein anderes System mit ffmpeg 4.0, wäre ein Test vielleicht lohnenswert.
Falls du öffentlich zugängliches Quellmaterial kennst mit dem sich das reproduzieren lässt, dann könnten das auch andere testen.


[1] viewtopic.php?t=168389

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: ffmpeg Arbeitsverweigerung

Beitrag von Lord_Carlos » 24.10.2018 11:25:12

Kannst du vielleicht ein Testvideo bereit stellen?
Das wuerde ich es mal mit einer Aktuellen version von ffmpeg testen

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: ffmpeg Arbeitsverweigerung

Beitrag von MaGe » 24.10.2018 11:56:28

ffmpeg version 4.0.2

Code: Alles auswählen

 ffmpeg -i Video.avi -map 0:0 -map 0:1 -vcodec copy -acodec copy Video.mkv 
Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly

anderes Video derselbe fehler
ich benutze mkvmerge

Code: Alles auswählen

 mkvmerge Video.avi -o Video.mkv

gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

guennid

Re: ffmpeg Arbeitsverweigerung

Beitrag von guennid » 24.10.2018 11:59:31

Also, wie gesagt, ich erlebe das lediglich mit AVIs von OTR. Und diese Firma benutze ich eigentlich nur, wenn ich mal was, das aufzubewahren mir sinnvoll erscheint, im öffentlich-rechtlichen Fernsehen verpasst habe, via VDR aufzunehmen. Ich bin nicht so der Video-Guru.

Einen Schnipsel von, sagen wir, fünf Minuten aus einem solchen otr-file herzustellen, wäre vielleicht legal/legitim - oder?, dürfte aber dennoch nicht sinnvoll sein, weil der ja angesichts der Arbeitsverweigerung von ffmpeg von einem anderen Programm geschnitten werden müsste - richtig?

Dass ich das vor 'nem Dreivierteljahr schon mal gepostet hatte, wusste ich nicht mehr. Und es ist auch nicht das erste Mal, dass mir das passiert. Haltet ihr das für noch normal? Sonst würde ich mir angesichts meines Alters langsam Gedanken machen, wie lange ich hier noch sinnvoll mitmachen kann.


Grüße, Günther

guennid

Re: ffmpeg Arbeitsverweigerung

Beitrag von guennid » 24.10.2018 12:02:05

MaGe hat geschrieben:ich benutze mkvmerge
Ist das nicht ebenso wie mkvtoolnix lediglich ein Aufsatz auf ffmpeg?

avidemux ist die, soweit ich weiß, einzige ffmpeg-freie Möglichkeit in Linux-Systemen. Leider kann dieses GUI-Programm im Vergleich zu ffmpeg verdammt wenig.

Grüße, Günther

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: ffmpeg Arbeitsverweigerung

Beitrag von MaGe » 24.10.2018 13:23:50

guennid hat geschrieben: Ist das nicht ebenso wie mkvtoolnix lediglich ein Aufsatz auf ffmpeg?
Das mag sein, brauch mkvtoolnix ( mkvmerge,mkvextract ) aber nur zum muxen und demuxen

zum konvertieren nehme ich auch ffmpeg


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
hikaru
Moderator
Beiträge: 13591
Registriert: 09.04.2008 12:48:59

Re: ffmpeg Arbeitsverweigerung

Beitrag von hikaru » 24.10.2018 13:25:39

guennid hat geschrieben: ↑ zum Beitrag ↑
24.10.2018 11:59:31
Dass ich das vor 'nem Dreivierteljahr schon mal gepostet hatte, wusste ich nicht mehr. Und es ist auch nicht das erste Mal, dass mir das passiert. Haltet ihr das für noch normal? Sonst würde ich mir angesichts meines Alters langsam Gedanken machen, wie lange ich hier noch sinnvoll mitmachen kann.
Keine Ahnung ob das am Alter liegt. Falls ja, dann geht das wohl mit spätestens 30 los, denn auch ich bin bei vermeintlich neuen Problemen schon über meine eigenen Threads gestolpert.
guennid hat geschrieben: ↑ zum Beitrag ↑
24.10.2018 12:02:05
avidemux ist die, soweit ich weiß, einzige ffmpeg-freie Möglichkeit in Linux-Systemen.
Soweit ich weiß, forkt und integriert Avidemux ffmpeg in mehr oder weniger regelmäßigen Abständen immer wieder, was wohl ein wichtiger Grund dafür ist, dass Avidemux nicht in Debian auftaucht, denn das hieße, ffmpeg doppelt zu halten, einmal "Standalone" und einmal als Teil von Avidemux.

Wie dem auch sei, ich habe gerade mal einen kurzen Blick in den ffmpeg-Code (Stretch) geworfen. Die erste Zeile deiner Meldung kommt aus libavformat/mux.c, wird ohne Timestamps in der Quelle in jedem Fall geworfen, ist aber nur eine Warnung.
Das eigentlich Interessante ist die zweite Zeile. Die kommt aus libavformat/matroskaenc.c, ist eine Fehlermeldung die zum Abbruch führt und ich sehe auf die Schnelle auch nicht, wie sich das beheben lässt. Ein Vergleich mit libavformat/mpegenc.c zeigt aber, dass es hier keine ähnlich strenge Prüfung gibt. Als Workaround sollte es also möglich sein, einen anderen Encoder zu nehmen.

In der ffmpeg-Version aus Squeeze sieht der Codeteil aus libavformat/matroskaenc.c noch ganz anders aus und hat keine solche Prüfung. Was während der ganzen libav-Geschichte auf beiden Seiten passiert ist, habe ich nicht geprüft. Falls Avidemux also an der Stelle noch alten Code verwendet würde das erklären, warum das funktioniert.

Das Ganze ist mMn einen Bugreport wert, sollte dafür aber möglicherweise besser recherchiert werden um zumindest einen Ansatz für einen Patch liefern zu können.

guennid

Re: ffmpeg Arbeitsverweigerung

Beitrag von guennid » 24.10.2018 14:06:36

Zu wheezy-Zeiten hatte ich ffmpeg wegen der bekannten Querelen aus dmo. da passierte es wohl auch noch nicht. Weiß ich aber nicht mehr einigermaßen sicher.

Ich belass es dabei. Für die simplen OTR-Videos ist avidemux gut genug und wenn ich mehr will, insbesondere fremdspachige Untertitel, muss ich eh selber aufnehmen, und bei TS hat ffmpeg bisher die Arbeit nicht verweigert. :wink:

Und bevor ich's vergesse, danke für die ausführliche und wie immer differenzierte Information! :THX:

Nebenbei: Witzig an avidemux (und wenigstens das erinnere ich, hier schon mal erwähnt zu haben :wink: ) ist auch , dass das Programm nichts mit AVIs anzufangen weiß, zumindest nicht mit denen von OTR, außer eben den Dateiinhalt, so wie er ist, in ein Nicht-AVI, z.B. MKV zu stecken. :wink:

Grüße,Günther

Antworten