FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Allgemeines

DivX 2pass kbit/s errechnen

DivX 2pass kbit/s errechnen 2002-08-22 17:03
Fred
War eigentlich fuer englisch-sprachiges Forum vorgesehen die Frage, aber vielleicht koennt ihr mir ja auch helfen [img]http://www.sternenvolk.de/symb/10.gif[/img]

I use the following formula to calculate the DivX compression:

(700 * 8 * 1024 / seconds) * 1.024 - 128

Where seconds is the length of the film in seconds. The 1.024 makes the Kbit/s a kbit/s which DivX uses. The 128 is the bitrate of the audio stream.
After 2 tries with different movies I got one 707 and one 705 MB file. Is my formula incorrect? I can still get them on CD by overburning, but I'd prefer a 700 MB file :-)
Oh BTW I use Two-Pass-Encoding.

TIA, Fred


Re: DivX 2pass kbit/s errechnen 2002-08-22 17:30
Popcorn
Ich habe zwar keinen wirklich Plan, aber… zumindest ne Klammerung dürfte da doch fehlen? Sonst wäre die 128 am Ende doch recht egal.

Re: DivX 2pass kbit/s errechnen 2002-08-22 17:46
Fred
Ich habe zwar keinen wirklich Plan, aber… zumindest ne Klammerung dürfte da doch fehlen? Sonst wäre die 128 am Ende doch recht egal.
Nee, wieso? Ohne das "-128" kommst Du auf Werte bei ca. 1000.

Und man beachte, dass "1.024" nicht 1024 ist, sondern 1024/1000 also der Punkt ist eigentlich ein Komma [img]http://www.sternenvolk.de/symb/23.gif[/img]


Re: DivX 2pass kbit/s errechnen 2002-08-22 23:13
nik
Ohne Deine Formel nachprüfen zu wollen kann ich sagen das solche Berechnungen meistens für die Katze sind.
Die Bitrate eines Films ist nur die maximale Bitrate. D.h. jeder Film nutzt die Bitrate in den verschiedenen Szenen unterschiedlich aus und somit erhält man nur einen Schätzwert. Bei 'DivX ;)' kann die Bitrate auch darüber hinaus gehen.
Ein Ergebnis von 705 MB bei 700 geschätzten ist also schon verdammt gut [img]http://www.sternenvolk.de/symb/17.gif[/img]


Re: DivX 2pass kbit/s errechnen 2002-08-22 23:43
Fred
Ohne Deine Formel nachprüfen zu wollen kann ich sagen das solche Berechnungen meistens für die Katze sind.
Die Bitrate eines Films ist nur die maximale Bitrate. D.h. jeder Film nutzt die Bitrate in den verschiedenen Szenen unterschiedlich aus und somit erhält man nur einen Schätzwert. Bei 'DivX ;)' kann die Bitrate auch darüber hinaus gehen.
Ein Ergebnis von 705 MB bei 700 geschätzten ist also schon verdammt gut [img]http://www.sternenvolk.de/symb/17.gif[/img]
Aber ich benutze 2-pass-encoding, da sollte das schon stimmen. Bei meinen ersten 1-pass-Tests waren die Berechnungen in der Tat total unbrauchbar.



Re: DivX 2pass kbit/s errechnen 2002-08-24 15:05
Spacelord
Die Formel ist wohl korrekt. Nur wie das mit Kbit/kbit ist, weiß ich nicht mehr so genau, aber wird denn die Audiobitrate in Kbit oder kbit angegeben?

Ich glaube dass die Komprimierungsprogramme die Bitrate einfach nicht genau einhalten und dass dadurch diese Abweichungen entstehen. Ich habe vor einiger Zeit öfters komprimiert und zur Bitratenberechnung verschiedene Kalkulatoren verwendet, die sich in ihren Ergebnissen sowohl untereinander als auch von dem Endergebnis des Videos unterschieden.

Oder vielleicht hängt das auch einfach mit der Häufigkeit der Key-Frames zusammen, die größer sind als normale Frames. Dann müsste man die noch in die Formel einbauen, was einfach wäre wenn man deren Größe berechnen kann. Oder gab es nicht sogar 3 verschiedene Frame-Arten?

Re: DivX 2pass kbit/s errechnen 2002-08-24 23:14
Fred
Die Formel ist wohl korrekt. Nur wie das mit Kbit/kbit ist, weiß ich nicht mehr so genau, aber wird denn die Audiobitrate in Kbit oder kbit angegeben?
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa warum bin ich da nicht selbst drauf gekommen [img]http://www.sternenvolk.de/symb/2.gif[/img]
Wenn die Audiorate in Kbit/s angegeben wird (und davon gehe ich aus), dann muss ich nicht 128 sonder 131 abziehen. Es ergibt sich dann eine Filesize von 99,62% der ursprünglichen Formel, was statt 707 MB nur noch 704 ergibt und statt 705 nur noch 702. Naja das macht den Kohl aber auch nicht fett [img]http://www.sternenvolk.de/symb/9.gif[/img]


Re: DivX 2pass kbit/s errechnen 2002-08-24 23:44
Fred
Die Formel ist wohl korrekt. Nur wie das mit Kbit/kbit ist, weiß ich nicht mehr so genau, aber wird denn die Audiobitrate in Kbit oder kbit angegeben?
I've just encoded an MP3 of exactly 10 minutes length which is 9601357 bytes big. 9601357 / 600 * 8 = 128018 so it's obviously 128*1000 bit/s and NOT 128*1024 bit/s. That means my formula seems correct and I don't know what to do :-/

Auf deutsch [img]http://www.sternenvolk.de/symb/24.gif[/img] es sind kbit und meine Formel stimmt. Schade. Ich dachte, da laege der Haken.


Re: DivX 2pass kbit/s errechnen 2002-08-25 22:34
Spacelord
Die Sache mit den Key-Frames hast du aber noch nicht geprüft?

Re: DivX 2pass kbit/s errechnen 2002-09-01 01:13
Fred
Die Sache mit den Key-Frames hast du aber noch nicht geprüft?
Nee, ist mir mittlerweile eigentlich auch egal, ich krieg den Kram ja immer knapp mit Ueberbrennen auf nen 80er, also was soll's.



Re: DivX 2pass kbit/s errechnen 2002-09-01 15:32
Zaphod
Sorry, dass ich eure Diskussion unterbreche, aber.. da ihr ja ganz offensichtlich (im Gegensatz zu mir) Ahnung von Videobearbeitung habt.. folgendes fiktives Beispiel:
Jetzt mal rein hypothetisch angenommen, ich hätte mir über Kazaa "The Crow (DivX)", (DVD-Rip) ca. 600MB, heruntergeladen und wäre gerade dabei, mir vorfreuende Gedanken zu machen, mir jetzt diesen krassen Movie reinzupfeifen. Doch dann.. käme der Schock!! Und ich müsste feststellen, dass der Penner, welcher die Datei herstellte, offenbar ein wenig gepfuscht hätte, so dass nun die Videospur und die Audiospur um ungefär eine Sekunde verschoben wäre.. das wäre doch richtig beschissen, oder?
Was könnte man in einem solchen, zugegebenermaßen weit hergeholten Fall, tun ….jetzt mal der Fantasie freien Lauf gelassen? [img]http://www.sternenvolk.de/symb/25.gif[/img]

Re: DivX 2pass kbit/s errechnen 2002-09-01 16:07
Fred
Sorry, dass ich eure Diskussion unterbreche, aber.. da ihr ja ganz offensichtlich (im Gegensatz zu mir) Ahnung von Videobearbeitung habt.. folgendes fiktives Beispiel:
Jetzt mal rein hypothetisch angenommen, ich hätte mir über Kazaa "The Crow (DivX)", (DVD-Rip) ca. 600MB, heruntergeladen und wäre gerade dabei, mir vorfreuende Gedanken zu machen, mir jetzt diesen krassen Movie reinzupfeifen. Doch dann.. käme der Schock!! Und ich müsste feststellen, dass der Penner, welcher die Datei herstellte, offenbar ein wenig gepfuscht hätte, so dass nun die Videospur und die Audiospur um ungefär eine Sekunde verschoben wäre.. das wäre doch richtig beschissen, oder?
Was könnte man in einem solchen, zugegebenermaßen weit hergeholten Fall, tun ….jetzt mal der Fantasie freien Lauf gelassen?
Wie kann denn bei nem DVD-Rip Video und Audio out of sync sein? Das nächste Mal bessere Software benutzen…
Wenn Du das tatsaechlich korrigieren willst, nimm VirtualDub. The Crow öffnen, Video und Audio auf "Direct Stream Copy" stellen, Audio Interleaving entsprechend korrigieren, speichern, fertig.
Obwohl ich mir gerade nicht sicher bin, ob das Audio Interleaving bei Direct Stream Copy überhaupt funktioniert… Naja probier's mal aus, www.virtualdub.org


Re: DivX 2pass kbit/s errechnen 2002-09-01 22:10
nik
Aber ich benutze 2-pass-encoding, da sollte das schon stimmen. Bei meinen ersten 1-pass-Tests waren die Berechnungen in der Tat total unbrauchbar.

Wusste gar nicht das es sowas gibt…(schon länger??)
Naja bei Deinen Ergebnissen ziehst Du dann einfach ein paar MB ab und tataa…



Re: DivX 2pass kbit/s errechnen 2003-03-15 22:24
Fred
(700 * 8 * 1024 / seconds) * 1.024 - 128
Mittlerweile weiss ich, woran es liegt: Nach der Formel sind divx ohne sound und separates mp3 file zusammen ziemlich genau 700 MB gross. Durch das Zusammenfuegen entsteht ein Overhead, der nach meiner Erfahrung 3,75% der Audiobitrate ausmacht. Mit der neuen Formel

(700 * 8 * 1024 / seconds) * 1.024 - (128 * 1,0375)

Komme ich jetzt fast immer zwischen 699 und 701 MB, egal ob kurze oder lange Filme.

P.S.: Seit ein paar Wochen ist DivX 5.0.3 draussen, hat schon jemand Erfahrung mit diesem nPass Verfahren? Taugt das was?

Und LAME 3.93.1 ist released. (falls es jemanden interessiert)