ubuntuusers.de

ffmpeg: ...non-standard and wasteful way to store B-frames

Status: Gelöst | Ubuntu-Version: Ubuntu MATE 20.04 (Focal Fossa)
Antworten |

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6518

Wohnort: Hamburg

Ich experimentiere gerade damit, individualisierte Thumbnails von Video Dateien zu erzeugen, wobei ffmpeg die eigentliche Arbeit machen soll.

Dabei bekomme ich folgenden Hinweis:

...
[mpeg4 @ 0x5574caa2b2e0] Video uses a non-standard and wasteful way to store B-frames ('packed B-frames'). Consider using the mpeg4_unpack_bframes bitstream filter without encoding but stream copy to fix it.
Output #0, image2, to '/home/dakuan/.cache/thumbnails/normal/tthumb1000.png':
...

Es handelt sich dabei um eine .avi Datei. Von daher verstehe ich den Hinweis auf mpeg4 nicht. Ich wüsste jetzt auch nicht wie ich die gegebene Empfehlung umsetzen sollte.

Die Eingabezeile kann ich momentan nicht posten, da sie vom aufrufenden Programm erzeugt und (momentan) nicht ausgegeben wird.

Sollte ich das ernst nehmen oder einfach ignorieren?

P.s. die erzeugte Datei sofort in das Zielverzeichnis zu schreiben und später umzubenennen ist eine Empfehlung von freedesktop.org.

ElectricSheep

Anmeldungsdatum:
15. Oktober 2005

Beiträge: 162

AVI ist das Container-Format, MPEG4 der Codec. "Packed B-frames" sind kein Standard und manche Geräte können Probleme mit der Wiedergabe haben. Wenn bei dir alles funktioniert kann man das auch ignorieren. Andernfalls mit FFMPEG korrigieren:

http://underpop.online.fr/f/ffmpeg/help/mpeg4_005funpack_005fbframes.htm.gz

hakel2020

Anmeldungsdatum:
21. Januar 2021

Beiträge: 1169

Ich würde moderne Codecs nie in einem avi Container speichern. Einige Codecs funktionieren gar nicht mehr mit avi, meines Wissens.

Das ist keine gute Idee ... 🐸

Den Container zu wechseln sollte aber doch kein Problem sein, oder ?

Dakuan

(Themenstarter)
Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6518

Wohnort: Hamburg

Also die Videodatei ist nicht von mir. Meine eigenen stammen alle noch aus der Zeit von Mini-DV. Die hatten ein eigenen Codec glaube ich. Dass man da auch mpeg4 reinpacken kann, wusste ich nicht. Ich hatte damals nur noch mit mpeg2 zu tun und die hatten immer die Endung .mpg.

Ohne die Erklärung was da wirklich drinn ist, konnte ich auch mit mpeg4_unpack_bframes bitstream filter nichts anfangen. Ich werde das nachher mal umspeichern.

ElectricSheep schrieb:

... und manche Geräte können Probleme mit der Wiedergabe haben.

Ich habe derade mal ausprobiert, was mein alter Sony Fernseher damit macht. Hat er sauber abgespielt. Das wundert mich eigentlich, denn bei einigen JPG Bildern zickt er rum (kann kein 4:4:4 Subsampling).

Danke für die Erklärungen.

Dakuan

(Themenstarter)
Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6518

Wohnort: Hamburg

Da scheint noch mehr kaputt zu sein.

Wie auf der Verlinkten Webseite vorgeschlagen habe ich die Datei umgewandelt. Allerdings hatte ich dabei .mp4 als Ziel ausgewählt, nach folgendem Muster:

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.mp4

Dabei erhalte ich:

[mp4 @ 0x55dea4d1d740] 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
[mp4 @ 0x55dea4d1d740] pts has no value
    Last message repeated 595 times

Darf man das so nicht machen?

shinichi

Anmeldungsdatum:
14. März 2008

Beiträge: 735

Wohnort: Lausitz + Honshu

Wie wärs wenn du als Ausgabe erstmal eine AVI-Datei machst? Kannst später immernoch den container auf MKV wechseln.

eumagga0x2a

Anmeldungsdatum:
24. Mai 2019

Beiträge: 67

Dakuan schrieb:

Da scheint noch mehr kaputt zu sein.

Da ist nichts kaputt, sondern das Uralt-Format AVI sieht Präsentations-Zeitstempel (PTS), für moderne Formate wie MP4 unbedingt benötigt, gar nicht vor. Am einfachsten wäre hier eine Software wie Avidemux zu verwenden (am besten den letzten Nightly, sonst den letzten Release 2.7.8), die fehlende PTS automatisch erzeugt.

Die naheliegende ffmpeg-Kommandozeile

1
ffmpeg -fflags +genpts INPUT.avi -c copy -bsf:v mpeg4_unpack_bframes OUTPUT.mp4

scheint zumindest mit dem einen Sample, das ich gerade ausprobiert habe, nicht zufriedenstellend funktioniert zu haben (mpv beklagte sich anschließend über ungültige Zeitstempel, Keyframes waren nicht korrekt als solche markiert).

eumagga0x2a

Anmeldungsdatum:
24. Mai 2019

Beiträge: 67

shinichi schrieb:

Kannst später immernoch den container auf MKV wechseln.

Womit man vor genau demselben Problem stünde, denn MKV benötigt ebenfalls gültige Präsentations-Zeitstempel.

eumagga0x2a

Anmeldungsdatum:
24. Mai 2019

Beiträge: 67

eumagga0x2a schrieb:

Die naheliegende ffmpeg-Kommandozeile

1
ffmpeg -fflags +genpts INPUT.avi -c copy -bsf:v mpeg4_unpack_bframes OUTPUT.mp4

scheint zumindest mit dem einen Sample, das ich gerade ausprobiert habe, nicht zufriedenstellend funktioniert zu haben (mpv beklagte sich anschließend über ungültige Zeitstempel, Keyframes waren nicht korrekt als solche markiert).

FFmpeg produziert tatsächlich einen kompletten Murks. Bitte für den Zweck Avidemux benutzen und gut ist.

Dakuan

(Themenstarter)
Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6518

Wohnort: Hamburg

Bitte für den Zweck Avidemux benutzen und gut ist.

Bisher hatte ich um Qt5 Sachen immer einen Bogen gemacht. Aber ich könnte testweise noch ein Kubuntu installieren, falls 200 GiB dafür reichen. Kann aber noch einige Tage dauern. Es haben sich gerade wichtigere Probleme aufgetan. Jedenfalls weiß ich jetzt worum es geht.

Warum greife ich immer in <schlechtes Wort>. Passiert das nur mir?

eumagga0x2a

Anmeldungsdatum:
24. Mai 2019

Beiträge: 67

Dakuan schrieb:

Bisher hatte ich um Qt5 Sachen immer einen Bogen gemacht. Aber ich könnte testweise noch ein Kubuntu installieren

??? Möglicherweise entgeht mir nur die tiefere Ironie.

Avidemux gibt es als AppImage, man muss von Qt rein gar nichts im System installieren.

Warum greife ich immer in <schlechtes Wort>. Passiert das nur mir?

Multimedia ist technisch per se genau das ;-D

Dakuan

(Themenstarter)
Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6518

Wohnort: Hamburg

Ok, AppImage und Snap hatte ich in meiner Wahrnehmung bisher immer ausgeblendet. Vorwiegend wegen der häufigen Probleme mit der Einstellung der richtigen Zugriffsberechtigung. Aber in diesem Fall könnte das eine Lösung sein, zumindest für einen Test. Bei 80% freien Plattenplatz kann man das ja mal machen 😉

Multimedia ist technisch per se genau das ;-D

Nicht nur bei Multimedia (Anwendungen). Wenn man selber programmiert passiert das auch dauernd. Ich versuche gerade herauszufinden ob das aktuelle Problem mein eigenes ist, oder ein Bug im Toolkit (gab es auch schon). Nach dem Wochenende weiß ich (hoffentlich) mehr.

Antworten |