====== Format Opus ====== {{ :dummy.png?75x75|}} **Opus** est un codec audio numérique libre et ouvert, conçu pour fournir une qualité sonore élevée avec une faible latence de codage et de décodage. **Opus** est un format de compression audio à débit binaire variable, qui permet d'optimiser la qualité et la taille des fichiers en fonction des besoins. Le codec **Opus** a été développé par l'Internet Engineering Task Force (IETF), un organisme qui travaille sur la standardisation des protocoles Internet. Il a été créé à partir de deux codecs existants, le SILK de Skype et le CELT (Constrained Energy Lapped Transform), et vise à combiner les avantages de ces deux codecs pour offrir une qualité sonore élevée et une compatibilité universelle. **Opus** prend en charge une large gamme de débits binaires, allant de 6 kbit/s à 510 kbit/s, ce qui permet d'optimiser la qualité sonore et la taille des fichiers pour différents types d'applications. Il prend également en charge la stéréo et la mono, ainsi que les taux d'échantillonnage allant jusqu'à 48 kHz. Le format **Opus** est conçu pour être polyvalent et universel, et peut être utilisé pour une variété d'applications, telles que la diffusion en continu, les jeux en ligne, la communication vocale sur Internet, les appels vidéo, la diffusion de musique en direct et les podcasts. Le format est pris en charge par de nombreux lecteurs multimédias et logiciels de traitement audio, et est devenu une norme de facto pour la communication vocale en temps réel sur Internet. Voici quelques indications de débits pour le format OPUS : __Audiobooks / Podcasts__\\ 1 voix => 24 Kb/s\\ 2 voix => 32 kb/s __Musique en streaming ou radio__\\ 64 - 96 kb/s __Musique en local__\\ 96 - 128 kb/s c'est un coef de 4\\ 5.1 - 128 - 256 kb/s\\ 7.1 - 256 - 450 kb/s\\ ===== Convertir avec ffmpeg et opusenc ===== L'encodeur pour obtenir des fichiers OPUS s'appelle **opusenc**. Le fichier d'entrée doit être au format Wave, AIFF, FLAC, Ogg/FLAC, ou raw PCM. Les scripts shell suivant utilisent les programmes [[informatique:linux:applications:ffmpeg|ffmpeg]] et [[informatique:linux:applications:opus-tools#opusenc|opusenc]] pour convertir des fichiers audio dans deux formats différents avec une certaine qualité et stocker les fichiers résultants dans le même répertoire que les fichiers sources. __Qualité archive 32k - podcast audio__ Conversion en PCM S32LE avec **FFmepg** puis en format Opus avec **opusenc** avec un débit binaire de 32 kbit/s : for f in *.* ; do ffmpeg -f pcm_s32le "$f" "${f%.*}_pcm_s32le.wav"; do opusenc --bitrate 32 "$f" "${f%.*}_32k.opus"; done __Qualité archive 64k - stream music__ Conversion en format PCM non compressé avec **FFmepg** puis en format Opus avec **opusenc** avec un débit binaire de 64 kbit/s : for f in *.* ; do ffmpeg -i "$f" "${f%.*}_pcm.wav" ; opusenc --bitrate 64 "${f%.*}_pcm.wav" "${f%.*}_64k.opus"; rm "${f%.*}_pcm.wav"; done __Qualité archive 96k - radio__ Conversion en format PCM non compressé avec **FFmepg** puis en format Opus avec **opusenc** avec un débit binaire de 96 kbit/s : for f in *.* ; do ffmpeg -i "$f" "${f%.*}_pcm.wav" ; opusenc --bitrate 96 "${f%.*}_pcm.wav" "${f%.*}_96k.opus"; rm "${f%.*}_pcm.wav"; done __Qualité archive 128k - archive__ Conversion en format PCM non compressé avec **FFmepg** puis en format Opus avec **opusenc** avec un débit binaire de 128 kbit/s : for f in *.* ; do ffmpeg -i "$f" "${f%.*}_pcm.wav" ; opusenc --bitrate 128 "${f%.*}_pcm.wav" "${f%.*}_128k.opus"; rm "${f%.*}_pcm.wav"; done __Qualité archive 128k - archive, pour des fichiers WAV__ Conversion en format Opus avec **opusenc** avec un débit binaire de 128 kbit/s : for f in *.* ; do opusenc --bitrate 128 "$f" "${f%.*}_128k.opus"; done Avec ce script il faut s'assurer que le format du fichier en entrée soit accepté par **opusenc**. __Qualité archive 152k - utilisé par Youtube__ Conversion en format PCM non compressé avec **FFmepg** puis en format Opus avec **opusenc** avec un débit binaire de 152 kbit/s : for f in *.* ; do ffmpeg -i "$f" "${f%.*}_pcm.wav" ; opusenc --bitrate 152 "${f%.*}_pcm.wav" "${f%.*}_152k.opus"; rm "${f%.*}_pcm.wav"; done