Opus als Ersatz für Vorbis geeignet?

  • Hallo,

    bisher komprimiere ich aufgenommene Filme mit x264 (Video) und vorbis (Audio), und packe das Ganze in einen mkv-Container. Nun überlege ich, ob ich nicht von vorbis auf opus umsteigen sollte. Vergleichstests zufolge soll Opus ja garnicht so schlecht sein, und mkvmerge muxt es ohne Murren und Knurren.

    Wäre das eine Wahl? Oder übersehe ich etwas?

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Qualitativ ist Opus derzeit mit Abstand der beste Audio-Codec, wenn man den offiziellen Angaben trauen kann. Er vereinigt die Vorteile einer Vielzahl unterschiedlicher Methoden in sich, die jeweils für sich bereits auf unterschiedliche spezielle Anwendungsfälle optimiert waren, und erreicht so in seiner Gesamtheit und Vielfältigkeit Konkurrenzfähigkeit zu jedem einzelnen.

    Er hat allerdings auch ein paar Einschränkungen, die man kennen muss:

    Zum einen wird alles auf eine Basis von 48 kHz resampelt. Beim Abspielen gibt es eventuell wieder ein Resampling auf die ursprüngliche Frequenz, wenn gefordert.

    Zum anderen war ja schon die Unterstützung von Vorbis durch Consumer-Player eher Zufall, ich kenne auch Geräte, die es können, damit aber nicht beworben werden (als ob jemand dafür bezahlen würde, dass das geheim gehalten wird?!). Ob nun die Unterstützung von Opus besser wird, wird sich zeigen; immerhin scheint die Basis als Standard gefestigter zu sein, weil viele bedeutende Entwicklungsfirmen daran beteiligt waren.

  • Zum einen wird alles auf eine Basis von 48 kHz resampelt. Beim Abspielen gibt es eventuell wieder ein Resampling auf die ursprüngliche Frequenz, wenn gefordert.

    Hier steht, es gingen Samplingraten von 8-48kHz. Ist das vielleicht neu? Oder wird intern alles auf 48kHz gesampelt?

    Weiterer Nachteil ist wohl die fehlende Kanalkopplung bei Multichannel. Es können wohl immer nur 2 Kanäle gekoppelt werden.

    Getestet habe ich mit dem TAudioConverter. Gibt es auch ein schönes kommandozeilenorientiertes Tool, welches opusenc.exe nutzt, und das vorher noch normalisieren kann? Ähnlich BeSweet?

    Wie ist eigentlich der vbr-Modus zu verstehen?
    Use variable bitrate encoding (default)
    In VBR mode the bitrate may go up and down freely depending on the content to achieve more consistent quality.

    Ist das sowas wie der qualitätsbasierte Modus bei Vorbis, nur, daß keine Qualitätsstufe (z.B. -1 ... 10), sondern ein Pi x Daumen - Wert angegeben wird?
    Oder wird tatsächlich versucht, die mittlere Bitrate zu erreichen, vergleichbar mit einen 2-pass-Video-Encoding?

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Wie ist eigentlich der vbr-Modus zu verstehen?

    Zitat von Mittermeier

    ... eine Geschichte voller Missverständnisse! { steckt den Finger in die Hand }

    Grob gesagt: Opus wählt ein Qualitätslevel, das nach Erfahrung der Entwickler häufig etwa zur gewünschten Zielbitrate führen müsste (also erstere Vermutung, Pi * Daumen). Aber es gibt auch Ausnahmen, für die das ziemlich weit abweichen kann. So benötigen sehr reine Klänge viel mehr Bitrate als geräuschhaftes Material (hier arbeitet Opus etwas paradox).

  • Gibt es auch ein schönes kommandozeilenorientiertes Tool, welches opusenc.exe nutzt, und das vorher noch normalisieren kann? Ähnlich BeSweet?


    Wie wär's mit BeHappy? Ich hatte zumindest mal eine Extension für die Einbindung der opusenc.exe geschrieben, die meines Wissens auch in überarbeiteter Form in die letzte BeHappy-Version eingeflossen ist.

    Who is General Failure and why is he reading my hard drive?

    He was trying to get in touch with Private Data but if it involves a Major Disaster I understand that the fault lies with General Protection.

    Furthermore, if you cannot reboot it may be because of a corrupt Colonel.

  • Jetzt habe ich mal einen Testfilm gemacht. Zur Wiedergabe:

    PC
    Der MPC-HC zickt etwas rum. Mit dem Haali-Media-Splitter wird kein Ton wiedergegeben. Mit dem internen mkv-Splitter wird zwar der Ton wiedergegeben, allerdings gibt dieser Splitter die Tags (ich nutze ARTIST, TITLE, DESCRIPTION und COPYRIGHT) nicht weiter. Deshalb nutze ich normalerweise noch den Haali Media Splitter.

    Abspielbox
    Die Android-Box mit dem MX-Player tut's problemlos. <= stimmt nicht
    Beim Abspielen kommt es ab und zu zu kurzen Aussetzern, etwa so, als würde die gerade abgespielte GOP übersprungen. Also Aussetzer vielleicht so um 1s. Die Stellen sind reproduzierbar. Also: wenn eine stelle springt, und man diese nochmal abspielt, dann springt sie weiter.


    Zum Umwandeln per Commandline: mit BeHappy werde ich irgendwie nicht warm. Vielleicht, weil ich weder eine Doku noch Beispiele gefunden habe. Herausgefunden habe ich, daß wohl die Komponente BePipe benötigt wird, dennoch habe ich es nicht hinbekommen. Allerdings habe ich mal abgeguckt, wie der TAudioConverter das macht, und dieser nutzt ffmpeg zum Decodieren (MP2->WAV), sox zum Normalisieren (WAV->WAV) und opusenc zum Encodieren (WAV->OPUS). Zwei WAV-Dateien mit je fast 1GB sind zwar nicht schön, aber mir fällt im Moment auch nichts besseres ein ....


    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

    Einmal editiert, zuletzt von akapuma (14. Februar 2016 um 00:35) aus folgendem Grund: Änderung bei &quot;Abspielbox&quot;

  • Herausgefunden habe ich, daß wohl die Komponente BePipe benötigt wird, dennoch habe ich es nicht hinbekommen.


    Da hast du aber etwas falsches herausgefunden - BePipe wird nicht von BeHappy benötigt... im Grunde genommen IST BeHappy eine mit 'nem GUI aufgebohrte Weiterentwicklung von BePipe.

    Who is General Failure and why is he reading my hard drive?

    He was trying to get in touch with Private Data but if it involves a Major Disaster I understand that the fault lies with General Protection.

    Furthermore, if you cannot reboot it may be because of a corrupt Colonel.

  • Da hast du aber etwas falsches herausgefunden - BePipe wird nicht von BeHappy benötigt...

    Das habe ich so nicht gemeint. Ich habe gemeint, daß die im BeHappy-Paket enthaltene Komponente BePipe benötigt wird, um kommandozeilenorientiert zu arbeiten. Diese befindet sich in einer 7z-Datei der BeHappy-Installation, also unter \BeHappy\Others\Bepipe.7z.

    Ich musste leider meinen Post von gestern 22:51 korrigieren. So ganz richtig rund läuft es auch bei meiner Android-Box nicht. Ich werde wohl vorerst bei Vorbis bleiben. In diesem Post hatte john33 am 02.10.15 eine überarbeitetes Vorbis auf rarewares versprochen. Seit dem war er zwar ab und zu mal online, hat aber weder etwas gepostet, noch neue compiles hochgeladen. Weil das irgendwie unbefriedigend ist, und auch gerade (12.01.16) ein neues Opus-Bugfix rausgekommen ist, dachte ich, es wäre vielleicht Zeit zum wechseln.

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info


  • Abspielbox
    Die Android-Box mit dem MX-Player tut's problemlos. <= stimmt nicht
    Beim Abspielen kommt es ab und zu zu kurzen Aussetzern, etwa so, als würde die gerade abgespielte GOP übersprungen. Also Aussetzer vielleicht so um 1s. Die Stellen sind reproduzierbar. Also: wenn eine stelle springt, und man diese nochmal abspielt, dann springt sie weiter.


    Opus geht auf meinen Android Tablet mit MX Player problemlos.
    Mich würde ein Testsample deiner Testdatei per PM interessieren, um es zu testen.

    Wenn du möchtest, kannst du mal die MKV (H264,Opus) probieren, ob da auch die Probleme auftreten.

    https://db.tt/TMkQnOVi

    Big Buck Bunny
    Copyright (C) 2008 Blender Foundation | peach.blender.org
    Some Rights Reserved. Creative Commons Attribution 3.0 license.
    http://www.bigbuckbunny.org/

  • Hallo monarc99,

    hier sind mal 2 Teststücke (à 3,5MB), die ich wie folgt erzeugt habe:

    - Kompletten Film mit x264 + opus genommen und vorbis hinzugemuxt
    - Film mit mkvmerge geschnitten (über "aufteilen"), da ich denke, daß mkvmerge alles ziemlich unangetastet lässt
    - geschnittenen Film mit opus + vorbis neu gemuxt, jedoch nur opus drin => opus.mkv
    - geschnittenen Film mit opus + vorbis neu gemuxt, jedoch nur vorbis drin => vorbis.mkv

    Tatsächlich ist der Sprung noch deutlich vorhanden (opus.mkv), während vorbis.mkv OK ist.
    (Ich weiß, daß die Bildquali gruselig ist. War aber schon vorher so - ehrlich.)

    OPUS
    VORBIS

    Was mir jetzt noch aufgefallen ist: der Fehler tritt am MX-Player nur auf, wenn ich den Hardware-Videodecoder verwende. Beim Software-Videodecoder tritt er nicht auf.
    Jetzt habe ich mal die opus.mkv auf meinem Handy (Tianhe H920+) mit Hardwarebeschleunigung laufen lassen. Und siehe da - alles fein!

    Das Teststück (Big Buck Bunny) von monarc99 lief problemlos mit dem Hardwaredecoder durch. Keine Ahnung, warum das so ist? Werde das Teststück, welches mit Lavf57.25.100 gemuxt wurde, mal mit mkvmerge neu muxen. Vielleicht liegt es ja am Muxer?


    gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

    2 Mal editiert, zuletzt von akapuma (14. Februar 2016 um 21:02)

  • Deine Encodes sind H264 10Bit ... können deine Geräte denn das per HW Decoder decodieren? Der ist ja sehr selten, dass HW Decoder mit 10Bit klar kommen.

    Mein Tablet springt da automatisch auf SW Decoder.

  • Deine Encodes sind H264 10Bit ... können deine Geräte denn das per HW Decoder decodieren?

    Sowohl meine Abspielbox Ugoos UT1 (habe ich schon seit Ende 2013) als auch mein Handy Tianhe H920+ (auch schon 2 Jahre alt) machen das relativ problemlos. Lediglich das Springen im Film klappt nicht richtig.


    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Sowohl meine Abspielbox Ugoos UT1 (habe ich schon seit Ende 2013) als auch mein Handy Tianhe H920+ (auch schon 2 Jahre alt) machen das relativ problemlos. Lediglich das Springen im Film klappt nicht richtig.


    Ok.

    Aber das Ganze klingt eher so, dass irgendwas im Container ist, mit dem er nicht klar kommt.
    Vielleicht hilft eins der Parameter hier?
    https://github.com/mbunkus/mkvtoo…ty-with-players

    Wie läuft denn diese Datei bei dir?
    2min wieder von BBB - diesmal H264-10 mit Opus - wieder mit ffmpeg geschrieben.
    Die Änderung ist also nur von 8 auf 10 Bit.

    https://db.tt/ZlVmrHgJ

    Big Buck Bunny
    Copyright (C) 2008 Blender Foundation | peach.blender.org
    Some Rights Reserved. Creative Commons Attribution 3.0 license.
    http://www.bigbuckbunny.org/

  • Ok.

    Aber das Ganze klingt eher so, dass irgendwas im Container ist, mit dem er nicht klar kommt.
    Vielleicht hilft eins der Parameter hier?
    https://github.com/mbunkus/mkvtoo…ty-with-players

    Nichts hiervon hilft (wobei es der Parameter "--compression" nicht tut).


    Wie läuft denn diese Datei bei dir?
    2min wieder von BBB - diesmal H264-10 mit Opus - wieder mit ffmpeg geschrieben.
    Die Änderung ist also nur von 8 auf 10 Bit.

    Gleiches Problem wie bei mir - Sprünge.

    Da es auf meinem Handy geht, auf meinem Abspieler aber nicht, liegt es wohl am Abspieler.

    Bis vor ein paar Monaten hatte ich eine Firmware mit 720p-Kernel verwendet, die mit bis zu 4 x 1,6GHz taktet. Mit der hatte ich immer den Softwaredekoder verwendet. Dann hatte ich eine neue Firmware draufgetan. Die neue Firmware mit 1080p-Kernel taktet aus irgendwelchen Gründen nur mit 4 x 0,8GHz, und ist sonst auch nicht so toll. Ruckelfrei tat es nur der HW+ - Dekoder. Aber der mag jetzt wohl die Kombination 10bit-x264 + Opus nicht. Die alte Firmware konnte ich nicht mehr drauftun, weil sie nicht mehr downloadbar war. Aber jetzt habe ich sie! Morgen kommt sie wieder drauf, und ich probiere das Ganze mit dem Softwaredekoder!

    Die neue Firmware tat es ja mit dem Softwaredekoder auch mit Opus, nur war sie zu langsam. Deshalb bin ich mir sicher, daß es mit der alten Firmware geht!

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info


  • Da es auf meinem Handy geht, auf meinem Abspieler aber nicht, liegt es wohl am Abspieler.


    Dein Handy spielt es per HW+ oder SW?

    Es könnte ja auch ein Bug in MX Player sein, der nur bei HW+ 10bit h264 und Opus auftritt. 10bit 264 wird ja eher selten verwendet, kann ja durchaus sein, dass der Bug noch niemand aufgefallen ist.

  • Hallo,

    ich habe mal getestet:

    Abspieler Ugoos UT1

    SW-Dekoder: Spielt Vorbis und Opus problemlos ab.
    HW-Dekoder: Bei Vorbis kommt es an der problematischen Stelle zu Bildrucklern, der Ton läuft aber weiter. Bei Opus kommt es zu dem Sprung. Nachher ist alles synchron.
    HW+-Dekoder: Vorbis spielt problemlos durch. Opus springt mit der alten Ugoos-Firmware, läuft aber mit der neuen durch!

    Handy Tianhe H920+
    SW-Dekoder: Spielt Vorbis und Opus problemlos ab.
    HW-Dekoder: Nichts geht.
    HW+-Dekoder: Ton (wahlweise Vorbis oder Opus) läuft, jedoch nur Standbild.

    Fazit:
    - Bei 10bit-x264 kommt es mit Hardwaredekodern schonmal zu Problemen, Opus kann den Effekt etwas verschlimmern.
    - Allgemein ist der HW+-Dekoder stabiler als der HW-Dekoder, allerdings kann man mit diesem nicht springen (wurde bereits von andern Usern gemeldet).
    - Es geht nichts über den Software-Dekoder!

    Jetzt habe ich wieder die "alte" Firmware auf meinem Ugoos, die deutlich performanter ist, als die neue. Damit kann ich wieder den SW-Dekoder verwenden. Damit kommt jetzt der neue Opus-Test.

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Code
    K:\mp2opus>opusenc --vbr --comp 10 --bitrate 80  "K:\mp2opus\temp2.wav" "K:\mp2opus\aaa.opus"
    Encoding using libopus 1.1.2 (audio)
    -----------------------------------------------------
       Input: 48kHz 2 channels
      Output: 2 channels (2 coupled)
              20ms packets, 80kbit/sec VBR
     Preskip: 312

    Ich hoffe mal, "Preskip" heißt nicht "vorne was weggelassen"?

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!