Page MenuHomePhabricator

Support 720p in ogv
Closed, ResolvedPublic

Description

Hi would ogv be able to support 720p.

Event Timeline

Paladox raised the priority of this task from to Needs Triage.
Paladox updated the task description. (Show Details)
Paladox added a project: TimedMediaHandler.
Paladox moved this task to To sort on the TimedMediaHandler board.
Paladox added subscribers: Paladox, Bawolff, brion.
Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Note that 720p Theora .ogv will run about the same bandwidth as 1080p .webm, and requires a reasonably fast computer to play through ogv.js. It's available to switch on if we decide we need it though...

Aklapper triaged this task as Lowest priority.Aug 6 2015, 12:45 PM
TheDJ claimed this task.
TheDJ subscribed.

I think we sort of concluded that we won't raise the size of theora/ogv to 720p. Players will have to support webm/vp8/vp9 if they want those kinds of sizes.

The reasons for this is that theora/ogv is our 'last fallback', and no more. Basically we want to only be serving this up to browsers not supporting vp8/vp9, and that means they probably also require javascript playback, for whom 720p will be too inefficient.

Reopening; after doing some more testing I've determined that when using variable bitrates, the file sizes are not as excessive as I'd feared[1].

720p gets acceptable playback speed on any of my Macs and my iPad Air (first 64-bit model), while 1080p runs fine on Macs and on iPad Pro. I can actually get up to 1440p playback going on my 2012 and 2015 Retina MacBook Pros. :)

Here's my ogv.js demo with the VBR version of Tears of Steel selected; try it out! [Beware the labs server with the transcodes sometimes has flaky bandwidth; check the graph to confirm rendering speed if playback stops/starts due to the download stalling.]

In the future, adaptive streaming should be able to automatically switch to a lower resolution if a VBR 720p/1080p downloads too slowly during sustained high-complexity scenes, and the adaptivity can also include checking that playback isn't stalling on JS decoding... In the meantime, manual selection means you're opting in to the high definition experience and can manually opt back out with the switcher. ;)

I think I'll go ahead and enable 720p and 1080p ogg transcodes for now after all, while I keep working on smarter adaptive switching.

[1] Bandwidth time!

For the 4K rendering of the 'Tears of Steel' Blender movie which has a good mix of high- and low-complexity scenes, current file sizes for my VBR transcodes are:

160p: 44M ogv / 27M webm (62% bloat)
240p: 82M ogv / 44M webm (86% bloat)
360p: 91M ogv / 63M webm (44% bloat)
480p: 178M ogv / 104M webm (71% bloat)
720p: 196M ogv / 155M webm (26% bloat)
1080p: 370M ogv / 269M webm (37% bloat)
1440p: 498M ogv / 420M webm (19% bloat)
2160p: 1.2G ogv / 728M webm (65% bloat)

Or in average bandwidth:

160p: 480 kbps ogv / 294 kbps webm (62% bloat)
240p: 890 kbps ogv / 480 kbps webm (86% bloat)
360p: 990 kbps ogv / 687 kbps webm (44% bloat)
480p: 1.9 Mbps ogv / 1.3 Mbps webm (71% bloat)
720p: 2.1 Mbps ogv / 1.7 Mbps webm (26% bloat)
1080p: 4.0 Mbps ogv / 2.9 Mbps webm (37% bloat)
1440p: 5.4 Mbps ogv / 4.6 Mbps webm (19% bloat)
2160p: 13 Mbps ogv / 7.9 Mbps webm (65% bloat)

(I'm still trying to adjust the quality settings for best bandwidth stepping in the low resolutions for ogv, some are running slightly over where I want them currently.)

Most importantly the 720p, 1080p, and 1440p versions aren't twice the size of the WebM -- and neither are at their maximum bitrates the whole time.

Change 291921 had a related patch set uploaded (by Brion VIBBER):
Enable 720p and 1080p .ogv Ogg Theora transcodes

https://gerrit.wikimedia.org/r/291921

Change 291921 merged by jenkins-bot:
Enable 720p and 1080p .ogv Ogg Theora transcodes

https://gerrit.wikimedia.org/r/291921

this merged a while ago