3 ms·
Real interactive gaming Customer service application Video dating The real problem here is always latency. Even if you're not doing Onlive-style stuff, vide
by DarkShikari 17y ago
Real interactive gaming
Customer service application
Video dating
The real problem here is always latency. Even if you're not doing Onlive-style stuff, videoconferencing is hard. I doubt the standard Flash toolchain (webcam + Flash + etc) can do it all with acceptable latency. Current Justin.TV only works IMO because you're communicating via chat in one direction and via video in the other; a real two-way communication link gets really awkward even at 500ms latency. When people do videoconferencing, they expect it to be like their cell phone, not like a call to the moon.
We at x264 have been working on this for some time for... a certain company that wishes to stay anonymous. Right now you can get down to about 9 millisecond total end-to-end latency for 800x600 video (not counting client and network latency, just server-side), which works pretty damn well.
But dropping encoder latency isn't enough; you need to have a system built around it that has tolerable latency. VLC, for example, doesn't; it's not made for two-way communication, and so it has a 5-15 second internal buffer. It ends up requiring a lot of custom-rolled toolchains, even if the basic libraries already do what is necessary.
- jwecker 17y agoI think you slightly underestimate JTV's performance, as well as the level to which it can be customized... EDIT: concede the point to DarkShikari, though I still think you could make very viable companies based on those ideas and JTV technology.
- DarkShikari 17y agoI think you underestimate the difficulty of getting low latency video connections. For example, Flash by default buffers at least 8 frames for decoding. This means you instantly have 1/3 of a second of latency for a 24fps stream.* Most live-streaming encoders use a VBV buffer size of about 1-2 seconds--very few are even designed to go below about half a second. When you need to go low latency, every millisecond adds up, and it becomes painful fast. *There is a (very ugly) hack to somewhat reduce this. I don't think I'm allowed to talk about it due to my current contractual obligations, but if you're experienced in video streaming, perhaps you can figure it out. EDIT: I agree, it's possible, but JTV might have to modify their internals to make it possible.
- Retric 17y agoFirst thought "Decouple sound from video." Next thought "send video directly between computers." But for a truly ugly hack, double each frame on the client side so flash thinks it's 48FPS video.
- DarkShikari 17y agoBut for a truly ugly hack, double each frame on the client side so flash thinks it's 48FPS video. You're getting close ;)
- ALee 17y agoThese would be the things that we would absolutely also want on JamLegend. Being able to see how you are doing both in the game and seeing your friends real movements are key to the future of internet gaming.