Sind mp4-Bitraten die gleichen wie Flash-Bytes pro Frame?

Ich konvertiere Flash-Filme in Mp4 (und WebM) und muss viel über Webvideos lernen.

Der Prozess beginnt mit aus Flash exportierten MOVs. Zum Beispiel habe ich ein MOV von 640px x 290px, 1m 58s, 2843 Frames, 24fps, 171 MB, 11 Mbps.

Wenn ich das mit Handbrake in H.264 umwandele, mit konstanter Qualität von 20 RF, erhalte ich eine Datei von 3,45 MB mit - laut MediaInfo - "Gesamtbitratenmodus: variabel" und einer "Gesamtbitrate" von 240 kbps (Video 79, Audio 144 mit max. 170). Bitrate Viewer sagt mir, dass die durchschnittliche Bitrate (dies könnte nur Video sein) 92 kbps beträgt, mit einem 1-Sekunden-Spitzenwert von 1019.

Dann habe ich die variable Bitrate von Handbrake ausprobiert, denn (wenn ich deren Vorteile richtig verstanden habe) gibt es mitten im Video 20 Sekunden mit viel Bewegung, die mit einer höheren Bitrate vielleicht besser aussehen. Mit VBR 300 erhalte ich eine 6,3-MB-Datei mit (MediaInfo) einer Gesamtbitrate von 440 kbps, Video 300, Audio 144. Bitrate Viewer hat durchschnittlich 293 kbps, mit diesem Spitzenwert jetzt bei 3467. Für etwa 65% des Videos liegt unter 130 kbps. Ich habe die Bitrate Viewer-Profile hier abgelegt: http://www.casedasole.it/bitrates.html

Bei Flash waren Bytes pro Frame wichtig, denn beim Streaming musste der Browser so viel wie möglich im Voraus herunterladen, damit besonders große Bytes (wie ein großes JPEG) bereits geladen wurden, bevor der Flash-Player sie erreichte.

Meine Frage ist: Ist das bei Video-Bitraten das gleiche Prinzip? Wenn ich mir diese Spitzenbitrate von 3467 (konvertiert in 433 kB) anschaue, denke ich: "Das ist in Ordnung, bis dahin wird das gesamte Video geladen". Oder übersehe ich etwas?

Antworten (1)

Vergleichbar ja, aber im Gegensatz zu Flash haben Sie eine sehr konsistente durchschnittliche Größe über die Zeitleiste Ihrer Inhalte. Sie müssen also nicht so viel herunterladen, um Inhalte anzuzeigen, sondern können direkt mit der Wiedergabe des Videos beginnen, wenn Ihre Bandbreite gleich (in der Praxis sollte sie natürlich etwas höher sein) der durchschnittlichen Bitrate Ihres Videos entspricht. Sie müssen nur ein kleines bisschen vorladen, um Inkonsistenzen in der Downloadrate zu berücksichtigen.

Bearbeiten: Was Sie beachten müssen, wenn Sie sich das von Ihnen gepostete Diagramm ansehen, haben Sie ziemlich viele Frames mit sehr niedriger Bitrate, daher ist der Peak nicht wirklich so wichtig, sie heben sich etwas auf. Was beim Streaming wichtig ist, ist die durchschnittliche Bitrate, da dies die Bitrate ist, die benötigt wird, um das Video konsistent zu streamen, ohne anzuhalten, um den Puffer etwas mehr zu füllen. In Wirklichkeit benötigen Sie normalerweise etwas mehr als den Durchschnitt, um mit sehr "rauschenden" Bitraten fertig zu werden, die über lange Zeiträume steigen und fallen. Ihr Video ist bereits ein ziemlich extremes Beispiel, normalerweise haben Sie eine viel flüssigere Grafik. Es hängt immer von der Komplexität Ihres Videos ab, wie gut Sie einen Frame komprimieren können.

Also ... wenn mein mp4 mit den in diesem Diagramm gezeigten Raten streamt - casedasole.it/bitrate.png - sollte es keine Download-Probleme über eine Breitband-/Adsl-Verbindung geben (vorausgesetzt natürlich, ich habe einen guten Server). ?
normalerweise nicht, aber Sie können sich möglicherweise noch weiter verbessern, wenn Sie die niedrige Auflösung berücksichtigen, die Sie je nach Inhalt Ihres Videos möglicherweise unter 200 kbps bringen können. Es ist auch empfehlenswert, mit einem verlustfreien Codec aus Flash wie "Animation" zu exportieren, der in QuickTime (mov) verfügbar ist.
Ah, ich habe gerade bemerkt, dass Sie derselbe Benutzer sind, der die vorherige Frage gestellt hat. Ich wollte Sie nur mit video.stackexchange.com/questions/12508/… verlinken.
Ein paar Details hinzugefügt, vielleicht klärt das ein wenig für Sie auf.
Ja, es ist ein "work in progress", und es gibt so viel zu lernen. Ich exportiere aus Flash als Animation, maximale Qualität. Mein Hauptanliegen ist jetzt die Optimierung der Bitraten und Dateigrößen. Aber irgendwann muss ich vielleicht anfangen, mir CDNs anzusehen.
Wenn Sie sich dafür einsetzen und keine Angst vor CLI-Anwendungen haben, sollten Sie sich vielleicht an die x264-CLI wenden oder x264 über ffmpeg verwenden, um mehr Eingabeformate als mit einfachem x264 verfügbar zu haben. x264 ist der Encoder hinter Handbrake und bietet eine Menge Dinge zum Tunen und hat sogar ein Vorhersageprofil, das für Animationen anstelle von Live-Action-Inhalten geeignet ist. Es gibt mehrere großartige Anleitungen im Internet für professionelle x264-Codierung. Exportieren Sie außerdem immer verlustfrei, wenn Sie von Flash kommen, um die maximale Qualität zu erhalten.
Im Moment verwende ich AVANTI FFmpeg/AviSynth GUI 0.8.0 zum Erstellen von Webm. Aber nicht für mp4 - die Ausgabedateien haben Audio, aber kein Video im QT-Player und MPEG Streamclip; sind in VLC-Player und Google Chrome in Ordnung; Firefox sagt "die Datei ist beschädigt" und spielt sie nicht mit nativen Steuerelementen oder dem Videojs-Player ab. Avanti gibt mir diese Warnung: „Keine Installation von AviSynth gefunden (AVS-Optionen deaktiviert)“, aber es ist optional. Irgendeine Idee, was los ist?: www.casedasole.it/avanti.png