Follow

video codec wikimedia gibberish 

So, quick rundown on the video codec situation at Wikimedia: our traditional formats policy demands open formats that aren't patent-encumbered, which has at various points in the past made trouble for GIF, MP3, and the H.264 & AAC codecs used most often in MP4 videos.

We committed to Ogg Vorbis, Theora and WebM VP8/VP9 waaaaaaaaaaaaaay back when. ;)

When a community vote in 2014 cemented that, we were left unable to work with H.264 ourselves due to policy.

· · Web · 1 · 3 · 2

video codec wikimedia gibberish 

This is super awkward, but unless/until we figure out a way to make everybody happy, we're constrained to use open & free-to-use formats (like the Xiph/Ogg family and the WebM VPx family and newer AV1) or older formats that have fallen out of patent coverage.

Over time we've aged back in to GIF, MP3, and MPEG-1 and MPEG-2. I _think_ AAC is now good, and H.263 is about ready, but would have to run those by legal.

video codec wikimedia gibberish 

"Most browsers" have supported the open formats for quite some time, so users of Chrome & Chromium derivatives, Firefox & co, and non-Apple WebKit browsers often don't notice a thing about playback (if you're uploading, it's an extra output or conversion step).

But Apple was a holdout for a long time, and I developed a compatibility shim using the codecs compiled via emscripten -- it's janky but it works. ;)

Soon I hope to retire the ogv.js shim though...

video codec wikimedia gibberish 

Apple these days has started adopting WebM VP8/VP9 and Vorbis/Opus codec support in Safari. It's largely gated on hardware decode support, however, so older machines don't always play the files (sorry! no software decode for you!)

Additionally the iOS story is very inconsistent, with WebM working *in MSE* on iPadOS but not in file sources for <video>... while both iPhone and iPad will play VP9-in-MP4 if it's packaged in an HLS stream, but not as a standalone file.

video codec wikimedia gibberish 

So I'm kinda hoping iOS 16 fixes some more of this stuff up. ;)

But with VP9-in-MP4-in-HLS working on iOS/iPad and VP9-in-MP4-in-MSE working on macOS Safari, it should be possible to cover everything with the same files we serve to other browsers.

Old devices without hardware codec still need a solution, whether that's the WebAssembly ogv.js shim or outputting a horrible transcode like... 288p H.263 in 3GPP ;)

video codec wikimedia gibberish 

You know, if you pump up the bitrate high enough 288p H.263 isn't half bad on a phone screen, and it *does* work on older iPhones and Macs.

Mysteriously, my Macs won't play H.263 above 288p (4CIF or 16CIF) while iOS does ... but it wouldn't be worth the high bitrates IMO.

Fairly easy to retrofit a transcode into TimedMediaHandler, but would need legal review for H.263 (and either a review for AAC for 3GPP or use MP3 in QuickTime container). Oy!

video codec wikimedia gibberish 

naturally the google result for 'are the patents for h.263 expired yet' brings up my previous research on this subject:

meta.wikimedia.org/wiki/Have_t

There might, or might not, be like one or two patents hanging around (that nobody seems to care to enforce because it's an obsolete format)

i ain't no lawyer

beware

video codec wikimedia gibberish 

note also that i could not figure out a way to get h.263 into HLS -- this'd be a flat file separate from the HLS, used as a backup if it throw a codec error

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!