
How Modern Video Players Work - flavioribeiro
http://blog.streamroot.io/how-modern-video-players-work/
======
zzalpha
Oh. Well that's disappointing. I was hoping this would be about a modern
video/audio decode, synchronize, and display pipeline... not that knowing how
video streamed on the web isn't interesting, but it's really about how modern
video _streaming_ works.

~~~
smalley
Not that its particularly casually browsable but there are some details in the
programmer reference manuals for the Intel integrated graphics encode/decode
hardware. If you head to volume 8 the MFx introduction section has some sample
flows before it starts getting into command packet details:
[https://01.org/sites/default/files/documentation/intel-
gfx-p...](https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-
bdw-vol08-media_vdbox_3.pdf)

------
Nutmog
All this fancy software and yet watching videos on the web is just as painful
as it was 15 years ago if you don't have a fast enough connection. The
download won't keep up with the play speed and they don't accommodate that
nearly as well as they could. In the early 2000's with dial-up, you could just
press pause then come back a few minutes later to watch what had been
buffered. Nowadays that trick often doesn't work - pause also pauses the
download. Not only that but the play/pause button sometimes doesn't work at
all! If the playback is stopped because it's waiting to download more, the
pause button usually does nothing - so you have to rewind to a previously
buffered part (if you're lucky enough and it kept the buffer) then let it
play, then press pause.

~~~
aaroninsf
This!

Related gripe: WTH is there no full-track buffering mode for any web players
(looking at You, Tube!) and apps like Pandora or Spotify, for low- or sparse-
bandwidth travel?!

I don't care if you limit it geographically or only make it work with
bandwidth throttling or whatever...

...just make it work.

Then your apps would work and I would not be cursing and throwing my phone out
the window every road trip.

This is costing me a fortune in phones.

~~~
bagels
The other side of the equation involves at least:

1) Video provider pays for bytes sent to the user that are not used. If the
cache policy is "cache the whole thing", you would find yourself paying (a
guestimate) 2x for bandwidth. This is because most people do not watch even
nearly the entirety of every video that they start loading.

2) Using server bandwidth for bytes that are not used. This increases
contention for bandwidth at the origin. Perhaps less of an issue if your site
is small and you're using a giant CDN. This does become an issue if you are
youtube or you are serving the bytes yourself.

3) Using client bandwidth for bytes that are not used. This slows down any
other download that might be happening on the client computer, even when the
video is paused. This could be, a different video in a different tab that the
user is trying to watch, other assets on the page, other pages, or even other
programs on the computer.

Of course adding an option for the user to cache the whole thing wouldn't be
so bad, as opposed to having this behavior by default for everyone.

~~~
contingencies
I live in China which has crap international bandwidth. Youtube via VPN is the
only way ... my solution is to use VideoDownloadHelper plugin for Firefox @
[https://addons.mozilla.org/en-US/firefox/addon/video-
downloa...](https://addons.mozilla.org/en-US/firefox/addon/video-
downloadhelper)

OTOH, China has an awesome "who cares about gwailo IP" progressive IP policy
which allows you to stream lots of copyrighted stuff instantly via multiple
domestic providers. Hell, new TVs have this sort of thing built in! It's
awesome for Hollywood crap, just not the content (eg. EU / art-house films) or
type (eg. documentaries) that I am typically looking for. Then again we have
torrents...

Somewhere, somehow, the internet finds a way. When all is said and done, it's
only people who are scared, stupid or spendthrift that pay... or those who
want the authentic cinema experience, collect media, or are commercial
operations that need to worry about legal challenges.

A few years ago I actually used to live in Hollywood and London working for a
big DRM-based video solutions provider that did work for literally most of the
world's major mobile device manufacturers. Boring, but a great insight in to
how corrupt the industry is. (Very)

------
eldod
A very good article for those who would like to follow the lead of NYT,
Youtube or others who recently switched to all HTML5

