Unsinnige Angabe der Videobitrate, bei unter avidemux erstellten Videodateien?

Started by Strietzl, April 19, 2020, 03:04:03 PM

Previous topic - Next topic

Strietzl

Ich verwende schon seit vielen Jahren Avidemux, zum schneiden und konvertieren von Videos. Seit einigen Programmversionen, ich glaube, seit umstellung von 2.5x auf 2.7x, erhalte ich allerdings nur noch völlig sinnlose Angaben zur Videobitrate, wenn ich diese in den Eigenschaften/Details der erstellten Videodatei aufrufe.

Gespeichert werden meine Videos, mit einer Videobitrate von 3000kb/s, Videocodec XVID, Audio MP3, Container AVI. In den Eigenschaften, wird mir dann aber immer eine astronomische Videobitrate von fast 64000kb/s angezeigt. Das verstehe ich nicht, so ein Unsinn. Oder gibt es da noch eine Einstellung, von der ich nichts weiß? Gefunden habe ich bisher noch nichts.

Egal, welches Betriebssystem ich verwende, ob Linux oder Windows. Anzeige hier, in den Datei- Eigenschaften, unter Windows. Unter Linux, weiß ich nicht, wie ich mir diese ansehen kann. Des Weiteren, stimmt das Bildformat auch nicht mehr ganz, ich habe oben und unten immer einen mehrere Millimeter breiten schwarzen Balken, was früher nicht der Fall war.

Auf dem angehängten Bild ist der ganze Unsinn zu sehen:

eumagga0x2a

Nicht unser Bug.

Quote from: Strietzl on April 19, 2020, 03:04:03 PM
Gespeichert werden meine Videos, mit einer Videobitrate von 3000kb/s, Videocodec XVID, Audio MP3, Container AVI. In den Eigenschaften, wird mir dann aber immer eine astronomische Videobitrate von fast 64000kb/s angezeigt.

Microsoft schätzt AVI zutreffenderweise als ein obsoletes Format ein, nicht wert einer ordentlicher Unterstützung im Windows Explorer. (Okay, Nautilus hat kein Problem, richtige Bitrate zu ermitteln, aber trotzdem machen wir was falsch). Das Problem ist nicht Codec-bezogen.

...sondern Muxer-bezogen. Mit etwas Mühe habe ich eine sehr alte AVI-Datei, mit einer sehr alten Avidemux-Version erstellt, gefunden, bei der die im Windows Explorer angezeigte Bitrate stimmt. Ebenfalls wird bei einer AVI, im stream copy Modus von FFmpeg erstellt, die Bitrate korrekt angezeigt.

Werde mir diese Regression bei Gelegenheit anschauen (wahrscheinlich aber erst nach 2.7.6). Danke für die Meldung.

Davon unbenommen, was ist der Grund, AVI und dazu noch mit einem völlig veralteten Codec zu verwenden? Sind die Videos zur Wiedergabe auf einem Uralt-Gerät bestimmt?

QuoteEgal, welches Betriebssystem ich verwende, ob Linux oder Windows. Anzeige hier, in den Datei- Eigenschaften, unter Windows. Unter Linux, weiß ich nicht, wie ich mir diese ansehen kann.

Im Nautilus: Rechtsklick auf die Datei --> Eigenschaften --> Audio/Video (s. Screenshot)

QuoteDes Weiteren, stimmt das Bildformat auch nicht mehr ganz, ich habe oben und unten immer einen mehrere Millimeter breiten schwarzen Balken, was früher nicht der Fall war.

Das muss man anhand von konkreten Beispielvideos schauen. Ich bekomme keine Balken, wenn ich ein Originalvideo mit einem bis an die Ränder hellen Bild als Xvid neu kodiere, weder bei der 1280x720 noch bei der 720x576 Auflösung.

Bei 720x576 muss man auch berücksichtigen, dass AVI keine Informationen zu Display Aspect Ratio speichert, die Info kann also nur vom Codec kommen. Da das übliche Seitenverhältnis entweder 4:3 oder 16:9 beträgt (und nicht 5:4), muss man bei Xvid darauf achten, im Tab "Seitenverhältnis" von "1:1 (PC)" auf "4:3 (PAL)" oder gegebenfalls auf "16:9 (PAL)" umzuschalten.

eumagga0x2a

Die im Windows Explorer angezeigte Bitrate wird nun bei AVIs, erzeugt durch künftige Avidemux-Builds, der tatsächlichen entsprechen – Avidemux nutzte Platzhalter-Werte für dwMaxBytesPerSec (das ist die maximale Transferrate, die nötig ist, um die jeweilige AVI-Datei in Echtzeit zu wiedergeben) und für dwSuggestedBufferSize (die maximale Paketgröße für den jeweiligen Video- oder Audio-Stream). Es genügt, den Wert des ersteren auf null zu setzen, um Windows Explorer zu veranlassen, tiefer in die Datei zu schauen und die tatsächliche Bitrate zu errechnen:

[muxerAvi] Leave maximum transfer rate and suggested buffer size at zero instead of using dummy values, else we confuse Windows Explorer.

Die anderen Werte sollen laut Microsoft-Dokumentation auf null gesetzt werden, wenn die genaue Puffergröße unbekannt ist. Die Verwendung von Platzhaltern war demnach unzulässig.

Übrigens, Windows Explorer interpretiert dwMaxBytesPerSec anscheinend spezifikationswidrig als die durchschnittliche Bitrate – in Wirklichkeit ist es die maximale Bitrate, die in der Datei vorkommt, kann also den Durchschnittswert je nach Video locker um ein Vielfaches übersteigen.

Was die Darstellung von anamorphen videos mit 16:9 Seitenverhältnis angeht, wäre die Verwendung von einem Format, das Seitenverhältnis speichern kann (mp4, mkv) von Vorteil. Nur wenige Player interessieren sich für Informationen vom Videocodec. Ebenso müsste geklärt werden, ob das Ausgangsmaterial interlaced ist. Beim Neukodieren sollte dann unbedingt ein Deinterlacer hinzugeschaltet werden.

Strietzl

Die Eingabedatei ist völlig egal, das zu niedrige Bild, habe ich immer, bei Videos in 16:9. Im VLC, muss ich manuell auf "16:9" schalten, damit diese Balken weg sind. Unter der alten Avidemux- Version, wie bereits gesagt, gab es dieses Problem NICHT, ebenso wenig, wie diese ominöse Bitratenanzeige.
Ich habe einen portablen DVD Player, von LENCO. Dieser unterstützt NUR AVI- Dateien, mit xvid (nicht divx) und mp3 Audio. Format 720 x 576, mit anderen Formaten und Codecs funktioniert es NICHT. Nur mein Dyon- 20" Fernseher, kann auch andere Codecs & Formate  abspielen, jedoch wird auch hier avi, xvid, mp3 empfohlen.
Der Fernseher, zeigt mir keine schwarzen Balken, oben und unten, allerdings muss für 16:9 und 4:3 jeweils manuell eingestellt werden. Im Automatik- modus, werden 16:9 Videos in etwa 4:3 angezeigt und 4:3 Videos sind "Quadratisch". Die Einstelleungen 16:9 oder 4:3, in den Codec- Einstellungen, wurden dementsprechend eingegeben, nicht 1:1!
Beim Lenco klappt die Automatsiche Einstellung, wird jeweils im korrekten Format wiedergegeben. Allerdings auch hier, die beiden Balken, oben und unten. Bei Videos vom früheren avidemux, keine Balken.
Was interlacing sein soll und wo ich das einstellen kann, weiß ich leider nicht. Ich finde keinerlei Einstellung dazu.

eumagga0x2a

Quote from: Strietzl on April 22, 2020, 12:14:16 PM
Im VLC, muss ich manuell auf "16:9" schalten, damit diese Balken weg sind. Unter der alten Avidemux- Version, wie bereits gesagt, gab es dieses Problem NICHT

Bitte so eine von einer alten Avidemux-Version (welchen?) erzeugte Datei mit Auflösung 720:576, die automatisch mit dem 16:9 Seitenverhältnis angezeigt wird, als Sample über WeTransfer, Mega, Dropbox oder Google Drive bereitstellen, damit ich mir ein Bild davon machen kann, warum dort das Problem nicht auftritt. Im Code von 2.5.6 finde ich auf die Schnelle keine Spuren von Unterstützung für das Schreiben des vprp (video properties) Chunks (einer OpenDML-Erweiterung, womit doch das Seitenverhältnis in AVIs vom Typ OpenDML angegeben werden kann).

QuoteWas interlacing sein soll und wo ich das einstellen kann, weiß ich leider nicht. Ich finde keinerlei Einstellung dazu.

Intrerlacing (Zeilensprungverfahren) ist keine Einstellung sondern eine Eigenschaft des Videos. In den Zeiten der analogen Röhrenfernseher reduzierte man das Flimmern indem man die ungeraden und geraden Zeilen des Bildes zeitlich versetzt sendete (als wäre die Bildwiederholfrequenz verdoppelt, aber ohne die Erhöhung der Bandbreite). Für digitale Displays, die das Bild ja progressiv anzeigen, müssen solche in Halbbilder gespaltene Videos aufwendig wieder in vollständige Bilder umgerechnet werden, sonst zieren Kammartefakte alle bewegten Objekte.

Beim Neukodieren des Videos sollte diese Umrechnung vor der Komprimierung stattfinden (oder der Encoder muss konfiguriert werden, die Bilddaten als zeitlich versetzte Halbbilder zu interpretieren, und das unterstützt Avidemux für Xvid nicht).