

To stream everywhere, Netflix encodes each movie 120 times - timf
http://gigaom.com/video/netflix-encoding/

======
mrb
A friend of mine, Baptiste Coudurier, is the person at Hulu who manages the
transcoding of all their videos. He told me they also transcode a video to
multiple versions to accommodate different streaming devices and bandwidth
characteristics.

I think it only makes sense to lazily-transcode videos on demand (and cache
them) when you have millions of videos (eg. Youtube). Netflix and Hulu have
much smaller catalogs, so they can afford to transcode ahead of time, and it
simplifies their processes.

~~~
morsch
I wonder if there's some lengthy preprocessing step that's common to
transcoding regardless of the target resolution/quality. That way you could
precompute and store the intermediary format and finish of the encoding to an
arbitrary format as required.

~~~
keeperofdakeys
For two-pass encoding, the video is first scanned to assess complexity, so a
second encode pass can work out which frames require a higher bitrate to get
the same quality. However this is not used that often, in favour of a
quantiser approach, which uses a number to indicate target quality. The
encoder then changes the bitrate depending on the frames complexity and the
target quality/quantiser. The quantiser approach is much more common because
it's easier to specify an output quality that is independent of resolution.

As for the actual encoding, nearly all the computation is very specific to the
output resolution/quality. Luckily encoding multiple videos can be spread over
many machines, and encoders can take advantage of multiple cores.

------
ghshephard
If this is true, then this should immediately put to rest the explanation
(that I'll admit I bought into) that only one video format will win out (H.264
vs Ogg Theora/VP8 is the major discussion point) - as video streaming
companies would be unwilling to re-encode their content for more than one
format.

Apparently they are quite comfortable encoding as many as 120 instantiations
of their videos.

~~~
jedberg
In fact, it is not unheard of for us to re-encode the entire catalog when a
new, better format or codec comes along, or we add support for a new device.

~~~
blhack
Huh. You guys must have quite the rendering farm for that, eh?

~~~
jedberg
EC2. 1000s of instances. :)

~~~
toomuchtodo
Spot pricing I hope! =)

------
jedberg
Using sometimes 1000's of EC2 instances (for a bunch of movies, not just one).

~~~
signa11
this being an ideal application of simd kind of parallelism, i am wondering of
a farm of gpu's might be much cheaper (and faster) rather than a general
purpose cpu ?

~~~
dlgeek
AWS has farms of GPUs you can rent by the hour -
<http://aws.amazon.com/ec2/instance-types/> \- Look at "Cluster GPU Instances"

------
bambax
At the end of the post there's this quote:

> _Simply put, content owners who can deliver quickly and without error are
> getting more licensing revenue from Netflix._

Really? Can Netflix afford to be picky with content owners? It seems their
main problem is the limited size of their online catalog...? They should take
anything they can get!

I just finished watching "Elite Squad 2"; it's such a great movie (really, it
is: see <http://www.imdb.com/title/tt1555149/>) that I wanted to watch the
first one, but it's "only available on DVD".

Why, why, why?

~~~
jedberg
I think you misinterpreted.

We have $X to spend. We have $Y left at the end of the year ($Y < $X). We go
though our system and say "who can deliver us the quickest, most error free,
content? Ok, give them $Y for whatever they have that our customers might
enjoy.

The reason you only see Elite Squad 2 is the same reason that you only see a
lot of stuff -- because the price they wanted for the other one was too much.

~~~
bambax
Thanks for the clarification.

(I'm not sure that the technical quality of transmitted files is the best
criterium to select content, though, even when it's the end of the year and
we're talking about "leftover money").

------
machrider
...everywhere except Linux.

~~~
warfangle
This isn't due to transcode issues. They use Silverlight to stream to full-
function PCs (be it OSX or Windows). Microsoft hasn't made Silverlight
available to the greater GNU community, so it's pretty obvious that they
wouldn't distribute to Linux: their contracts with content-holders probably
hold them to constricting DRM demands on the videos streamed to devices
capable of ripping them off.

Don't blame Netflix for it. Blame the arduous contracts which must be
negotiated in order for Netflix to carry the content it does.

~~~
tkorri
They have a working Android application which uses native linux code to handle
the DRM.

So Silverlight not beign supported on Linux is not the real issue here.

~~~
shardling
Right, it's the contracts, exactly like the parent post said...

~~~
winter_blue
The issue is it not being supported on regular desktop Linux (excl. Chrome
OS).

------
dave1010uk
As technology progresses we can probably assume that at some point in the
future virtually all devices in use will have fast enough network connections
and decoders to play videos that are the highest quality the human eye can
see. At this point it would only be worth encoding in this "highest" quality.
Of course, by this time we may have new screen technologies such as
holographic displays.

~~~
winter_blue
Yes I can see you mean a time and day when everyone will gigabit connections
and what not.

But then you're forgetting: poverty hasn't quite abandoned us yet, has it?

Even with all of the modern technology and what not -- people are still dying
of hunger.

We first need to start with these base human needs.

Elevate the standard of living of the people on the other side of digital (and
economic) divide, and bring them up to standard of an average first-world-
country person.

