4v3ngR / pluto_tv_scraper

Generate an m3u8 and xml (epg) for pluto tv channels
https://www.npmjs.com/package/plutotv-scraper
MIT License
21 stars 6 forks source link

Suggestion: Ability to append #EXTM3U x-tvg-url="https://dummy.com/url/language.xml" #10

Closed wazerstar closed 9 months ago

wazerstar commented 10 months ago

When generation the m3u8 file, it would be cool to have something like this for the first line in the file.

--xml-url=https://dummy.com/url/language.xml

So in this example this is the first and second line.

#EXTM3U x-tvg-url="https://dummy.com/url/language.xml"
#EXTINF:-1 tvg-id="XXXXXXXXXXXX" tvg-logo="https://images.pluto.tv/channels/XXXXXXXXXX/colorLogoPNG.png" tvg-chno="1" group-title="Nyt på Pluto TV", All exclusive
4v3ngR commented 9 months ago

Quick question regarding this request... do you want the "language.xml" to be determined at runtime? (eg x-tvg-url="https://dummy.com/url/plutotv_us.xml") or is it that the caller would provide the full url to the xml and the script will blindly add it to the EXTM3U header?

If it is the former, I think a --base-url property would be more approriate which would contain only https://dummy.com/url/ and the script would append the full name of the xml file. This would allow each region's playlist to reference the corresponding xml.

Thoughts?

wazerstar commented 9 months ago

Quick question regarding this request... do you want the "language.xml" to be determined at runtime? (eg x-tvg-url="https://dummy.com/url/plutotv_us.xml") or is it that the caller would provide the full url to the xml and the script will blindly add it to the EXTM3U header?

If it is the former, I think a --base-url property would be more approriate which would contain only https://dummy.com/url/ and the script would append the full name of the xml file. This would allow each region's playlist to reference the corresponding xml.

Thoughts?

The given url was just an example without any content to language or anything.

I want us self to be able to call whatever the path is without you having to add anything into it.

So if I have https://dummy.com/url/plutotv_us.xml as url and I put that in, thats that it shows, and then any app that supports #EXTM3U x-tvg-url="url" will automatic pickup the EPG data.

So don't add anything after, because people can make urls that is like https://dummy.com/EPG which could point to https://dummy.com/somepath/epg.xml

--base-url or what it really is --epg-url

As an idea for local/internal hosting you could so something like this for local/internal only

You could an additional --epg-url "local" where it reads the path for local/internal reading from same machine.

Like on windows if my script dir is

c:\github_scripts\pluto_tv_scraper

Then when I run script and use as an example --epg-url "local" it will give output remember to add the xml file lang code generated here from the script, so if I run it with mapping dk then its dk and vice versa.

#EXTM3U x-tvg-url="c:\github_scripts\pluto_tv_scraper\plutotv_dk.xml"

However if I do --epg-url "https://someurl.com/epg" then it respects that and gives output

#EXTM3U x-tvg-url="https://someurl.com/epg"

4v3ngR commented 9 months ago

how will your proposed solution work when multiple regions are configured?

wazerstar commented 9 months ago

how will your proposed solution work when multiple regions are configured?

Does it generate multiple epg/xml files when using multiple regions?

if it's only one big file then I don't see the problem and should still work.

else I think most/if not all clients works with multiple urls separated by comma (if not it could be something like --epg-url local-US ( where us is region based for local)

#EXTM3U x-tvg-url="c:\github_scripts\pluto_tv_scraper\plutotv_dk.xml,c:\github_scripts\pluto_tv_scraper\plutotv_us.xml,c:\github_scripts\pluto_tv_scraper\plutotv_se.xml"

#EXTM3U x-tvg-url="https://url.com/1.xml,https://url.com/2.xml,https://url.com/3.xml" etc

4v3ngR commented 9 months ago

--x-tvg-url as been added

jeepcook commented 9 months ago

--x-tvg-url as been added

Hello, can the --x-tvg-url be different on each m3u8 or the same for all?

4v3ngR commented 9 months ago

I might have an idea. If the provided url ends with a '/' the script will append the epg filename.

wazerstar commented 9 months ago

I might have an idea. If the provided url ends with a '/' the script will append the epg filename.

LOVELY, works really well, amazing job