

How we created the world's best low-latency video streaming system - DarkShikari
http://x264dev.multimedia.cx/?p=249

======
samps
_Fortunately, there was a startup–which has requested not to be named–that saw
the potential here. With a few features, x264 could be turned into the most
powerful low-latency streaming platform in the world._

...

 _Videoconferencing? Pah! I’m playing Call of Duty 4 over a live video
stream!_

October 2009 seems a little late for it, but could the startup be OnLive?
<http://www.onlive.com/>

~~~
DarkShikari
Nope, not OnLive. They have their own system which I could talk about rather
at length if anyone wanted, but in short is really not very good (but is
probably passable). They split the frame into 16 rectangular slices and encode
them in separate streams, each of which runs at a constant bitrate. Updates to
each block are staggered 1ms apart, for a total frame latency of about 16ms.

More problematic is their awful business model, which, given that it's thought
up by the guy behind WebTV, is probably not very surprising.

~~~
BlueSky
Can you discuss in detail the way Onlive do the Encoding? Why do you think
their business model is awful?

------
jacquesm
You should get wowza to adopt this technology, the keyframe-less solution is a
big step forward.

What are the implications for automatic bandwidth adaptation?

To do all this without touching the decoder, so staying within the standard is
really impressive, it's funny how such constraints bring out the creativity.

~~~
DarkShikari
Doesn't Wowza mostly do offline content, e.g. pre-recorded video? Even in the
case of live streaming, the keyframeless option is really only useful if
you're trying to go for very low latency, which as I mentioned in the blog
post isn't very useful for ordinary broadcast purposes.

The primary target of all this is _interactive_ video: gaming,
videoconferencing, and maybe something like Livestream or Justin.tv where a
person interacts with viewers who are chatting with them. Ordinary broadcast
probably won't benefit.

I should note that the keyframeless solution is _not unique_ to our system:
this was done a few times in MPEG-2 broadcast encoders back in the day, as
well as in some mezzanine stuff. I haven't seen anyone do it in H.264 though
yet; it is made slightly more tricky due to the way that intra prediction in
H.264 works.

 _What are the implications for automatic bandwidth adaptation?_

We don't support that yet--but that will probably come soon, as it's the
natural next step forward. (Currently the encoder's ratecontrol settings can't
be changed without re-initting it.)

~~~
Schtarflucz
IMO it would be a great step forward in digital tv broadcast too. The current
latency when changing channels compared to what one is used to get with
analogic tv is a very annoying to me.

~~~
DarkShikari
Periodic Intra Refresh wouldn't actually decrease channel-change latency--or
if it did, it would only eliminate the VBV buffer latency, _not_ the keyframe
latency.

Remember, with intra refresh, you still have to wait for the column to cross
the screen before the image is visible, so it's not instant. Of course, you
could set it up so the user can see the image before it's fully loaded, but
people might not like that either.

------
skorgu
What would it take to write a Windows driver that pretended to be a monitor
but actually multiplexed to an actual monitor and a x264 stream? What kind of
bounty would be required to get such a thing written?

------
Luc
Will it play in Flash, like <http://www.gaikai.com/> ? That would be
awesome...

~~~
spatulon
I'd be willing to bet that Gaikai is the unnamed startup that
sponsored/requested this work. (DarkShikari already said it isn't OnLive, and
those are the only two companies I know of that are preparing to launch on-
demand gaming services that use streaming video).

~~~
jacquesm
It's the ultimate answer to game piracy and bots.

~~~
DarkShikari
As far as I know, Gaikai's not looking to replace consoles or whatnot like
OnLive is: the primary purpose is advertising.

Current game demos are a marketer's worst nightmare: to get a player to try
them, they have to download gigabytes of installer, install it, and after
hours of messing around, they can finally go try the game. Gaikai's goal is to
provide a better way for companies to promote their products--not to try to
get people to shelve their Xbox.

Which is probably smart, because this kind of video streaming is hardly an
efficient way to do gaming in the general case.

------
sandGorgon
hmm.. boxee could use something like this.

