Transcoding
Beim letzten Treffen, dass ich mit @robert und @oyla hatte, haben wir u.a. kurz das Thema Transcoding angesprochen. Soweit ich es verstanden habe, liegen die Audiodaten aktuell alle als MP3 bei 320kbit Bitrate vor. Das sind 40KiB pro Sekunde und zumindest für mobile Endgeräte ist das etwas happig. Mein Vorschlag wäre die Audiodateien automatisiert in OGG/Opus umzuwandeln. Das ist mittlerweile relativ gut unterstützt. Einziger großer Nachteil ist, dass Apple scheinbar ungewillt OGG Container umzusetzen und deswegen Opus Support nur in Verbindung mit dem Core Audio Format umsetzt. Aus meiner Sicht gibt es drei Möglichkeiten damit umzugehen:
- wir testen CAF/Opus Support in anderen Browsern (ich freue mich über eine konvertierte Audiodatei von einem/einer macOS High-Sierra Nutzer_in)
- wir nutzen für Browser ohne OGG/Opus Support einen Opus-Decoder Polyfill, der die Unterstützung des Browers mit WebAssembly komplettiert und fallen zurück auf MP3
- wir legen insgesamt 3 Audio-Formate (MP3, OGG/Opus, CAF/Opus) ab
Lösung 1. finde ich doof, weil wir damit Apples propriäteres Containerformat unterstützen.
Lösung 3. finde ich ok, aber Audioformate heißt natürlich auch mehr benötigter Speicher. Dazu kommt die Frage ob wir das afconvert
Werkzeug von Apple auch auf Linux zum laufen bekommen.
Lösung 2. finde ich auch gut, kann aber den Aufwand noch nicht abschätzen. Ich muss außerdem schauen wie gut Dinge wie Seek funktionieren. Außerdem werden wir damit relativ sicher direkt von WebAudio abhängig sein, solange wir nicht den MP3 Fallback aktivieren. Das sollte zum heutigen Stand der Verbreitung nicht mehr zu problematisch sein.
Siehe dazu auch die Kompatibilitätstabelle von caniuse.com.