E2m3u2bouquet - discussion & support

There are 1,215 replies in this Thread which was already clicked 90,057 times. The last Post () by pepsik.

  • In the provider's m3u8 I will use their original tvg-id as known in the epg.dat .

    1) There is no dependency between epg.dat and tvg-id in m3u playlist at all ... epg.dat is the cache file that creates the E2 image you use to store the eEPGCache data ... The unique keys for EPG events and other EPG info in it are not tvg-id, but a combination of SID:TSID:ONID from serviceref record from your "bouquet

    I have some channels from a bouquet generating by a plugin, and for these channels I have an EPG.

    2) In order to implement your wish, I need to redo the code in such a way that you can specify a list of EPG sources for one playlist. Those, the logic should assume that within the same playlist it contains tvg-id tags with values from different XMLTV sources ... Basically, it's kind of absurd... The fact is that there are certain well-established rules for the EXTM3U format ... These rules assume the presence of certain tags and their values that are associated with certain logic.


    Let's look at a simple example

    Code
    #EXTM3U url-tvg="http://some.domain.com/epg.xml.gz"
    #EXTINF:0 group-title="Спорт" tvg-id="6574",FOX SPORTS OKLAHOMA HD                                    
    http://some.domain.com/iptv/key/19146/index.m3u8                                                                                                  
    #EXTINF:0 group-title="Спорт" tvg-id="6575",Bally Sports Great Lakes                                  
    http://some.domain.com/iptv/key/19146/index.m3u8                                                                                                 
    #EXTINF:0 group-title="Спорт" tvg-id="6576",BALLY SPORTS SUN                                          
    http://some.domain.com/iptv/key/19146/index.m3u8                                                                                                 
    #EXTINF:0 group-title="Спорт" tvg-id="6577",BALLY SPORTS SOUTHEAST CAROLINAS

    Everything is logical here. We have an EPG source specified as a url-tvg tag value and a tvg-id tag value, data for which must be unambiguously retrieved or found in the specified EPG source


    Now a small example of what you want

    Code
    #EXTM3U url-tvg="http://some.domain.com/epg.xml.gz, http://some.domain.com/epg2.xml.gz"
    #EXTINF:0 group-title="Спорт" tvg-id="6574",FOX SPORTS OKLAHOMA HD                                    http://some.domain.com/iptv/key/19146/index.m3u8                                                                                                  #EXTINF:0 group-title="Спорт" tvg-id="6575",Bally Sports Great Lakes                                  http://some.domain.com/iptv/key/19146/index.m3u8                                                                                                 #EXTINF:0 group-title="Спорт" tvg-id="6576",BALLY SPORTS SUN                                          http://some.domain.com/iptv/key/19146/index.m3u8                                                                                                 #EXTINF:0 group-title="Спорт" tvg-id="6577",BALLY SPORTS SOUTHEAST CAROLINAS

    In which of the EPG sources, in this case, to look for data for the values of the tag tvg-id="6574"? And for tvg-id="6577"? In both? But XMLTV doesn't support searching by index... it always iterates over each row looking for the right one... By adding records from different playlists to m3u and adding different EPG sources there, you significantly increase the data processing time, since you have to "iterate through" exactly as many EPG sources as specified ... 70% of the EPG sources I've come across contain millions of records... how fast will that work?


    All "commercial" providers use the first variant of the formation of the logic for building m3u playlists described by me in the "simple example"


    The second option (your wish) I met only in "home-made" playlists found on the Internet that were "blinded" by some enthusiasts who completely do not understand what EXTM3U is and how it works then in the code of any m3u playlist parser



    Thus, should I deviate from the established rules and norms of the EXTM3U standard in the plugin code, which is used by 99% of "commercial" providers for the sake of 1% of enthusiasts?

  • In fact, no, I don't want to add a second url for the xml, because I don't have it. I think I wasn't clear. I will do a new try.


    The plugin I'm speaking about is enigma2-plugin-extensions-rakutentv. In my case I've configured FR provider. So I have a list of channels named Rakuten TV (FR). This list contains channels and their EPG. My wish is just to add some of these channels in a list processed by e2m3u2b. So I know the ServiceRef of the channel with the EPG, I know after the process the ServiceRef of the added channel for the e2m3u2b provider. And I just wand to have the epg in the second case. So in both lists.


    But it's just a brainstorm, a work for me to find a simple solution, not a desire to transform everything. I just share the case with you. This will concern only 5 channels at the maximum....

  • How to add youtube tv channels with streamlink protocol, example for France 24:


    streamlink://https%3a//www.youtube.com/watch?v=gxG3pdKvlIs or streamlink://https://www.youtube.com/watch?v=gxG3pdKvlIs don't work. The channel is not processed and is just bypassed.


    The working result syntax in .tv file is like that:


    Code
    #SERVICE 4097:0:1:0:0:0:0:0:0:0:streamlink%3a//https%3a//www.youtube.com/watch?v=gxG3pdKvlIs:FRANCE 24 FR
    #DESCRIPTION FRANCE 24 FR

    Edited once, last by jeepcook ().

  • How to add youtube tv channels with streamlink protocol, example for France 24:

    The example you gave is not a "stream", it's a link to a web page. The link for a video from this page is

    Code
    https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1687518438/ei/hiiVZJMSl4zIBazsutgL/ip/YOUR_IP_ADRESS/id/gxG3pdKvlIs.4/itag/96/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D137/hls_chunk_host/rr2---sn-3tp8nu5g-3c2s.googlevideo.com/playlist_duration/30/manifest_duration/30/spc/qEK7ByOAOv2A_9P3CwhDwDYaqsLg-6IlNZfodoqD7A/vprv/1/playlist_type/DVR/initcwndbps/663750/mh/UO/mm/44/mn/sn-3tp8nu5g-3c2s/ms/lva/mv/m/mvi/2/pl/21/dover/11/pacing/0/keepalive/yes/fexp/24007246,24362688/beids/24350017/mt/1687496430/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,spc,vprv,playlist_type/sig/AOq0QJ8wRAIgPdKjGxFGAL1mQt6f2NZ_2tKLvR5jPxmYvm3uevyya6YCIASzD8fbA7GEObELIwg58XiVEqqzXp3pXx84sjAsvsxO/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRgIhALlAFksvJvAOGytgLVdlnprZNPcyPoRCNDVMePBDP7UNAiEApkjxFv8d4TWvlwn1ZuJD76pFQzPb_zoiCQSbXH-Ua2A%3D/playlist/index.m3u8


    p.s. You should also understand that links to videos on youtube are not eternal and require "regeneration" ... The link to the broadcast I received from the page you specified will become outdated - Friday, 23 June 2023 г., 11:07:18 .... After the specified date and time - you will need to "fish out" a new link for the web page you specified

  • Ok but why streamlink:// url are bypassed and not processed by e2m3u2b?

    And as always, when we have to use a yt url it's the webpage url to give, and the software (streamlink here) which find the url.


    The youtube channel url for France24 is: "https://www.youtube.com/watch?v=gxG3pdKvlIs" and will stay the same and to do working youtube channel on enigma2 you have to install the package enigma2-plugin-extensions-streamlinkwrapper to have the streamlink protocol.


    The url to use is streamlink://https://www.youtube.com/watch?v=gxG3pdKvlIs

    and become on tv file streamlink%3a//https%3a//www.youtube.com/watch?v=gxG3pdKvlIs


    example here on linuxsat-support if I just enter the youtube page url the media is displayed

  • Ok but why streamlink:// url are bypassed and not processed by e2m3u2b?

    Did you clearly understand what I wrote to you in the post above? Do you understand the difference between a web-page link and a "stream" link?


    Do you understand what streamlink:// is? There is also on the image you use, and indeed on Enigma2, some command-line utility that pipes video streams from various services (YouTube, TikTok, Vimeo, e.t.c) into a video player (gstreamer, exteplayer3, or gstplayer).


    Take the link you provided

    Code
    streamlink://https://www.youtube.com/watch?v=gxG3pdKvlIs

    And check if it works in normal VLC or can you stream it using ffmpeg? Does not work? How unexpected :grinning face with smiling eyes: ... What did you expect and why such a link should work on Enigma2 "players"?

  • Did you clearly understand what I wrote to you in the post above? Do you understand the difference between a web-page link and a "stream" link?


    Do you understand what streamlink:// is? There is also on the image you use, and indeed on Enigma2, some command-line utility that pipes video streams from various services (YouTube, TikTok, Vimeo, e.t.c) into a video player (gstreamer, exteplayer3, or gstplayer).


    Take the link you provided

    Code
    streamlink://https://www.youtube.com/watch?v=gxG3pdKvlIs

    And check if it works in normal VLC or can you stream it using ffmpeg? Does not work? How unexpected :grinning face with smiling eyes: ... What did you expect and why such a link should work on Enigma2 "players"?

    The link works on enigma2 see my screenshot.

  • Ok but why streamlink:// url are bypassed and not processed by e2m3u2b?

    passed by e2m3u2b, but not processed by any "players" in Enigma2 ... Should I hardcode to make e2m3u2b only handle http, https, rtp b rtmp? Okay ... but after that, will there be a post from you about what you "slip" "link"

    Code
    streamlink://https://www.youtube.com/watch?v=gxG3pdKvlIs

    and e2m3u2b does not processed this "link"

  • The link works on enigma2 see my screenshot.

    what plugin is this running from? ... I assume that a plugin is used, which, using a link of the streamlink:// type you specify, first receives a link to the stream that I wrote to you above, and only then gives it to the player


    p.s. Judging by the screenshot, this is OpenATV and it is quite possible that an algorithm for "pulling" links to broadcast from web pages of popular video services has been added to the image code ...


    In any case, the link

    Code
    streamlink://https://www.youtube.com/watch?v=gxG3pdKvlIs

    Not a link to a "stream" , it's a link to a web page ... and there must be software that "fishes" the link to the "stream" from this page and gives it to the player --> RE: [Discussion] E2m3u2bouquet , Second paragraph

  • The link works on enigma2 see my screenshot.

    what plugin is this running from? ... I assume that a plugin is used, which, using a link of the streamlink:// type you specify, first receives a link to the stream that I wrote to you above, and only then gives it to the player

    already said before enigma2-plugin-extensions-streamlinkwrapper


    and e2m3u2b has not to choose what to take or not. It has just to take the url and replace ":" by %3a, that's all.

  • already said before enigma2-plugin-extensions-streamlinkwrapper


    and there must be software that "fishes" the link to the "stream" from this page and gives it to the player --> RE: [Discussion] E2m3u2bouquet , Second paragraph

    What do you not understand about this sentence?


    If you do not understand what it is about - then show in a screenshot what you have in the picture in the Enigma2 LOG when the plugin you use STARTS playback .... I can bet that there, when you start playing, the player is sent the link that I gave you in the first post-answer

  • and e2m3u2b has not to choose what to take or not. It has just to take the url and replace ":" by %3a, that's all.

    YES ... The rules for creating bouquet files oblige to escape the character ":"


    I don't understand what you are trying to prove?


    Make a log when playing the enigma2-plugin-extensions-streamlinkwrapper link you provided and you will see everything ... Why are we wasting time on something that can be read from Uncle Google

  • How to add youtube tv channels with streamlink protocol, example for France 24:

    Before you add THIS to the bouquet files, you need to get a reference to the "stream" from THIS ... using the appropriate utilities


    Code
    opkg install python3-youtube-dl
    youtube-dl --get-url https://www.youtube.com/watch?v=gxG3pdKvlIs

    Enjoy =) ... At the same time, you need to understand that the link to the "stream" will be in DASH with separate audio tracks ... and you need to "get" them too and then compile all this and give it to exteplayer3 (this will not work in gstplayer) ... Uncle Google works wonders!


    No battles! It’s just that I understand perfectly well that you don’t quite understand this and my answers raise even more questions for you, but I won’t write lectures on those things that can be gleaned from Uncle Google ...

  • Nothing else.... And I'm using gstreamer which has no problem with separates audio tracks.

    I have zero problem with streamlinks exept that they are bypassed by e2m3u2b... But everything is ok in other tv bouquets or as a subservice.


    END.

    Edited 2 times, last by jeepcook ().

  • And I'm using gstreamer which has no problem with separates audio tracks.

    Can I not explain what and why does not work in gstreamer (gstplayer)? I don't want to waste my time on something that you still don't understand



    I have zero problem with streamlinks exept that they are bypassed by e2m3u2b...

    "Links" of this kind

    Code
    streamlink://******

    Treated by e2m3u2b code AS INVALID and IGNORED


    Only matching the given regexp are valid

    Code
    "(?:ftp|http)s?|file|mmp|rt(?:mp|sp|p)://"


    This "scheme" in the URL is not STANDARD, this is CUSTOM URL scheme

    Code
    streamlink://

    This is a "gag" invented by someone for "service" in his software ... As an example, there are links for p2p-live

    Code
    acestream://

    Which are used in playlists for the AceStream app (https://play.google.com/store/…eam.media.atv&hl=uk&gl=US)



    Why and with what fright should e2m3u2b handle this kind of "gag"?

  • enigma2-plugin-extensions-streamlinkwrapper - on what image, except OpenATV, there is this plugin? On DreamOS-based? Can I install it on OpenPli? It is this plugin that "catches" links from web pages specified in the streamlink:// scheme ...


    e2m3u2b - works on any images with STANDARD URL schemes


    p.s. e2m3u2b also "should" process such "gag"?

    Code
    //YT-DLP://https://www.youtube.com/channel/UC0vwjMGoZpwG_lLBuF6_ALA/live

    or just "//streamlink" only?

    :upside down face:

  • And I'm using gstreamer which has no problem with separates audio tracks.

    Can I not explain what and why does not work in gstreamer (gstplayer)? I don't want to waste my time on something that you still don't understand

    What's your problem? What I don't understand ? I'm using now gstreamer for all my iptv streams, the best for hls streams and separate audio tracks and AC3+ decoding. It's my right, it does not concern you! Stop this aggressiveness please.

    Edited 2 times, last by jeepcook ().

  • Stop this aggressiveness please.

    Where did you highlight the aggression? I have been trying for several hours to convey to you seemingly elementary truths



    What I don't understand ?

    1) The line you gave as an example (in this post - RE: [Discussion] E2m3u2bouquet ) - IS NOT A STREAM

    2) This string is not only NOT "stream", but is not a URI in principle. If you think I'm wrong - read the standard RFC-3986 (https://datatracker.ietf.org/doc/html/rfc3986)

    3) Even part of the above line is not a link to "stream"!

    Code
    https://www.youtube.com/watch?v=gxG3pdKvlIs

    This is a link to a web page that has a "window" with a video - RE: [Discussion] E2m3u2bouquet

    4)

    I'm using now gstreamer for all my iptv streams,

    We correspond for several hours NOT about the IPTV service, but about YouTube video hosting ... which has NOTHING to do with IPTV, like its live streams (https://developers.google.com/…/encoding-with-dash?hl=en)

    5) If you absolutely understand everything that I wrote in paragraph 1) - 4), then in my post about the links of this video hosting (RE: [Discussion] E2m3u2bouquet), I mentioned the term DASH (mpeg-DASH)... What do you think why? And if I write about exteplayer3 in this post, then most likely I do it for a reason ...

    6) Next, I gave you an example of how to get a link to the "stream" from the youtube web page from your example using the youtube-dl utility



    What's your problem?

    Based on the above points, the "baggage" of my knowledge in this area is hardly a problem ... Perhaps my problem is with the interlocutor, to whom I am trying to explain in an understandable language the "stupidity" of the question he asked ... Or my explanations are too complicated for the interlocutor to understand


    What I don't understand ?

    So I don’t understand what you can not understand if I “sorted out” your question on the shelves ...

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!