staging.inyokaproject.org

Opus

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

opus-logo.png Opus 🇬🇧 ist ein junges Audio-Format, das eine Vielzahl nützlicher Eigenschaften in sich vereint. Ähnlich MP3 oder Vorbis verkleinert ein Opus-Codec Audiodaten mittels verlustbehafteter Reduktion anhand eines psychoakustischen Modells. Der Referenz-Codec ist anderen älteren Codecs meist deutlich überlegen. Insbesondere bei Bitraten oberhalb von etwa 15 Kilobits pro Sekunde (kbit/s oder kbps) werden bessere Ergebnisse erzielt. Weiterhin ist ein auf menschliche Sprache spezialisierter Modus integriert. Das Format ist seit Sommer 2012 ein von der Internet Engineering Task Force (IETF) abgesegneter, weltweiter Standard zur Audiokodierung im Internet.

Zur ersten groben Abschätzung der Klangqualität: Bei etwa 96 kbit/s durchschnittlicher Bitrate kann man mit den 1.0.x-Versionen des Referenzkodierers bis auf mehr oder weniger seltene Problemsituationen klanglich transparente Audiodateien erzeugen, für die beispielsweise mit dem älteren Format MP3 eine Bitrate von 160 kbit/s oder mehr notwendig ist. Praktisch heißt das, man erhält bei gleicher Qualität nur halb so große Dateien.

Funktionsübersicht

./opus-quality.png
Opus im Vergleich mit anderen Audio-Codecs (Bildquelle 🇬🇧)

Während die technischen Details einem Wikipedia-Artikel und der Projektseite zu entnehmen sind, zeigt die folgende Liste die für den Benutzer sichtbaren Vor- und Nachteile:

  • Pro:

    • nur noch ein Codec für Musik und Sprache notwendig

    • hohe bis sehr hohe Klangqualität im Vergleich mit anderen Formaten/Codecs

    • streamingfähig

    • Einbetten von Metadaten

    • Unterstützung von Cuesheets und Replay Gain

    • Abspielen auch von beschädigten Dateien und Datenströmen durch Fehlerkorrektur

    • lizenzkostenfrei

  • Contra:

    • Konvertierung in andere verlustbehaftete Formate birgt Generationsverlust

    • fast keine Unterstützung durch Hardware-Player (Ausnahme: die offene Firmware Rockbox)

Das Format und der Referenz-Codec beherrschen sowohl Datenströme mit unbeschränkt oder nach bestimmten Vorgaben beschränkt variabler Bitrate (VBR, Standard bei Opus) als auch mit fester, konstanter Bitrate (CBR).

Installation

Die Unterstützung für das Format kann aus den offiziellen Paketquellen installiert [1] werden:

Befehl zum Installieren der Pakete:

sudo apt-get install libopus0 opus-tools 

Oder mit apturl installieren, Link: apt://libopus0,opus-tools

Nutzung

In der Praxis hängt die Nutzung von der Unterstützung durch Multimedia-Programme ab. Am einfachsten ist diese, wenn die Einbindung über Kommandozeilenwerkzeuge möglich ist. Die zweite Variante ist die Nutzung über das Multimedia-Framework GStreamer. Auch eine dritte Möglichkeit ist vorhanden: manche Programme wie Firefox enthalten eigene Routinen zum Abspielen und sind so unabhängig von den ersten beiden Varianten.

Wiedergabe

  • Mit dem VLC Media Player kann das Format ab Version 2.0.4 ohne weiteres abgespielt werden

  • Beim ersten Abspielversuch werden weitere Pakete benötigt, deren automatische Installation gleich angeboten wird:

  • Firefox kann ab Version 15 in Webseiten eingebettete Opus-Dateien und -Streams wiedergeben (Beispiel 🇬🇧)

Erzeugung

  • Soundconverter zum bequemen Umwandeln: Ab Version 2.0.4 bzw. Ubuntu 13.04 kennt das Programm nach der Installation von gstreamer0.10-plugins-bad in Version 0.10.23 oder neuer Opus.

  • Rubyripper zum direkten Rippen von Audio-CDs. Mit Rubyripper kann man beliebige Kommandozeilen-Kodierer verwenden. Für eine englischsprachige Schritt-für-Schritt-Anleitung zur Nutzung mit Opus siehe Rubyripper and OggOpus 🇬🇧.

  • Audacity kann Opus-Dateien mit externen Kodieren erzeugen; dazu zum Abspeichern eine der diversen Exportier-Optionen im "Datei"-Reiter verwenden. Dort als Format "(externes Programm)" wählen, als "Befehl" verwendet werden können; in aktueller Versionen auch schon intern vorgesehen.

    • opusenc --bitrate 128 - "%f".opus

      - es können auch weitere opusenc-Optionen aufgeführt werden (siehe unten, oder auch in der Manpage zu opusenc)

    • ffmpeg -i - -c:a libopus -b:a 128k "%f".opus

      - liefert ähnliche Ergebnisse, hier wird der Umweg über FFmpeg genommen, das funktioniert allerdings nur mit FFmpeg-Versionen, die mit der Option --enable-libopus konfiguriert wurden.

    • Der einzelne Bindestrich '-' ist wichtig, er steht für die Eingabedatei, die Audacity liefert, "%f" ist der Platzhalter für die Ausgabe-Datei mit Pfad, die in Audacity unter "Ordner" angegeben wird.

Audio-CDs erstellen

Metadaten

Verschiedene Spezialprogramme erlauben massenhaftes Bearbeiten von Metadaten in Opus-Dateien. Teils sind entsprechende Programmversionen noch zu neu, um bereits ihren Weg in die offiziellen Ubuntu-Paketquellen gefunden zu haben und finden sich dann zum Beispiel auf Launchpad. Darunter sind EasyTAG (ab Version 2.1), Ex Falso und Kid3 (ab Version 3 vom 23. Oktober 2013) bzw. entsprechende Backend-Bibliotheken wie mutagen (ab Version 0.21).

opusenc übernimmt beim Transkodieren Metadaten aus FLAC-Dateien.

Kommandozeilenwerkzeuge

Die opus-tools sind ein Paket mit nützlichen Kommandozeilenwerkzeugen [3] zum Umgang mit Opus-Dateien und -Datenströmen. Nach der Installation stehen die Einzelanwendungen opusenc, opusdec und opusinfo zur Verfügung. Nun können Audiodaten nach Herzenslust hin- und herkonvertiert, in sogenannten Pipes mit mehreren hintereinandergeschalteten Programmen oder auch geskriptet verarbeitet werden.

opusenc

Folgender Befehl wandelt PCM-Daten in Opus um:

opusenc [OPTIONEN] EINGABE AUSGABE 

Es können ausschließlich WAVE, AIFF, FLAC und PCM-Rohdaten verarbeitet werden. Für Ein- und Ausgabe können Dateien oder Standard-Datenströme (gekennzeichnet durch ein -) genutzt werden. Die wichtigste Option ist wahrscheinlich die Angabe einer Bitrate. Beispiele:

  • Die einfachste Variante (mit einer Bitrate von 96 kbps):

    opusenc DATEI.wav DATEI.opus 
  • Festlegen der Bitrate auf 128 kbps:

    opusenc --bitrate 128 DATEI.flac DATEI.opus 
  • Eine konstante (CBR) statt einer variablen Bitrate (VBR) verwenden:

    opusenc --hard-cbr --bitrate 160 DATEI.wav DATEI.opus 
  • Alle Dateien in einem Ordner von Titel-nn.flac nach Titel-nn.opus mit VBR und 160 kbps umwandeln:

    for j in *.flac; do opusenc --bitrate 160 "$j" "${j%.*}-(VBR-160).opus"; done 
  • Eine WavPack-Datei umwandeln:

    wvunpack DATEI.wv -o - | opusenc - DATEI.opus 

Neben diesen Parametern zur Konvertierung können auch Metadaten in Opus-Dateien geschrieben werden. Grundlage bilden die Metadaten-Spezifikationen von Ogg/Vorbis. Beispiele:

Metadaten hinzufügen
Option Zweck
--artist NAME Künstlername oder Gruppe
--title TITEL Songtitel
--album NAME Albumname
--genre GENRE Musikrichtung

Weitere Informationen sind – wie auch bei den nachfolgenden Programmen – der jeweiligen Manpage zu entnehmen.

opusdec

Das Gegenstück opusdec wandelt Opus in PCM-Daten. Bedienung und Ein-/Ausgabe-Möglichkeiten sind im Grunde analog, wobei die Ausgabe in der Standardeinstellung an die Soundkarte geleitet wird. Daher spielt der folgende Befehl die jeweils angegebene Datei ab:

opusdec DATEI.opus 

Eine Konvertierung erfolgt durch Angabe eines Dateinamens:

opusdec DATEI.opus DATEI.wav 

opusinfo

opusinfo gibt zu einer oder auch mehreren Opus-Dateien technische und statistische Informationen aus und prüft auf fehlerhafte Datenströme. Beispiel:

opusinfo DATEI.opus 

Ausgabe:

Processing file "DATEI.opus"...

New logical stream (#1, serial: 2e2d7d65): type opus
Encoded with libopus 1.0.1
User comments section follows...
        ENCODER=opusenc from opus-tools 0.1.5
Opus stream 1:
        Pre-skip: 356
        Playback gain: 0 dB
        Channels: 2
        Original sample rate: 44100Hz
        Packet duration:   20.0ms (max),   20.0ms (avg),   20.0ms (min)
        Page duration:   1000.0ms (max),  999.9ms (avg),  980.0ms (min)
        Total data length: 4515795 bytes (overhead: 0.679%)
        Playback length: 6m:27.970s
        Average bitrate: 93.12 kb/s, w/o overhead: 92.48 kb/s
Logical stream 1 ended

Diese Revision wurde am 2. Januar 2022 15:41 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Audio, Shell