If that solves the problem, I think it's an
indication that we should
transcode videos down to a lower bitrate when the original bitrate is too
high, even when the format is playable as-is.
We actually do, but timed media handler has decided the original is a
better source to suggest as default :(
My understanding is that one of the points of going to
VP9 is that it's good at varying its bit rate depending on available throughput. If
bitrare really was the problem with the VP9 version, that suggests that VP9 failed at one
of the reasons for using it in the first place.
I have never heard that. My understanding is the primary benefit is
being optimized for high resolution (HD) video, where there are a lot
more pixels, but larger areas of pixels look similar.
In any case, variable bitrate is usually the sort of thing that
happens in the encoding step. When you make the video, you set the
bitrate. Everyone who views the video is stuck with the bitrate that
is set during creation. Variable bit rate allows creators to use more
bits for complex parts, and less for simple parts, but its up to the
creator. (The analogy would be JPEGs have a quality setting. The
person who makes the JPEG can set the quality to whatever, but that's
a trade off made by the creator. The viewer can't change that trade
off to better meet his/her needs, its already set at that point). [You
might be thinking of something along the lines of
but that's not specific to VP9, and alas, we also don't support it :(
Another factor that males me think that the format
rather than the bit rate is the problem: the VP9 video played just fine in the Wikipedia
App on Android, but not in browsers on Android.
That seems like a leap in logic. Because playing the video in one
program worked well, but it didn't in the other, you conclude that the
video format is the problem?
More likely the problem is with either the browser implementation of
TimedMediaHandler is sucky. There's a very realistic chance you were
looking at an entirely different video file between the app vs the web
(Quite possibly due to TimedMediaHandler making poor choices on which
transcode to use)