top | item 11067888

How Modern Video Players Work

73 points| flavioribeiro | 10 years ago |blog.streamroot.io

15 comments

order

zzalpha|10 years ago

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|10 years ago

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...

eldod|10 years ago

It talks about modern streaming indeed, but if you take a closer look, most of the video consumption today is done by streaming: on Desktop you still have a small portions of download then watch, but on mobile, Set Top Boxes like AppleTV and Roku, connected TVs, etc. You watch everything from the web.

Besides, the decoding/sync/rendering part didn't really change in the last 10 years, the innovations mostly arrived from the Web streaming use cases, with adaptive bitrate formats, that partly solved the multi-devices streaming problem we started to have with the rise of Mobile and OTT (over-the-top) video streaming.

Nutmog|10 years ago

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|10 years ago

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.

kbart|10 years ago

Yes! Pause&wait was my default behavior on slow connections (i.e. smartphone in the middle of nowhere) and removing it is a huge step back. I mostly can't use Youtube on my phone anymore and forced to look for videos somewhere else, where this "old-fashioned" method still works. Is there any technical reasons that won't let the video download while paused?

eldod|10 years ago

Actually as the article mentions, most broadcasters today are using adaptive bitrate formats like HLS and DASH, that are solving this issue by serving you a bitrate that is low enough for you to handle.

Today the major broacasters often have 6 or 7 different qualities, going from 300kbps up to 4000Mbps for HD.

eldod|10 years ago

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