Hacker News new | past | comments | ask | show | jobs | submit | eldod's comments login

Thanks for noticing! We'll make sure to improve this


This is more or less what we do with our our client-side switching solution at Streamroot: we first make sure the user has enough video segments in its buffer, and then we try to get the next video segments for different CDNs, so we're able to compare the download speeds, latency and RTT between the different CDNs without adding any overhead. You don't necessarily download the segments at the same time, but with some estimation and smoothing algoriths you're able to have some meaningful scores for each CDN. The concepts and problematics here are very close to the problematic of bandwidth estimation for HTTP Adaptive Bitrate streaming formats like HLS & DASH, because you have an instable network, and you are only able to estimate the bandwidth from discrete segment measurements. [0]

If you want to do it on a sub-asset (video segment, or image or JS file) level, it's possible by doing byte-range requests (ask bytes 0-100 from CDN A and 101-200 from CDN B), but in that case you still add some overhead for establishing the TCP connection, and in the end as you need the whole asset to use it, you'll just limit the download speed to the minimum of the two.

[0]https://blog.streamroot.io/abr-algorithms-work-optimize-stac...


Both HLS and DASH support redundant streams (by adding a redundant variant URL in the HLS playlist and multiple BaseURLs in the DASH manifest). It's indeed the simplest way to have the easiest way to have a fallback client-side. If you use it, you should make sure that the player supports it, and that the retry mechanisms are rightly configured (like for instance all the MaxRetry config params in hls.js: https://github.com/video-dev/hls.js/blob/master/docs/API.md#... )


Indeed the article is more an introduction to multi-CDN concepts, but take into account that it was written for the HTTP video streaming use-case, and not static content CDNs. A client-side implementation of switching would not be very useful for that kind of content.

For Cedexis, I think the strenght is not only in the configurable DNS routing system, but also because they set up a lot of probes for different CDNs & clouds, and share global aggregated data that anyone can access, which can be useful when you don't a Alexa top1000 traffic.


Have to disagree here, you can have very different performances from different CDNs for the same user at the same time. Some CDNs have their own backbone (or at least partially), a lot of them are using different routes, and a lot of the time, the issue is not with the backbone, but with peering inter-connections, which can be different between each ISP & CDN. And a CDN's capacity is shared between all its customers, so if you get a huge peak from one of them, it can impact the others too. Old but good example: Before Apple started building out its own CDN, it was using the leading commercial one, and when Apple was doing its iOS/MacOS updates, other broadcasters were having big troubles delivering their streams at the same time because the CDN was overloaded - but it doesn't mean that other CDNs were also all down. That's also why most video broadcasters are now doing multi-CDN for their biggest live events like Superbowl or the world cup - to be able to distribute the load on several networks.


In this case - given this and the other comments - I stand corrected! I would love to see some data on examples of this occurring in the wild - and it 100% makes sense that a congested CDN provider would impact neighbors. It would be great if someone could do a writeup on examples and the detection/mitigation strategies. Perhaps issues like these (alongside cost) are driving the DIY CDN adoptions (Apple being the exemplar but also Tesla etc)? Also the Pinterest example is a great real world example - and they do an awesome job especially given the size of that cache - so there must be so real value from a performance standpoint! Out of curiosity does it seem like these dynamic switching decisions are better at the server level or client level?


Nikolay from Streamroot.io here, co-author of the article.

Yes Conviva provides a service that can give you information about the QoS for the CDN by aggregating data from their customers (they provide a video analytics solution), but it doesn't make the switching (nor on the server side or on the client side), so the video player would need to implement its own logic themselves.

The solution from Streamroot can use this kind of APIs like Conviva Precision, or the one from its competitors like Youbora and Cedexis, and the real value it adds is the client-side switching capability to the players, so it's quite complementary to those solutions.

And indeed the devil is in the details, that's why we built this client-side SDK so the customers don't have to implement all the logic themselves on each platform and device. It was easier for us as we already have SDKs and plugins for most players for our P2P hybrid delivery solution.


Streamroot - P2P, web, backend, media developers and other positions - Paris, France All availables positions here: https://streamroot.io/careers/

By 2021, over 80% of internet traffic is going to be video. Founded in Paris by three students with a vision to revolutionize the video world, Streamroot’s mission is to build more robust and scalable streaming solutions that enable online video providers to scale profitably and offer a better video experience to billions of users around the world. Our groundbreaking patented technology allows media broadcasters to increase their online streaming capacity and to make sure that people in all corners of the world enjoy the best experience streaming GoT ;)

Streamroot is backed by top US & European venture funds including Partech, TechStars and Verizon Ventures. We are a team of ~30 passionate engineers, sales, business and marketing professionals from 14 different nationalities, spread across offices in Paris, New York and Denver. With an expanding customers base that includes media groups like Canal+, Dailymotion and Eurosport, Streamroot powers over 20 million video sessions every day, and we’re just getting started.


Streamroot.io | Backend & System Engineers | Paris, FRANCE | Full-time, on-site At Streamroot, we’re working to overcome one of the biggest challenges facing the internet today: the explosion of video traffic. Our goal is to redesign the way we deliver video online, to create more robust, cost-effective infrastructures, and to touch millions of internet users by bringing quality video to every corner of the world. With a hybrid peer-to-peer accelerated solution to video streaming, Streamroot helps VoD platforms and live broadcasters improve quality of service, scale to growing audiences and cut their bandwidth costs by up to 70%.

* QA & Releases Engineer: https://www.streamroot.io/jobs/qa-release-engineer/

* Product Owner - SDKs: https://www.streamroot.io/jobs/product-owner-compatibility/

* Senior Front-end Engineer: https://www.streamroot.io/jobs/senior-front-end-developer/

* Media SDK Engineer: https://www.streamroot.io/jobs/media-sdk-engineer/

and more on: https://www.streamroot.io/careers/


Streamroot.io | Backend & System Engineers | Paris, FRANCE | Full-time, on-site

At Streamroot, we’re working to overcome one of the biggest challenges facing the internet today: the explosion of video traffic. Our goal is to redesign the way we deliver video online, to create more robust, cost-effective infrastructures, and to touch millions of internet users by bringing quality video to every corner of the world. With a hybrid peer-to-peer accelerated solution to video streaming, Streamroot helps VoD platforms and live broadcasters improve quality of service, scale to growing audiences and cut their bandwidth costs by up to 70%

* Backend & System Engineer: https://www.streamroot.io/jobs/backend-and-system-engineer/

* Data System Engineer: https://www.streamroot.io/jobs/data-system-engineer/

* Senior Front-end Engineer: https://www.streamroot.io/jobs/senior-front-end-developer/

and more on: https://www.streamroot.io/careers/



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: