Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 24 reacties

De IETF heeft de royaltyvrije codec Opus aangenomen als een open webstandaard. De codec, die onder andere in Firefox wordt ondersteund, is volgens de ontwikkelaars geschikt voor vrijwel alle soorten audiodata met diverse bitrates.

De Opus-audiostandaard is vastgelegd in RFC 6716 en daarmee officieel een webstandaard. Opus comprimeert audio met bitrates die uiteenlopen van 6kbps tot 510kbps. Bij lage bitrates wordt bij de Opus-codec gebruikgemaakt van een linear prediction-algoritme, terwijl bij hogere bitrates een transform-codec wordt ingezet voor het comprimeren van de data. Hierdoor knapt Opus volgens de ontwikkelaars het werk op dat momenteel door zes verschillende codecs wordt verricht.

Opus is deels gebaseerd op codecs van Skype en Xiph.org. Een licentie voor gebruik van de codec is niet nodig. Naast flexibiliteit zou de codec ook een lage latency hebben en relatief weinig rekenkracht vereisen. De codec ondersteunt tot 255 kanalen en biedt zowel constante als variabele bitrates.

Onder andere de browser Firefox ondersteunt sinds versie 15 de Opus-codec. Ook populaire mediaspelers als foobar2000 en VLC kunnen met de relatief jonge codec uit de voeten. Opus gaat onder andere deel uitmaken van het WebRTC-framework, een multimediawebstandaard waarmee webapplicatieontwikkelaars relatief eenvoudig een videochat- of voip-dienst kunnen opzetten.

Moderatie-faq Wijzig weergave

Reacties (24)

Een aantal features van Opus:

- Bit-rates from 6 kb/s to 510 kb/s
- Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
- Frame sizes from 2.5 ms to 60 ms
- Support for both constant bit-rate (CBR) and variable bit-rate (VBR)
- Audio bandwidth from narrowband to full-band
- Support for speech and music
- Support for mono and stereo
- Support for up to 255 channels (multistream frames)
- Dynamically adjustable bitrate, audio bandwidth, and frame size
- Good loss robustness and packet loss concealment (PLC)
- Floating point and fixed-point implementation

[Reactie gewijzigd door 445689 op 12 september 2012 16:46]

Ik dacht dat de features van Opus bestonden uit het kopieerheffing-vrij kunnen bestellen van lege Cd's en Dvd's..

(Zonder gekheid, dat is de reden waarom ik het een vervelende naam ga vinden de komende 10 jaar dat ik de .opus extensie moet zien. :P)
Het is wel een mooi staaltje werk, maar ik heb er een hard hoofd in dat dit "alles-in-1" formaat de huidige speech/muziek/streaming codecs in de praktijk ook gaat vervangen. De verbeteringen die de afgelopen jaren nog worden gedaan aan audio codecs zijn elke keer maar klein, waardoor de prikkel om over te stappen naar een nieuwe codec steeds kleiner wordt. De steeds kleinere progressie van MPEG-1 Layer 1 -> Layer 2 -> Layer 3 -> LC-AAC -> HE-AAC hebben er ook voor gezorgd dat de adoptie steeds langzamer verliep.

[Reactie gewijzigd door Dreamvoid op 12 september 2012 16:59]

Het scheelt misschien wel dat Micrsoft nu aan dit formaat heeft meegewerkt en ook een patentbelofte voor dit formaat heeft gedaan zodat de kans waarschijnlijk groot is dat het formaat in de toekomst standaard in Windows ondersteunt kan worden.
Nu moet Microsoft nog licenties afdragen voor MP3 en AAC dus een overstap is zeker een optie ook al omdat dit formaat beter lijkt te presteren dan HE-AAC.

[Reactie gewijzigd door 80466 op 12 september 2012 17:04]

Zou leuk zijn, maar als Microsoft het standaard gaat ondersteunen, gaan Apple en Google het dan misschien expres *niet* ondersteunen?
Apple zal waarschijnlijk nog wel even nors vasthouden aan z'n eigen AAC-formaat, maar Google heeft juist zelf ook meegewerkt aan Opus (zij zijn ook een van de drijvende krachten achter WebRTC), dus verwacht daar geen flauwe spelletjes.
Google? Concurreren ze dan niet met hun eigen WebM a/v formaat, welke zo hard is/wordt gepushed in de HTML5 media oorlog, en Vorbis-audio bevat?
WebM is slechts een container, zoals je zelf al aangeeft bevat het Vorbis audio maar dit kan natuurlijk ook Opus worden...

Van concureren is dus geen sprake denk ik...
Even voor de goede orde - OPUS is niet bedoeld als concurrentie van MP3, AAC en andere formaten die je voornamelijk zou gebruiken voor bijv. muziekbestanden die je op je mobieltje plempt (voor de mensen die geen Spotify e.d. gebruiken). Dat het daar in principe heel geschikt voor is gebleken, is iets wat het niet eens tot doel had.

Maar op het gebied van realtime communicatie blinkt OPUS pas echt uit. Lage bitrates, lage latency (encode latency, niet netwerk latency), hoge kwaliteit, en (totdat er adders onder 't gras vandaan komen) licentievrij. Dat is interessant voor partijen zoals Skype, maar ook MSN, Yahoo! en anderen die IM apps hebben waarmee je ook voice gesprekken kan voeren, alsmede dingen als een voice search (al zijn daar de baten gering).
Lage bitrate codecs die voldoende presteren waren er tot op zekere hoogte al wel, maar wat Opus awesome maakt is dat het goed presteert op alle bitrates. Verbindingen met een variabele kwaliteit hoeven daarom niet de verbinding te verbreken wanneer een bepaalde bitrate niet meer gehaald kan worden, of juist als de beschikbare bandbreedte een hogere bitrate toestaat (en er de kwaliteit significant hoger kan).

On a sidenote denk ik daarom dat bijvoorbeeld het streamen van je eigen muziekbibliotheek op een brakke verbinding heel prima kan, wat opus wel een concurrent van MP3 maakt.

edit:
Interessante in-depth comments @ reddit . (en @ /r/linux )

Voor wat visualisaties van de performance: http://www.opus-codec.org/comparison/

edit2: kijk of het al werkt in je eigen browser: klik
(niet waarschijnlijk tenzij je eigen ffm

Als je het zelf wilt proberen (op linux): klik
cd /tmp
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz; tar xf libogg-1.3.0.tar.gz
cd libogg-1.3.0 && ./configure && make && make install && cd ..
wget http://downloads.xiph.org/releases/opus/opus-1.0.1.tar.gz; tar xf opus-1.0.1.tar.gz
cd opus-1.0.1 && ./configure && make && make install && cd ..
wget http://downloads.xiph.org...s/opus-tools-0.1.5.tar.gz; tar xf opus-tools-0.1.5.tar.gz
cd opus-tools-0.1.5 && ./configure --with-ogg-libraries=/usr/local/lib --with-ogg-includes=/usr/local/include/ogg --with-opus-libraries=/usr/local/lib --with-opus-includes=/usr/local/include/opus && make && make install && cd ..
man opusenc
man opusdec
opusenc --bitrate 64 testaudio.wav testaudio.opus
opusdec testaudio.opus
edit3: nog een Chromium bug report over implementatie, maar zoals de comment daar ook al zegt is het meer een upstream Webkit iets.

[Reactie gewijzigd door afraca op 12 september 2012 19:45]

Het is dus flexibel, en het lijkt me een goede standaard richting "communicatie", maar hoe is het voor niet-directe audio? Als in: opgeslagen bestanden die lokaal worden afgespeeld (.opus files). In theorie klinkt 255 kanalen erg goed, maar zijn ze ook identificeerbaar? En tsja, zoals elk compressie algoritme, heeft het een impact op de geluidskwaliteit, hoe verhoud het zich tot MP3, WMA en andere compressie algoritmes? IS het merkbaar anders dan FLAC?

Wikiit en gij zult vinden:

http://en.wikipedia.org/wiki/Opus_(audio_format)

De wetenschap ziet er erg goed uit, eigenlijk: veel meer "resolutie" dan MP3, en wat meer respons over het spectrum. Het nadeel lijkt me echter wel dat de implementatie kan verwisselen wat de throttles minder rigide maakt.

Overigens: leuk om te weten, er zit wel degelijk een licentie op, een BSD licentie. Maar zoveel impact heeft dat niet, gelukkig!

[Reactie gewijzigd door Umbrah op 12 september 2012 16:57]

Overigens: leuk om te weten, er zit wel degelijk een licentie op, een BSD licentie. Maar zoveel impact heeft dat niet, gelukkig!
het artikel rept dan ook niet over of de codec licentievrij is. De codec is royalty vrij. (maar dat de codec onder de BSD license valt helpt alleen maar, omdat het met GPL v3 bijvoorbeeld niet zo leuk zou zijn om die codec te gebruiken in commercieele toepasingen)
Exact, BSD is veel beter te gijzelen door partijen als Apple, omdat ze commerciŽel en geheim intern mogen hardlinken met gesloten code.

GPL is juist opgezet om dat te voorkomen, dan zou de software die er gebruik van maakt ook open moeten zijn, en heeft juist daarom daarom veel waardering van de Open Source community, en weinig waardering van commerciŽle partijen. Voor de vercommercialisering is de L-GPL bedacht, die is "BSD-achtiger", maar ik vermoed dat de oorspronkelijke codecs waar Opus op gebaseerd is (Skype/Xiph) dan ook BSD zijn.

Mods: Don't shoot the messenger. :)

[Reactie gewijzigd door Redsandro op 12 september 2012 20:30]

Het is natuurlijk altijd anders dan FLAC, maar ik las gisteren ergens dat het in principe transparant is vanaf 256 KB, maar dat is natuurlijk relatief. Ik kan eindeloos ruziemaken met mensen die zeggen dat alles boven MP3 V0 onzin is, met de juiste setup hoor je gewoon een verschil.
Het ironische met lossy codecs is dat als je maar genoeg traint, je jezelf kan leren om de bepaalde artefacts te herkennen. Tegen die tijd herken je elke lossy codec direct - met of zonder headphones, dure of goedkope installatie, 320 kbit, maakt niet uit - elk format heeft zijn eigen artefacts. Maar als je jezelf dat niet had aangeleerd, dan is was mp3/aac/etc volledig transparant gebleven! Het is niet zoals bv met vinyl dat elke willekeurige voorbijganger aan het tikken, kraken en rommelen hoort dat er een LP op staat.

Zodra je heel veel gaat luisteren en testen, verpest je het eigenlijk voor jezelf. :+

[Reactie gewijzigd door Dreamvoid op 12 september 2012 17:16]

In die tijd geniet ik veel liever van de muziek :X
Als ik vinyl draai hoort juist niemand dat het vinyl is. Iedereen is verbaasd dat ze geen tikken, kraken en gerommel horen maar muziek die mooier klinkt dan digitaal.
Dan nog kun je zeggen dat alles boven -V 0 het niet beter maakt. Dat is iets anders dan dat het altijd, voor iedereen transparant is (zie opm. Dreamvoid).
Ik kan niets vinden over de bits per sample, enig idee?

Ik bedoel dus niet bitrate, maar 8 bit (voor spraak), 16 bit, 24 bit, 32bitfloat, etc.
Ik heb het format niet echt bekeken, maar ik neem aan dat Opus na een transformatie van de input data alleen nog maar in het frequentiedomein werkt, waar het begrip "bitdiepte" niet bestaat. Als audio data in het frequentiedomein is opgeslagen, kan je het in elke willekeurige bitdiepte renderen.

[Reactie gewijzigd door Dreamvoid op 12 september 2012 17:32]

De maximale resolutie die je in het frequentiedomein gebruikt beperkt natuurlijk ook de resolutie die je er weer uit krijgt na transformatie naar tijdsdomein.
Verder staat er in het artikel dat bij lage bitrates lineaire voorspellingen gebruikt worden, wat er denk ik op wijst dat in dat geval geen transformatie naar het frequentiedomein gebeurd.
In het frequentiedomein bestaat bitdiepte evengoed. In dat domein beschrijf je een signaal als energie per frequentieband. Met 256 mogelijke energienivo's per frequentieband heb je dus 8 bts; met 64 energienivo's heb je dus 6 bits diepte.
Even vermelden dat deze codec voorheen CELT heette en nu ook delen van Skype's SILK gebruikt.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True