Opus als Ersatz für Vorbis geeignet?

  • @seanker2: Danke.

    So, Zerreißprobe bestanden.

    Film: 100 Minuten Film (10-bit-x264) zusammen mit Opus im mkv-Container.
    Abspielgerät: Ugoos UT1, Android-KitKat-Box, RK3188-Prozessor (A9) mit 4x1,6GHz
    Software: aktueller MX-Player mit custom-codec, Software-Dekoder benutzt

    => Alles einwandfrei :)

    Gruß

    akapuma

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

  • 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 ....

    Eine WAV habe ich schonmal eingespart:

    - MP2 zu WAV und normalisieren mit BeSweet
    - WAV zu OPUS (im ogg-Container) mit opusenc

    Gruß

    akapuma

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

  • Habe ich selbst noch nix gemacht in der Art, eventuell so in dieser Richtung

    Code
    ffmpeg -loglevel verbose -y -i SOURCE -c:a libopus -b:a 80k -vbr on -map_metadata 0 -map_chapters 0 -af dynaudnorm output.opus

    Die Parameter für dynaudnorm wirst du vielleicht so anpassen wollen, wie du es möchtest.
    http://ffmpeg.org/ffmpeg-filters.html#dynaudnorm
    Mit -map natürlich den richtigen Stream auswählen, wenn mehr Streams in der Quelle stecken.

    Einmal editiert, zuletzt von monarc99 (23. Februar 2016 um 23:50)

  • Ich bin nicht ganz sicher, ob dynaudionorm das ist, was ich möchte.

    Besweet oder SOX analysieren den ganzen Stream, gucken, wieviel zur maximalen Lautstärke fehlt (z.B. 5dB), und erhöhen dann die Lautstärke für den ganzen Stream. Mit ffmpeg braucht man dazu aber wohl auch 2 Schritte, siehe z.B. hier oder hier.

    Dynaudionorm scheint mir eher eine Art AGC zu sein (1-pass).

    Gruß

    akapuma

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

  • Das Problem an ffmpeg wäre, dass er üblicherweise wie ein Filter arbeitet, also die Quelldatei meist nur einmal sequenziell verarbeitet. Um eine 2-pass-Normalisierung durchzuführen, müsste ffmpeg in der Quelle zurückspringen; das geht nur bei einer Quelldatei, aber nicht, wenn ffmpeg z.B. in einer Pipe verwendet wird. Deshalb hatte ffmpeg zumindest in älteren Versionen keine Bearbeitungsfunktionen unterstützt, die mehrere Durchläufe benötigen; ob das heute anders ist, bin ich mir nicht sicher. Im IRC #ffmpeg noch keine passende Antwort...

Jetzt mitmachen!

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