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

Losing track of URLs from m3u8s with redirects to other hosts #157

Open
hoyer78 opened this issue Sep 25, 2023 · 3 comments
Open

Losing track of URLs from m3u8s with redirects to other hosts #157

hoyer78 opened this issue Sep 25, 2023 · 3 comments

Comments

@hoyer78
Copy link

hoyer78 commented Sep 25, 2023

Hi!

I'm trying to use iptv-proxy with MATT HUISMAN's m3u8s (https://www.matthuisman.nz/).

e.g. with https://i.mjh.nz/nz/raw-tv.m3u8 for the free tv channels from New Zealand.

Situation without proxy

At the source it looks something like this:

https://i.mjh.nz/nz/raw-tv.m3u8

has a list of channels:

[...]
#EXTINF:-1 channel-id="mjh-tvnz-1" tvg-id="mjh-tvnz-1" tvg-logo="https://i.mjh.nz/.images/tvnz-1.png " tvg-chno="1" group-title="Nz" , TVNZ 1
https://i.mjh.nz/tvnz-1.m3u8
[...]

The individual channel e.g.:
https://i.mjh.nz/tvnz-1.m3u8

then does a redirect e.g. to:
"https://dz1g25geip0uq.cloudfront.net/master.m3u8"

(Hint: The hostname is changing all the time, the url only works in New Zealand)

master.m3u8 then has various relative urls for the different qualities of the stream:

[...]
#EXT-X-STREAM-INF:BANDWIDTH=640996,AVERAGE-BANDWIDTH=581245,RESOLUTION=480x270,FRAME-RATE=25,000,CODECS="avc1.640015,mp4a.40.2"
master_33.m3u8
[...]

master_33.m3u8:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:22873182
#EXT-X-KEY:METHOD=AES-128,URI="https://d2k40ydor517br.cloudfront.net/Tvnz1-2019/b3596451-61c5-47de-bded-3965a51969c5"
#EXTINF:4.480,
master_33_22873182.ts?m=1689112883
#EXTINF:4.480,
master_33_22873183.ts?m=1689112883
#EXTINF:4.480,
master_33_22873184.ts?m=1689112883
[...]

Situation with proxy

Let's say this is the URL to my iptv proxy:

https://iptvnz.myserver.nz/iptv.m3u?username=demo&password=test

then it is first correctly rewritten as:

[...]
#EXTINF:-1 channel-id="mjh-tvnz-1" tvg-id="mjh-tvnz-1" tvg-logo="https://i.mjh.nz/.images/tvnz-1.png " tvg-chno="1" group-title="Nz", TVNZ 1
http://iptvnz.myserver.nz/c2a34a52/demo/test/5/tvnz-1.m3u8
[...]

the content of tvnz-1.m3u8 is:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=640996,AVERAGE-BANDWIDTH=581245,RESOLUTION=480x270,FRAME-RATE=25,000,CODECS="avc1.640015,mp4a.40.2"
master_33.m3u8
[...]

However, if you retrieve master_33.m3u8 from iptvnz.myserver.nz you will end up with a 404 error.

Is there already a solution to this problem?

Possible solution outline

Obviously the IPTV proxy already follows the redirect. But the result is missing any reference to the redirect.

In my opinion, redirects would have to be recognized and then relative urls would have to be eliminated first:

e.g.
master_33.m3u8 => https://dz1g25geip0uq.cloudfront.net/master_33.m3u8

In a second step, the new URL would then have to be rewritten. E.g. like ttp://iptvnz.myserver.nz/c2a34a52/demo/test/dz1g25geip0uq.cloudfront.net/master_33.m3u8

Also the
#EXT-X-KEY:METHOD=AES-128,URI="https://d2k40ydor517br.cloudfront.net/Tvnz1-2019/b3596451-61c5-47de-bded-3965a51969c5"
needs to be rewritten/proxyed.

@mf1x
Copy link

mf1x commented Dec 21, 2023

Have you found a workaround for this?

@Juancollado2003
Copy link

iptv-proxy works with hls and doesn't work with m3u8
so the url should be https://iptvnz.myserver.nz/iptv.m3u?username=demo&password=test&type=m3u_plus&output=hls

@Fyb3roptik
Copy link

Using hls still isn't working for me. Same issue as the other ticket

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants