-
Notifications
You must be signed in to change notification settings - Fork 80
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
Doesn't Support extended URL with hmac Info #27
Comments
it works fine..
this is the content of this proxied manifest:
so.. please tell me precisely.. what isn't working? |
oh.. wait I see something that I don't like.. the original URI for the key uses protocol: |
alternatively.. https://developer.apple.com/forums/thread/50560 not sure if this is documented anywhere,
then the proxy can download these files.. |
yep, here is a quick confirmation that the protocol used by the key file is a problem: curl -I "http://127.0.0.1:8080/aHR0cDovLzEyNy4wLjAuMS9za2Q6Ly9kcm10b2RheT9hc3NldElkPTk3ODllMGYxZTc4NTQ1YTc5Mjg2MGJhNTE0ZGFhODc5JnZhcmlhbnRJZD1hdmtleQ==.key"
and written to the hls-proxy console log:
|
I tried again with a still valid m3u8 file and I couldn't download the key. Here's the main ml3u8 file that contains the resolutions: Here's one Resolution Url: |
my thinking is..
|
That would work, We just need to find a way to process the skd request then |
oh.. wait.. you're right.. what would hls-proxy do with this?
rewriting the protocol to:
wouldn't work.. the hostname doesn't contain a top-level domain. I guess I'll not add any cli option |
fun fact.. https://github.com/warren-bank/HLS-Proxy/blob/v3.3.0/hls-proxy/manifest_parser.js#L181 for example: {
const m3u8_url = 'http://127.0.0.1/video.m3u8'
const matching_url = 'skd://drmtoday?assetId=9789e0f1e78545a792860ba514daa879&variantId=avkey'
let resolved_match_url
{
const {URL} = require('@warren-bank/url')
resolved_match_url = (new URL(matching_url, m3u8_url)).href
console.log('mine:', resolved_match_url)
}
{
const {URL} = require('url')
resolved_match_url = (new URL(matching_url, m3u8_url)).href
console.log('node:', resolved_match_url)
}
} produces the output:
once I fix this.. |
my guess.. before looking at the code.. is that the URL parser uses a regex that requires a TLD. |
nope.. that wasn't the issue. error: hmm.. I guess I should look into that. |
ok.. both issues are fixed
|
Nice, I'll see if I can find something about the skd and reverse engineer the website im scraping |
I've just found something - Apparently the .m3u8 file with this weird key is a drm_adaptive_hls, Idk what that means but I've found one that has the normal https key, It works on my machine. |
The provided m3u8 cant be proxied due to the way HLS-Proxy handles m3u8 files
#EXTM3U
#EXT-X-TARGETDURATION:4
#EXT-X-ALLOW-CACHE:YES
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-VERSION:5
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-KEY:METHOD=SAMPLE-AES,URI="skd://drmtoday?assetId=9789e0f1e78545a792860ba514daa879&variantId=avkey",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1"
#EXTINF:4.004,
https://a-vrv.akamaized.net/evs3/11a41c35485da2c7d60c3b859e616a05/assets/p/9789e0f1e78545a792860ba514daa879_4830206.mp4/seg-1-v1-a1.ts?t=exp=1680116387~acl=/evs3/11a41c35485da2c7d60c3b859e616a05/assets/p/9789e0f1e78545a792860ba514daa879_4830206.mp4/*~hmac=c98f2081f7b19cdf27deca1b898c36f7c482765cb83e60555b5fd8f2ba1061d4
#EXTINF:4.004,
https://a-vrv.akamaized.net/evs3/11a41c35485da2c7d60c3b859e616a05/assets/p/9789e0f1e78545a792860ba514daa879_4830206.mp4/seg-2-v1-a1.ts?t=exp=1680116387~acl=/evs3/11a41c35485da2c7d60c3b859e616a05/assets/p/9789e0f1e78545a792860ba514daa879_4830206.mp4/*~hmac=c98f2081f7b19cdf27deca1b898c36f7c482765cb83e60555b5fd8f2ba1061d4
#EXTINF:4.004,
The text was updated successfully, but these errors were encountered: