Skip to content
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

HLS key rotation #741

Closed
joeyparrish opened this issue Mar 31, 2017 · 4 comments · Fixed by #4568 or #4424
Closed

HLS key rotation #741

joeyparrish opened this issue Mar 31, 2017 · 4 comments · Fixed by #4568 or #4424
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@joeyparrish
Copy link
Member

Related to live support. We have not tested key rotation in HLS.

@joeyparrish joeyparrish added type: enhancement New feature or request component: HLS The issue involves Apple's HLS manifest format labels Mar 31, 2017
@joeyparrish joeyparrish added this to the Backlog milestone Mar 31, 2017
@joeyparrish joeyparrish modified the milestones: Backlog, v2.2.0 Mar 31, 2017
@joeyparrish joeyparrish modified the milestones: v2.2.0, v2.3.0 Jun 6, 2017
@joeyparrish joeyparrish modified the milestones: v2.3.0, v2.4.0 Oct 3, 2017
@joeyparrish joeyparrish modified the milestones: v2.4.0, Backlog Dec 4, 2017
@joeyparrish joeyparrish modified the milestones: v2.4, v2.5 Mar 4, 2018
@joeyparrish joeyparrish modified the milestones: v2.5, Backlog Jul 9, 2018
@joeyparrish joeyparrish modified the milestones: Backlog, Backlog 2 Jan 28, 2020
@TheJohnBowers
Copy link
Contributor

TheJohnBowers commented Jun 10, 2021

Hey I have a test stream for you! Key rotation definitely doesn't work. This stream rotates keys every 3 minutes and it just hangs when the rotation occurs. This might be useful for testing and implementing a fix:

manifest url:
https://content.uplynk.com/channel/b965d55496414804891dde9c96928ffb.m3u8?rmt=wv&m4fenctype=cenc
license server url:
https://content.uplynk.com/wv

@joeyparrish joeyparrish added this to To do in HLS Improvements Sep 13, 2021
@TheModMaker TheModMaker added the priority: P2 Smaller impact or easy workaround label Sep 29, 2021
@joeyparrish
Copy link
Member Author

@TheJohnBowers, I know this issue is ancient, but I wanted to confirm if we have solved this in v4.2.0 with PR #4386. I'm running the content now in the v4.2.0 demo, but I'm not sure what the key rotation interval is, or when I will know for sure whether or not playback is working correctly.

Are the links above still accurate and using key rotation? If so, what is the key rotation interval?

Thanks!

@joeyparrish
Copy link
Member Author

I let it run for about 20 minutes without issue, but I'm not certain if the content link is still valid for this issue.

@TheJohnBowers
Copy link
Contributor

Yeah, that is just unencrypted slate. The channel ran for a couple of years but the encoder running it was retired a couple of months ago. I have a better way to test that now -- A "Playlist" that loops through assets as a live stream. This requires no encoders to be running 24/7, so much easier to keep up for validation / test streams:

I have 2 streams that loop endlesslly over 2 different assets:
This first one the first asset is only 28 seconds long and it seems to transition into the second asset perfectly:
https://content.uplynk.com/playlist/a3d7ee7c60db4a92b55f11e4e9c48d12.m3u8?rmt=wv&m4fenctype=cenc

This one, the first asset is maybe 2 minutes long, and it hangs when you try to transition in to the second asset with a new key:
https://content.uplynk.com/playlist/ebbbf2111be144a4971dd8426b70e809.m3u8?rmt=wv&m4fenctype=cenc

I suspect the first one works simply because the first slice for the second asset is actually seen in the very first HLS manifest window, so I think there is still some work to do. You can get a dash version of the playlist that rotates through the same 2 assets with the same fmp4 segments if you want to compare how shaka handles this in HLS vs DASH:

https://content.uplynk.com/playlist/ebbbf2111be144a4971dd8426b70e809.mpd

The license server url is as always (regardless of dash or hls or stream url)
https://content.uplynk.com/wv

varvaruc added a commit to TiVo/shaka-player that referenced this issue Oct 10, 2022
varvaruc added a commit to TiVo/shaka-player that referenced this issue Oct 12, 2022
@avelad avelad moved this from To do to In progress in HLS Improvements Oct 13, 2022
joeyparrish pushed a commit that referenced this issue Nov 8, 2022
@joeyparrish joeyparrish moved this from In progress to Done in HLS Improvements Nov 8, 2022
@avelad avelad modified the milestones: Backlog, v4.3 Nov 11, 2022
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Jan 7, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
No open projects
4 participants