Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opus: Need data for MP4 and WebM containers #6805

Open
Artoria2e5 opened this issue Aug 18, 2023 · 5 comments
Open

Opus: Need data for MP4 and WebM containers #6805

Artoria2e5 opened this issue Aug 18, 2023 · 5 comments

Comments

@Artoria2e5
Copy link
Contributor

Artoria2e5 commented Aug 18, 2023

Opus has an ISOBMFF (MP4) encapsulation defined in 2016. There may be differences in supporting the base Ogg format, in WebM container, and in the MP4/M4A container. MP4 can reasonably used in the <audio> tag: M4A/AAC files are an example.

I know that Opus WebM with up to 2 channels is okay in safari, but Opus Ogg is not okay in Safari at all.

@Artoria2e5 Artoria2e5 changed the title Opus: Need data for MP4 container Opus: Need data for MP4 and WebM containers Aug 18, 2023
@nihil-admirari
Copy link

  1. Had success opening Opus in MP4 in Safari on iOS 17.
  2. Opus in WebM doesn't work on iOS..
  3. Support depends on Lockdown Mode being disabled. If Lockdown mode is enabled, even Opus in CAF stops working.

Test files are provided by chromium:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Opus Test</title>
  <style>
    body {
        display: flex;
        flex-direction: column;
    }
  </style>
</head>
<body>
  Opus in WebM:
  <audio controls
         src="https://raw.githubusercontent.com/chromium/chromium/main/media/test/data/bear-opus.webm">
  </audio>
  Opus in MP4:
  <audio controls
         src="https://raw.githubusercontent.com/chromium/chromium/main/media/test/data/bear-opus.m4a">
  </audio>
</body>
</html>

@nihil-admirari
Copy link

Apple officially declared support for Opus in WebM and MP4 in Safari 17 Release Notes:

Added support for stereo-only Opus in MPEG-4 and WebM containers on macOS Sonoma. (50994465)

@nihil-admirari
Copy link

nihil-admirari commented Mar 7, 2024

Opus in WebM does work on iOS 17.4. Tested on https://hpr.dogphilosophy.net/test/.

@Artoria2e5
Copy link
Contributor Author

I wonder if they allow VBR in those containers too -- Opus/CAF support was originally limited to CBR. I should really get a Sonoma machine to test with...

@wbob
Copy link
Contributor

wbob commented May 9, 2024

@Artoria2e5 as the audio/webm opus file on the sample page used by @nihil-admirari is a not a Hard-CBR file I'd think so. The sample file to test variable frame size (not to be confused with bitrate) at WebKit/WebKit@b41ec21 too is a VBR file

Edit: I did test VBR playback successfully on iOS 17.5 and confirmed that the audio-blob regression in 17.4 is gone too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants