Mir ist aufgefallen, wenn ich eine 64kbps MP3 Datei in eine 320kbps MP3 Datei Transcodiere wird diese wieder sehr groß. (Dummy-Bits aus der Wave werden wieder komprimiert und stattdessen andere (wichtige bits)eventuell weggelassen)
Wenn ich aber eine 64kbps MP3 Datei in eine OGG Vorbis Datei Q6 umwandele wird diese nicht viel größer als das MP3 Original. Merkt dieser fortgeschrittene Decoder etwa wie stark bereits komprimiert worden ist und versucht dann nicht entsprechend Dummy-Bits wieder vollständig zu komprimieren? Wenn das so wäre und Vorbis Dummie-Bits erkennen kann dann wäre es auch möglich das bei einer Transcodierung ins Vorbis Format viel weniger Qualität verloren geht als in das z.b. MP3 Format. Dar Vorbis dann zuerst mal nur die eh unwichtigen Dummy-Bits weglässt.
Immerhin ist es mit diesem Format auch möglich die Bit rate zu senken ohne eine Datei neu zu berechnen und somit nochmal Qualität zu verlieren. Damit ist Vorbis Mp3 meiner Meinung nach eine Welt vorraus.
27.01.2008, 15:33
#
2
FreewareGuide
Moderator
Registriert seit: 31.10.2002
Ort: Oldenburg
Beiträge: 5.432
Moin,
da fehlt Dir aber das geringste Grundverständnis, wie Audio in Digital funktioniert. Wenn Du 64 kbps transkodierst, dann wird es immer erst einmal entpackt. Bei Audio-Komprimierung geht es aber nicht darum, dass da Bits und Bytes weggelassen werden, die man ggf. nicht hört, sondern darum (ganz grundsätzlich, auch bei MP3 oder WMA), dass die Schallwellen, die durch diese Bits und Bytes repräsentiert werden (Du weißt schon, die Schwingungen, die Dein Lautsprecher an die Luft weitergibt und die dann auf Dein Trommelfell treffen usw.) analysiert und vereinfacht werden. Ja, so intelligent ist jede (verlustbehaftete) Audio-Kompression, nicht nur OGG. Dementsprechend kommt da eine neue, einfachere Menge von Kurven heraus, die diese Schwingungen repräsentiert. Und darum gibt es auch keine offensichtlichen Bits und Bytes, die bei der Transkodierung als fehlend berücksichtigt werden könnten.
Es ist auch nicht ganz einfach, auf einer Audio-CD zu erkennen, ob ein Stück Musik vorher mal komprimiert war oder nicht (solange man nicht das unkomprimierte Original zum Vergleich hat). Es geht, über gewisse statistischen Betrachtungen, aber funktioniert keineswegs zuverlässig. (Vgl. z.B. TauAnalyzer)
...bin letztens durch die Aufnahmeprüfung zur Hellseherschule gekracht!
27.01.2008, 17:58
#
3
geldmann3
Threadstarter
Registriert seit: 24.11.2007
Ort: In Frankfurt am Main
Beiträge: 582
Warum werden Ogg Vorbis Dateien nachdem sie schon mal in einem anderem Format sehr klein gemacht waren nicht wieder groß ?
Wenn ich eine 64 kbps MP3 Datei in eine 320 kbps MP3 datei umwandle wird sie ja auch wieder groß.
Bei Ogg bleibt sie klein ...
Merkt Ogg Vorbis das da nichts mehr an Bits herauszuholen ist ?
Wenn nicht, warum bläst sich die Datei denn nicht mehr auf ?
27.01.2008, 18:20
#
4
FreewareGuide
Moderator
Registriert seit: 31.10.2002
Ort: Oldenburg
Beiträge: 5.432
Ooops, dann habe ich mich verlesen. Okay, tatsächlich seltsam. Wie transkodierst Du?
Aber Sätze wie "Immerhin ist es mit diesem Format auch möglich die Bit rate zu senken ohne eine Datei neu zu berechnen und somit nochmal Qualität zu verlieren." verstehe ich weiterhin nicht. Wenn die Bitrate gesenkt wird, dann wird auch Qualität gesenkt, dann wird auch neu gerechnet. Zauberei gibt es auch bei OGG nicht.
...bin letztens durch die Aufnahmeprüfung zur Hellseherschule gekracht!
27.01.2008, 18:44
#
5
FreewareGuide
Moderator
Registriert seit: 31.10.2002
Ort: Oldenburg
Beiträge: 5.432
Ach, entschuldige, ich tue mich echt schwer, in Deinem Beitrag zwischen echter Frage und verwirrend falscher Schilderung zu unterscheiden. Also, ich versuche jetzt mal die "Dummy-Bits" (das ist halt Unfug, vgl. meinen ersten Beitrag hier) zu vergessen und es auf die tatsächlich spannende Frage zuzuspitzen:
Warum ist eine Q6-OGG nicht größer als die zugrunde liegende 64 kbps-MP3?
Weiß ich tatsächlich grade nicht, muss ich doch erst was testen bevor ich antworten kann.
Trotzdem nochmal die Frage: Dir ist bewusst, dass es keine gute Idee ist, von einem verlustbehafteten Format (auch noch in miserabler 64 kbps-Qualität) in ein anderes verlustbehaftetes Format zu transkodieren?
.
27.01.2008, 18:59
#
6
FreewareGuide
Moderator
Registriert seit: 31.10.2002
Ort: Oldenburg
Beiträge: 5.432
Und die Dritte, ich wollte es jetzt mal ausprobieren, aber die offiziellen Ogg-Encoder akzeptieren doch MP3 garnicht als Input. Nochmal die Frage also: Womit encodierst Du?
Nachtrag: Ich habe mal den WAV-Umweg von Hand dazwischen gebastelt, und demnach sieht das alles ganz wie erwartet aus. Natürlich ist die OGG, die der 64 kbps entspringt, etwas kleiner, das Audio-Signal ist halt etwas "einfacher gestrickt", aber eklatante Unterschiede kann ich nicht feststellen.
also ich denke es liegt vorallem mal daran, dass ogg-vorbis in VBR codiert. wenn du im mp3 encoder 320 einstellst, dann nimmt er auch die 320, da lässt sich nicht dran rütteln, also wie immer: wirf nicht VBR (variable bps) mit CBR (konstante bps) in einen topf! mach mal folgendes: transcode eine 64kbps CBR mp3
- in mp3 VBR V2 (lame 3.97 vorrausgesetzt)
dabei sollte im Normalfall eine Datei mit mindestens ~200 kbps rausspringen. Der Normalfall bezieht sich auf eine unkomprimierte Quelle. Es würde mich nicht wundern, wenn auch in diesem Fall die durchschnittliche Bitrate darunter liegt, beschwören kann ich es aber nicht.
Der Trick bei VBR ist nämlich, dass der Encoder immer die Bitrate nimmt, die zum erzielen einer bestimmten Qualität erforderlich ist, im Gegensatz dazu wird bei der CBR immer eine konstante Bitrate verwendet, egal wie der Input aussieht.
Beispiel: encoden einer Minute Stille.
mp3 CBR 128 kbps: wird ca 1MB belegen
mp3 CBR 256 kbps: wird ca 2MB benötigen
mp3 VBR V2: wird wenige kB (16 bis 64 kB) belegen, da der encoder merkt, dass da nichts zu encoden ist.
Vorbis Q3: wird ebenso nur wenige kB brauchen, da auch hier der encoder so "intelligent" ist zu bemerken, dass da eigentlich nichts ist.
@geldmann3
es wäre auch interessant zu wissen, ob die input-mp3 mono oder stereo war, und wie viele kHz diese hat.
28.01.2008, 03:37
#
8
geldmann3
Threadstarter
Registriert seit: 24.11.2007
Ort: In Frankfurt am Main
Beiträge: 582
Nun zu tripleM.
Mit der Vermutung das das MP3 Stück CBR ist liegt ihr beide richtig
64Kbps
48000KHZ
Stereo
Allerdings habe ich Vorbis auch auf CBR stehen (im MediaCoder)
28.01.2008, 03:45
#
9
geldmann3
Threadstarter
Registriert seit: 24.11.2007
Ort: In Frankfurt am Main
Beiträge: 582
Zuerst mal zu Freeware Guide mit
"Immerhin ist es mit diesem Format auch möglich die Bit rate zu senken ohne eine Datei neu zu berechnen und somit nochmal Qualität zu verlieren. Damit ist Vorbis Mp3 meiner Meinung nach eine Welt vorraus."
Meinte ich natürlich nicht das es möglich ist die Bit rate zu senken ohne dabei Qualität zu verlieren sondern das es möglich ist die Bit rate zu senken ohne durch den Aufwand einer zweiten Transcodierung Qualität zu verlieren. Ogg hat dieses Feature
"--- ohne eine Datei neu zu berechnen und somit nochmal Qualität zu verlieren ---"
Mir ist bewusst das es nicht sinnvoll ist "von einem verlustbehafteten Format (auch noch in miserabler 64 kbps-Qualität) in ein anderes verlustbehaftetes Format zu transkodieren" allerdings sollte dies auch nur ein Beispiel sein. ich wollte es eben so wenig komplex wie möglich.
- Ich Transcodiere mit dem Tool Mediacoder oder mit SUPER ( Klar wird erst in WAV umgerechnet)
Trotzdem danke das du dir die Arbeit gemacht hast
28.01.2008, 05:16
#
10
tripleM
Registriert seit: 30.07.2003
Beiträge: 89
Vorbis und CBR? Hm ich wusste garnicht dass solche converter-tools die Option bieten, denn meines erachtens ist das ein völlig sinnfreies Feature. Die Entwickler von Vorbis raten explizit von der Verwendung von konstanten Bitraten ab, und empfehlen ausschließlich die Q Presets. Zugegeben kann man damit die Zielgröße der Datei nicht exakt bestimmen, aber ein paar Bytes mehr oder weniger sind ja nicht die Welt.
Also die Q-Presets bei Vorbis sind VBR. Wenn du Q 6 verwendest dann ist das VBR mit durchschnittlich 180 bis 210 kbps nominal (also die Datei die du bei Q6 erhältst wird zwischen ~180 und ~210 kbps aufweisen), tatsächlich variiert die Bitrate wesentlich mehr.
Bei mp3 gab es früher 2 Gründe, warum sich zunächst CBR durchsetzte:
ein Grund war die schlampige Implementierung der VBR Algorithmen in den Encodern. Ich erinnere mich einmal mit Xing Catalyst ein paar Versuche mit VBR gemacht zu haben, deren Ergebnisse mich lange vor VBR zurückweichen ließen
Der andere war die fehlende Unterstützung auf Hardwareseite, viele der ersten mp3 Player konnten mit VBR-Mp3s nicht richtig umgehen, obwohl VBR zum Mp3 Standard gehört, und sich ein Player, der keine VBRs spielen kann, im Grunde gar nicht MP3-Player schimpfen darf.
Bei modernen Playern und modernen Encodern hingegen ist VBR kein Problem mehr. Lame ist besonders auf das encoden in VBR optimiert.
Und bei Vorbis hat man von Anfang an mit den -q settings VBR eingesetzt, da das Verfahren wesentlich intelligenter ist, als eine Aufzeichnung komplett in CBR zu encoden. Ist ja klar, bei VBR wird immer so viel Bitrate benutzt, wie laut der Vorgabe benötigt wird, um die angestrebte Qualität zu erreichen. Herrscht gerade Stille, wird das minimum verwendet, wird der Input komplexer, mit vielen Frequenzen, so wird eine hohe Bitrate verwendet, um das Original möglichst gut abzubilden. Das ist eben der Sinn der -q presets bei Vorbis bzw. der -V bei Lame. Man spricht daher bei VBR (variable bitrate) auch von Constant Quality im gegensatz zu CBR (constant bitrate), wo man immer nur die selbe Bitrate zur Verfügung hat, egal ob Stille, Musik oder Sprache. Somit hat man bei CBR keine konstante Qualität, da die festgelegte Bitrate für einige Stellen des Input zwar ausreichend sein mag, für andere aber eben deutlich zu niedrig sein wird und für wieder andere evtl sogar zu hoch angesetzt (etwa für Stille).
Jetzt bin ich aber weider voll vom Thema weggekommen.
Bitrate kürzen ohne transcoding:
Es ist möglich, dass es so eine Option gibt. Schließlich arbeiten auch DVD-komprimierer mit einer solchen Technik, die eigentlich für das Streaming entwickelt wurde. Im Prinzip werden einfach selektiv Informationen weggelassen, was natürlich auch wieder in einer geringeren Qualität resultiert. Ob das allerdings besser ist als ein volles Transcoding (mit decode/encode), ich weiß es nicht, müsste mich mal informieren.
28.01.2008, 06:46
#
11
FreewareGuide
Moderator
Registriert seit: 31.10.2002
Ort: Oldenburg
Beiträge: 5.432
Zitat:
Zitat von geldmann3
Meinte ich natürlich nicht das es möglich ist die Bit rate zu senken ohne dabei Qualität zu verlieren sondern das es möglich ist die Bit rate zu senken ohne durch den Aufwand einer zweiten Transcodierung Qualität zu verlieren. Ogg hat dieses Feature
"--- ohne eine Datei neu zu berechnen und somit nochmal Qualität zu verlieren ---"
Entschuldige, wie soll man so ernsthaft sowas diskutieren? Wenn Du etwas zitierst, dann gehört dazu, dass Du die Quelle nennst. Dies ist das Internet, WWW, Hypertext, ich bitte um Links zu den Quellen Deiner Zitate. Google findet zu Deinem Satz nur diesen Beitrag selbst.
Also, mir ist dieses Feature unbekannt (ich würde mich auch nicht Experte für OGG schimpfen), vielleicht funktioniert es wie @tripleM vermutet, aber in jedem Fall macht es keinen Sinn für unsere Anwendungen. Eine Bitrate ist dafür da, die Menge an Information zu beschreiben, die für einen Zeitraum (Sekunde) zur Verfügung steht. Und natürlich will Audio-Kompression möglichst viel der Original-Information sichern, also wird die zur Verfügung stehende Bitrate auch mit sinnvollen Daten gefüllt. Wenn ich plötzlich sage, ich will die Bitrate runtersetzen, dann müssen Daten über die Klinge springen. Und wenn ich darauf verzichte, die Gesamtmenge der Daten zu betrachten und daraus sinnvoll zu berechnen, dann muss ich einfach mal irgendwas weglassen. Selbst wenn ich ansatzweise intelligent was weglasse, es ist weg, ersatzlos gestrichen - das ist nicht, wie Audiokompression funktionieren soll. Das kann nicht sinnvoll sein, wenn man sich ansonsten Gedanken um Qualität macht. In meinen Augen: Unfug.
Wenn es für Streaming solche Methoden gibt, ist das auch ein komplett anderes Anwendungsgebiet, und da wird auch nur als Ausweichmöglichkeit genutzt. Üblicherweise wird immer ein Signal encodiert, dessen Datenmenge auch durch die Leitung gepresst werden kann. Nur sichert das Internet keine Bandbreite zu, die ist immer nur statistisch, und wenn dann doch nicht soviel durch die Leitung tropft, dann kann man on-the-fly versuchen, die Datenmenge des bereits encodierten Signals weiter zu reduzieren, um dem Empfänger ein zumindest ansatzweise erträgliches Ergebnis zu liefern.
Transkodierung sollte sowieso vermieden werden, solche "ich verringere die Bitrate und berechne nicht mal neu"-Methoden haben für Musik auf der eigenen Festplatte gar keine Existenzberechtigung.
Zitat:
Mir ist bewusst das es nicht sinnvoll ist "von einem verlustbehafteten Format (auch noch in miserabler 64 kbps-Qualität) in ein anderes verlustbehaftetes Format zu transkodieren" allerdings sollte dies auch nur ein Beispiel sein. ich wollte es eben so wenig komplex wie möglich.
Zu Deinem ursprünglichen Problem, entweder Du versuchst es mal direkt mit einem OGG-Encoder oder Du erklärst mal ganz genau, was für Einstellungen Du im (für mich) MediaCoder gesetzt hast, und lieferst ein paar mehr Details zu Deinen Testdaten. Sind Deine Ausgangsdaten ggf. bereits transkodiert gewesen? CBR/VBR? Exakte Dateigrößen?
Allein auf die einfache Grundaussage Deiner Ursprungsfrage bezogen, dass OGG so "intelligent" kodiert, dass es magisch weiß, welche Bitrate die MP3 mal hatte und darum die eigene Bitrate entsprechend reduziert, trotz anderer Einstellung, dann sage ich: NEIN.