Hvad er OPUS-filformatet?
Filer med filendelsen .opus indeholder lyd - musiknumre eller menneskelig tale - komprimeret med en lossy metode. Til komprimering bruges både SILK-algoritmen og en algoritme baseret på MDCT-transformation kaldet CELT, hvilket giver en høj grad af fleksibilitet og lav kompleksitet, der gør det muligt for formatet at kode lyd i realtid, selv på relativt beskedne processorer.
En unik egenskab ved lyde gemt i .opus-filer er, at deres parametre kan variere i hvert fragment (en såkaldt „frame“, der som standard dækker 20 ms):
- Bitrate - fra 6 kbps op til 510 kbps
- Båndbredde
- Kompleksitet
- Algoritmetype (SILK, CELT eller en hybrid blanding af begge)
.opus-formatet er en åben standard defineret af IETF (Internet Engineering Task Force), skabt af Xiph.Org Foundation i samarbejde med Skype Technologies (nu en del af Microsoft). Reference-implementeringen findes i libopus, som er tilgængelig under New BSD-licensen. Lyd i dette format kan gemmes ved en af fem interne båndbredder (fra narrowband til fullband, op til 48 kHz) og understøtter op til 255 kanaler i multi-stream-tilstand. Det blev designet til brug i filcontainere, oftest en OGG-fil, og er også meget brugt til stemmekommunikation i realtid på nettet via WebRTC. Moderne browsere dekoder indfødt .opus i både Ogg- og WebM-containere.
Sikkerhed og tryghed
RISIKO: LOWEn .opus-fil er ren komprimeret lyd - den indeholder ingen eksekverbar kode, så selve formatet er sikkert. Kun standardforbehold: fejlformaterede mediefiler kan udnytte sårbarheder i afspillere (hold VLC/afspillere opdateret), og stemmebeskeder kan indeholde følsomt personligt indhold - vær opmærksom på, hvad du uploader til online-konvertere.
Formatdetaljer
kort fortaltProgrammer der åbner OPUS-filer
Tekniske detaljer
dyb specifikation| Codec-arkitektur | Hybrid af SILK (tale, LPC-baseret) og CELT (musik/generel lyd, MDCT-baseret) tilstande; encoderen vælger eller blander automatisk pr. frame |
| Containerformat | Ogg-container med .opus-filendelse; også indlejret i WebM (.weba) og Matroska (.mkv) filer |
| Bitrate-område | 6 kbps til 510 kbps, konfigurerbar og variabel pr. frame |
| Frame-størrelse | 2,5 ms til 60 ms; standard 20 ms; justerbar pr. pakke for afvejning mellem latenstid og kvalitet |
| Intern samplingrate | Behandles altid ved 48 kHz internt; dekoderen kan udsende ved 8, 12, 16, 24 eller 48 kHz |
| Båndbreddetilstande | Fem: narrowband (8 kHz), mediumband (12 kHz), wideband (16 kHz), super-wideband (24 kHz), fullband (48 kHz) |
| Maksimalt antal kanaler | Op til 255 kanaler i multi-stream Ogg-indkapsling (RFC 7845 kanal-mapping) |
| MIME-type | audio/ogg; codecs=opus til fillevering; audio/opus til RTP-streamingtransport |
| Magic bytes | OggS (hex 4F 67 67 53) ved offset 0; OpusHead-streng ved byte-offset 28 i den første Ogg-sides payload |
| Reference-implementering | libopus-bibliotek (BSD-3-Clause licens); opusenc og opusdec CLI-værktøjer i opus-tools-pakken |
| Algoritmisk forsinkelse | Minimum 26,5 ms look-ahead; lavt nok til tale- og videokommunikation i realtid |
| Encoder-kompleksitet | Justerbar fra 0 (hurtigst, laveste kvalitet) til 10 (langsomst, højeste kvalitet) for at passe til CPU-begrænsninger |
| Browserunderstøttelse | Indfødt i Chrome, Firefox, Edge og Opera; Safari tilføjede understøttelse fra version 11 på macOS og iOS |
| Typiske anvendelser | VoIP, WebRTC, podcast- og musikstreaming, stemmebeskeder i apps som Discord og WhatsApp |
| Udgivet | 2012 (codec standardized as RFC 6716, September 2012; Ogg encapsulation RFC 7845, 2016) |
| Åben standard | Ja · royaltyfri |
| Specifikation | datatracker.ietf.org |