Co to jest format pliku OPUS?
Pliki z rozszerzeniem .opus zawierają dźwięk - utwory muzyczne lub mowę ludzką - skompresowany metodą stratną. Do kompresji wykorzystywany jest zarówno algorytm SILK, jak i algorytm oparty na transformacji MDCT o nazwie CELT, co zapewnia wysoki poziom elastyczności i niską złożoność, umożliwiając formatowi kodowanie dźwięku w czasie rzeczywistym, nawet na stosunkowo skromnych procesorach.
Unikalną cechą dźwięków przechowywanych w plikach .opus jest to, że ich parametry mogą się różnić w każdym fragmencie (tzw. „ramce”, obejmującej domyślnie 20 ms):
- Bitrate - od 6 kbps do 510 kbps
- Pasmo przenoszenia
- Złożoność
- Typ algorytmu (SILK, CELT lub hybrydowe połączenie obu)
Format .opus jest otwartym standardem zdefiniowanym przez IETF (Internet Engineering Task Force), stworzonym przez Xiph.Org Foundation we współpracy ze Skype Technologies (obecnie część Microsoft). Referencyjna implementacja zawarta jest w bibliotece libopus, dostępnej na licencji New BSD. Dźwięk w tym formacie może być przechowywany w jednym z pięciu wewnętrznych pasm (od wąskopasmowego do pełnopasmowego, do 48 kHz) i obsługuje do 255 kanałów w trybie wielostrumieniowym. Został zaprojektowany do użytku w kontenerach plików, najczęściej w pliku OGG, i jest również szeroko stosowany do komunikacji głosowej w czasie rzeczywistym w sieci za pośrednictwem WebRTC. Nowoczesne przeglądarki natywnie dekodują .opus zarówno w kontenerach Ogg, jak i WebM.
Bezpieczeństwo
RYZYKO: LOWPlik .opus to zwykły skompresowany dźwięk - nie zawiera kodu wykonywalnego, więc sam format jest bezpieczny. Obowiązują jedynie standardowe zastrzeżenia: uszkodzone pliki multimedialne mogą celować w luki w odtwarzaczach (należy aktualizować VLC/odtwarzacze), a wiadomości głosowe mogą zawierać wrażliwe treści osobiste - uważaj, co przesyłasz do konwerterów online.
Szczegóły formatu
w pigułceProgramy otwierające pliki OPUS
Szczegóły techniczne
specyfikacja| Architektura kodeka | Hybryda trybów SILK (mowa, oparty na LPC) i CELT (muzyka/ogólny dźwięk, oparty na MDCT); enkoder wybiera lub miesza je automatycznie dla każdej ramki |
| Format kontenera | Kontener Ogg z rozszerzeniem .opus; również osadzony w plikach WebM (.weba) i Matroska (.mkv) |
| Zakres bitrate | Od 6 kbps do 510 kbps, konfigurowalny i zmienny dla każdej ramki |
| Rozmiar ramki | Od 2,5 ms do 60 ms; domyślnie 20 ms; regulowany dla każdego pakietu w celu zbalansowania opóźnienia i jakości |
| Wewnętrzna częstotliwość próbkowania | Wewnętrznie zawsze przetwarzane przy 48 kHz; dekoder może wyprowadzać dźwięk 8, 12, 16, 24 lub 48 kHz |
| Tryby pasma | Pięć: narrowband (8 kHz), mediumband (12 kHz), wideband (16 kHz), super-wideband (24 kHz), fullband (48 kHz) |
| Maksymalna liczba kanałów | Do 255 kanałów w wielostrumieniowej enkapsulacji Ogg (mapowanie kanałów RFC 7845) |
| Typ MIME | audio/ogg; codecs=opus dla dostarczania plików; audio/opus dla transportu strumieniowego RTP |
| Magiczne bajty | OggS (hex 4F 67 67 53) na offsecie 0; ciąg OpusHead na offsecie bajtowym 28 w ładunku pierwszej strony Ogg |
| Implementacja referencyjna | Biblioteka libopus (licencja BSD-3-Clause); narzędzia CLI opusenc i opusdec w pakiecie opus-tools |
| Opóźnienie algorytmiczne | Minimum 26,5 ms (look-ahead); wystarczająco niskie dla komunikacji głosowej i wideo w czasie rzeczywistym |
| Złożoność enkodera | Regulowana od 0 (najszybszy, najniższa jakość) do 10 (najwolniejszy, najwyższa jakość) w celu dostosowania do ograniczeń procesora |
| Obsługa przeglądarek | Natywna w Chrome, Firefox, Edge i Opera; Safari dodało obsługę od wersji 11 na macOS i iOS |
| Typowe zastosowania | VoIP, WebRTC, streaming podcastów i muzyki, wiadomości głosowe w aplikacjach takich jak Discord i WhatsApp |
| Wydano | 2012 (codec standardized as RFC 6716, September 2012; Ogg encapsulation RFC 7845, 2016) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | datatracker.ietf.org |