-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for HLS/DASH content steering #11203
Comments
Don't know how useful this is for adding the support, but do check out POC using Shaka Packager and Exoplayer: |
We are planning to add support for content steering, but this will likely only happen in 2024. Note that regular BaseURLs (including priorities and weights) are already supported and can be used for slightly more static "content steering" if required.
We are always happy to accept high-quality pull requests. So if you are willing to provide support for this feature, we can work on getting PRs merged. However, given that this is a slightly more complex feature, it would be helpful to align on the main design ideas first (e.g. by outlining the plan in a Google Doc). I quickly skimmed your POC, which looks like a good start, but there are a few issues that make it difficult to merge it in its current form and we need to resolve them first (e.g. static Final note (for both filing the issue and potential future PRs): Please open all new issues and PRs in the media3 repository as indicated in the issue template. |
FYI, an example test stream for content steering is now available from DASH-IF: https://reference.dashif.org/dash.js/latest/samples/advanced/content-steering.html |
Closing this issue in favor of the same request in the Media3 issue tracker. (androidx/media#1689) |
Content steering is a new feature of both HLS and DASH standards, simplifying the design of multi-CDN systems, redundancy/failover functions, load balancing, and various other traffic optimization applications. A number of players (DASH.js, HLS.js, Apple's AVplayer, etc.) already support this feature.
The relevant specifications are:
[1] HLS Content Steering Specification (v1.2b1) https://developer.apple.com/streaming/HLSContentSteeringSpecification.pdf
[2] DASH-IF CTS Version 0.9.0 – https://dashif.org/docs/DASH-IF-CTS-00XX-Content-Steering-Community-Review.pdf
The ask is: please add support for Content Steering functionality in Exoplayer.
Finer-level detail: if feasible, please include the _HLS/DASH_pathway and _HLS/DASH_throughput parameters in calls to the steering servers. These parameters help servers to react faster in cases of failures or other problems with CDNs.
The text was updated successfully, but these errors were encountered: