Consider having PLEX clients and servers communicate with Google’s QUIC protocol improve streaming performance.
QUIC is bleeding-edge, but it allows for TCP-style connection over UDP, with TLS security, but without some of the problems that plague long-distance TCP connections. In my own experience, TCP/IP makes it almost impossible to stream PLEX from servers in Europe to California unless the quality is set at an unbearably low level. Moreover, this cannot be solved with a faster internet connection; the problem appears to be “baked” into TCP/IP itself, particularly the way that it deals with acknowledgments and retransmissions.
If PLEX could use QUIC, my sense is it could help alleviate this problem, allowing better HD streaming around the globe with a modest internet connection.
Honest question - does Roku, Firefox, Opera, Safari, TVs, and/or all other potential clients for Plex apps support QUIC? That will be the first limiting factor for implementing a new protocol.
@drinehart that is an excellent question. I’ve found there is a C library for this, but I’m not sure whether that is helpful for devices like Roku.
It might be impractical to do this if a custom QUIC stack were needed for each device. QUIC is really UDP so it is conceivable that such libraries could be written open-source style.
Personally I don’t think it matters if a device has the ability or not. Just make sure the server knows which device can use which protocol and fire away… In any case you can imagine a bleeding edge technology to become more used in new devices, so eventually you’ll be supporting a better environment. In any case I hope the streaming protocols are embedded in an OO way so that one can just substitute a new protocol in every time…
QUIC is very new technology. I first noticed it with youtube, have you noticed that youtube tends to stream video at a way better quality than other sites?
It’s a TCP implementation over UDP, and in theory should save a significant amount of bandwidth (upwards of 20%? Doing more research on this.) I can go deep into the weeds on the protocol and why it would be preferable to standard TCP w/ TLS, but maybe some other time.
The implementation of it now is that if QUIC can’t be established, the site/connection falls back on TCP/TCP-TLS. So it shouldn’t matter if end devices support it or not. But look at the youtube app on devices, if it’s there, it probably supports QUIC.
I think it’s worth noting this will help with more than just long-distance servers even. It doesn’t really make sense to use TCP internally to a LAN, but most home LANs are at gigabit speeds anyways. You might only see an improvement with older 802.11n wireless devices or poor wireless signal/wireless environment.
The bottom line is that QUIC as it is right now is a bleeding edge technology. And while I would like to see it implemented in Plex for it’s performance gains, it might be unrealistic for a near/“soon” goal.