Hva er OPUS-filformatet?
Filer med filendelsen .opus inneholder lyd - musikkspor eller menneskelig tale - komprimert med en lossy metode. For komprimering brukes både SILK-algoritmen og en algoritme basert på MDCT-transformasjon kalt CELT, noe som gir et høyt nivå av fleksibilitet og lav kompleksitet som gjør at formatet kan kode lyd i sanntid, selv på relativt beskjedne prosessorer.
En unik egenskap ved lyd lagret i .opus-filer er at parameterne kan variere i hvert fragment (en såkalt «frame», som dekker 20 ms som standard):
- Bitrate - fra 6 kbps opp til 510 kbps
- Båndbredde
- Kompleksitet
- Algoritmetype (SILK, CELT, eller en hybrid blanding av begge)
Formatet .opus er en åpen standard definert av IETF (Internet Engineering Task Force), opprettet av Xiph.Org Foundation i samarbeid med Skype Technologies (nå en del av Microsoft). Referanseimplementeringen finnes i libopus, tilgjengelig under New BSD-lisensen. Lyd i dette formatet kan lagres i en av fem interne båndbredder (fra narrowband til fullband, opptil 48 kHz) og støtter opptil 255 kanaler i multi-stream-modus. Det ble designet for å brukes i filcontainere, vanligvis en OGG-fil, og er også mye brukt for sanntids stemmekommunikasjon på nettet via WebRTC. Moderne nettlesere dekoder .opus innebygd i både Ogg- og WebM-containere.
Sikkerhet og trygghet
RISIKO: LOWEn .opus-fil er ren komprimert lyd - den inneholder ingen kjørbar kode, så selve formatet er trygt. Vanlige forholdsregler gjelder: misformede mediefiler kan utnytte sårbarheter i spillere (hold VLC/spillere oppdatert), og talemeldinger kan inneholde sensitivt personlig innhold - vær forsiktig med hva du laster opp til online-konvertere.
Formatdetaljer
i et nøtteskallProgrammer som åpner OPUS-filer
Tekniske detaljer
dyp spesifikasjon| Kodek-arkitektur | Hybrid av SILK (tale, LPC-basert) og CELT (musikk/generell lyd, MDCT-basert) moduser; enkoderen velger eller blander automatisk per frame |
| Containerformat | Ogg-container med .opus-filendelse; også innebygd i WebM (.weba) og Matroska (.mkv) filer |
| Bitrate-område | 6 kbps til 510 kbps, konfigurerbar og variabel per frame |
| Frame-størrelse | 2,5 ms til 60 ms; standard 20 ms; justerbar per pakke for avveining mellom forsinkelse og kvalitet |
| Intern samplingsfrekvens | Behandles alltid ved 48 kHz internt; dekoderen kan sende ut ved 8, 12, 16, 24 eller 48 kHz |
| Båndbreddemoduser | Fem: narrowband (8 kHz), mediumband (12 kHz), wideband (16 kHz), super-wideband (24 kHz), fullband (48 kHz) |
| Maksimalt antall kanaler | Opptil 255 kanaler i multi-stream Ogg-innkapsling (RFC 7845 kanalmapping) |
| MIME-type | audio/ogg; codecs=opus for fillevering; audio/opus for RTP-strømming |
| Magic bytes | OggS (hex 4F 67 67 53) ved offset 0; OpusHead-streng ved byte-offset 28 i den første Ogg-sidens nyttelast |
| Referanseimplementering | libopus-bibliotek (BSD-3-Clause lisens); opusenc og opusdec CLI-verktøy i opus-tools-pakken |
| Algoritmisk forsinkelse | Minimum 26,5 ms look-ahead; lavt nok for sanntids tale- og videokommunikasjon |
| Enkoder-kompleksitet | Justerbar fra 0 (raskest, lavest kvalitet) til 10 (tregest, høyest kvalitet) for å passe CPU-begrensninger |
| Nettleserstøtte | Innebygd i Chrome, Firefox, Edge og Opera; Safari la til støtte fra versjon 11 på macOS og iOS |
| Typiske bruksområder | VoIP, WebRTC, podcast- og musikkstrømming, talemeldinger i apper som Discord og WhatsApp |
| Utgitt | 2012 (codec standardized as RFC 6716, September 2012; Ogg encapsulation RFC 7845, 2016) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | datatracker.ietf.org |