Using OliveTin to Host YouTube Live Channel URLs Based on the Kister Method

You can set the frequency to 2m (two minutes) to see if it's working, then kill it and redo it with 5h

It seems to be working now with the 2min update on the separate machine. Iā€™ll switch back to 5h and I think Iā€™m good to go. Thanks for the help.

1 Like

Does it work on two servers, or are you just using it on one?
I just ran the action for my second server and it's running on both of them.

I'm pretty sure what @bnhf meant, was that it only supports one YouTubeLive source per server. But will support multiple servers.

Iā€™ll check later today Iā€™m sure it will work fine. What I think happened is I accidentally used the wrong server early in the process and I was thinking when the action was re-ran it would wipe any old ones. I donā€™t think it was the two running at the same time that was the issue, it was I was using the same path in the channels dvr source for both servers.

I misunderstood the single m3u, thinking you could only run a single instance of the action. So while they were both running the separate machine wasnā€™t using the path to its own ip, it was using the path to the other server. In earlier posts I thought that running two actions was the issue but it wasnā€™t, it boils down to basically I was trying to use one source for two servers and that doesnā€™t work because the program is calling on the server for refreshā€™s.

1 Like

A post was merged into an existing topic: An easy way for Channels DVR to watch YouTube Live vids

Does anybody have any insights on why the m3u below isn't working? I get a message of "Streaming to the tuner failed. Please play to try again", followed by the link and "503 Service Unavailable"

I have tried the "kister link" with both a "v=" and "w=", with no luck.

My setup is otherwise working, as when I use the sample M3U from the first post, things work.

#EXTM3U
#EXTINF:-1 channel-id="yt2m3u8-dMr-Jt_K3Cc" channel-number="0.1000" tvc-guide-art="https://i.ytimg.com/vi/dMr-Jt_K3Cc/maxresdefault.jpg?v=9282" tvc-guide-description="Live views from Everett's 8800 at Big Sky Resort, Montana" tvc-guide-placeholders="false" tvc-guide-title="Everett's 8800 Cam" tvg-logo="https://i.ytimg.com/vi/dMr-Jt_K3Cc/maxresdefault.jpg?v=9282" tvg-name="Big Sky Resort",Big Sky Resort
https://kister.net/mpl/yt2m3u8?v=dMr-Jt_K3Cc

This is the live feed I'm trying to get into Channels: https://www.youtube.com/watch?v=dMr-Jt_K3Cc

Change that to https://kister.net/mpl/yt2m3u8?w=dMr-Jt_K3Cc

#EXTM3U
#EXTINF:-1 channel-id="yt2m3u8-dMr-Jt_K3Cc" channel-number="0.1000" tvc-guide-art="https://i.ytimg.com/vi/dMr-Jt_K3Cc/maxresdefault.jpg?v=9282" tvc-guide-description="Live views from Everett's 8800 at Big Sky Resort, Montana" tvc-guide-placeholders="false" tvc-guide-title="Everett's 8800 Cam" tvg-logo="https://i.ytimg.com/vi/dMr-Jt_K3Cc/maxresdefault.jpg?v=9282" tvg-name="Big Sky Resort",Big Sky Resort
https://kister.net/mpl/yt2m3u8?w=dMr-Jt_K3Cc

You have to stop the OliveTin action first,

change the m3u, then run the OliveTin action again.

Worked for me.

Thank you. Hmm. I wonder if I have some sort of caching issue. I stopped the OliveTin action (set frequency to 0 then clicked "Start"), copied and pasted your M3U and saved it, and then started the OliveTin action, and I'm getting the same error.

  1. What does your Channels DVR log show when you try to play that channel?

  2. What did you name your source (Nickname)?

  3. What does your current m3u look like after OliveTin processes it.
    Just copy your Source URL


    and paste it in your browser, which should prompt you to download the file YouTubeLive.m3u.
    Want to make sure it's accessible from the URL.
    Then open that file in a text editor and copy/paste it here. For the lines that begin with this, paste only the part I'm showing and delete everything after what I'm showing when you paste it here (your Internet IP address is in there further to the right)
    https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1735962591/

I really appreciate your help with this. Iā€™ve noticed some weird behavior where I will save the m3u file on the server with the Kister link at the end, and then Iā€™ll go back in later to troubleshoot, and the file will be the same, but the link will be gone at the end. I just walked through the steps of stopping the OliveTin action, saving the file (with the Kister link), starting the action, reloading the source in Channels, and trying to play the channel and getting the same error. I go in to the file on the server, and the link is gone again from the end of the m3u.

But to answer your questions:

  1. The log shows the below (so as noted above, I went back and added the link again, but it was gone again when I went back to check things when the channels still wouldnā€™t play):
    [ERR] Could not start stream for M3U-YouTubeLive ch19003 Big Sky Resort: missing URI for M3U entry: yt2m3u8-dMr-Jt_K3Cc

Those are the only entries in the log for this morning since Iā€™ve started testing/troubleshooting.

  1. Source nickname is ā€œ YouTube Liveā€ (capital Y, T, and L, and space between YouTube and Live, just like in your image)

  2. When I pasted my source URL in Safari, it opened the m3u in the browser. I didnā€™t have a link that looked like anything you showed, if Iā€™m understanding your instruction, but this was the text in the browser window:

#EXTM3U
#EXTINF:-1 channel-id="yt2m3u8-dMr-Jt_K3Cc" channel-number="0.1000" tvc-guide-art="https://i.ytimg.com/vi/dMr-Jt_K3Cc/maxresdefault.jpg?v=9282" tvc-guide-description="Live views from Everett's 8800 at Big Sky Resort, Montana" tvc-guide-placeholders="false" tvc-guide-title="Everett's 8800 Cam" tvg-logo="https://i.ytimg.com/vi/dMr-Jt_K3Cc/maxresdefault.jpg?v=9282" tvg-name="Big Sky Resort",Big Sky Resort

No link at the end, so I went back through the whole process to add it (stopping the action, etc.), and it was gone again at the end of the process.

I've seen this too, a couple of times now, but I'm not sure yet what's causing it. The process seems to typically work correctly, but there is an outlier of some sort that results in an M3U that only contains the #EXTM3U and #EXTINF lines. Now that somebody other than me has seen it, hopefully we can figure out why.

OliveTin takes care of reloading the source, so this should never be required.

EDIT: Well, at least in my case, I believe I've identified the scenario where this can happen -- which is if the container can't reach the Internet. I believe the simple solution will be to test if youtube.com can be resolved before doing anything else, and then skip the M3U update process entirely if YouTube can't be reached.

@cyberskier

As a test though, I added your M3U line to mine, stopped the OliveTin Action (followed by a browser refresh) and then restarted the Action -- and your Big Sky Resort Camera showed up in the guide, including being able to tune to it.

Here's the M3U I started with:

#EXTM3U

#EXTINF:-1 channel-id="yt2m3u8-@KittenAcademy" channel-number="0.1000" tvc-guide-art="https://i.ytimg.com/vi/R7vrbiDi0Tc/maxresdefault.jpg?v=d780" tvc-guide-description="If there is nothing going on, you can rewind the stream up to 12 hours to see action. --  -- Is there something we should know about? Do you have a question for us? Email us at headmaster@kitten.academy. If you want to chat with us and the other viewers, there's a 24/7 Discord chat accessible to our suppo" tvc-guide-placeholders="false" tvc-guide-title="Kitten Academy Live Stream" tvg-logo="https://i.ytimg.com/vi/R7vrbiDi0Tc/maxresdefault.jpg?v=d780" tvg-name="Kitten Academy",Kitten Academy
https://kister.net/mpl/yt2m3u8?w=@KittenAcademy

#EXTINF:-1 channel-id="yt2m3u8-gCNeDWCI0vo" channel-number="0.1001" tvc-guide-art="https://i.ytimg.com/vi/gCNeDWCI0vo/maxresdefault.jpg?v=640a78c8" tvc-guide-description="Stay Informed: Watch Al Jazeera English Live: @Al Jazeera English,  we focus on people and events that affect people's lives. We bring topics to light that often go under-reported, listening to all sides of the story and giving a 'voice to the voiceless'. -- Reaching more than 270 million households in" tvc-guide-placeholders="false" tvc-guide-title="?? Al Jazeera English | Live" tvg-logo="https://i.ytimg.com/vi/gCNeDWCI0vo/maxresdefault.jpg?v=640a78c8" tvg-name="Al Jazeera English",Al Jazeera English
https://kister.net/mpl/yt2m3u8?w=gCNeDWCI0vo

#EXTINF:-1 channel-id="yt2m3u8-@SkyNews" channel-number="0.1002" tvc-guide-art="https://i.ytimg.com/vi/YDvsBbKfLPA/maxresdefault.jpg?v=67582ebf" tvc-guide-description="Watch Sky News live: Santa Tracker began with a child's accidental phone call to a secret US air force number ahe rest is Christmas history; The UK's oldest man has celebrated his 110th birthday with a special performance from opera singer Alfie Boe at his care home in Derbyshire; and good (and bad)" tvc-guide-placeholders="false" tvc-guide-title="Watch Sky News" tvg-logo="https://i.ytimg.com/vi/YDvsBbKfLPA/maxresdefault.jpg?v=67582ebf" tvg-name="Sky News",Sky News
https://kister.net/mpl/yt2m3u8?w=@SkyNews

#EXTINF:-1 channel-id="yt2m3u8-dMr-Jt_K3Cc" channel-number="0.1000" tvc-guide-art="https://i.ytimg.com/vi/dMr-Jt_K3Cc/maxresdefault.jpg?v=9282" tvc-guide-description="Live views from Everett's 8800 at Big Sky Resort, Montana" tvc-guide-placeholders="false" tvc-guide-title="Everett's 8800 Cam" tvg-logo="https://i.ytimg.com/vi/dMr-Jt_K3Cc/maxresdefault.jpg?v=9282" tvg-name="Big Sky Resort",Big Sky Resort
https://kister.net/mpl/yt2m3u8?w=dMr-Jt_K3Cc

I definitely want to get to the bottom of this outlier issue as well. Out of curiosity, if you exec into the OliveTin container using Portainer's Quick Action buttons are you able to ping youtube.com?

@cyberskier

Looks like it's snowing at Big Sky:

For those users unfamiliar with this


Screenshot 2025-01-11 at 08-51-52 Portainer local

2 Likes

It also happens if the user provides a non-Live YouTube video ID, where it's either a stand alone video (not Live), or the Live video ID they supplied has changed when the site restarts the Live stream (you can tell when the Live stream started by looking under the live video)
Screenshot 2025-01-11 at 09-20-27 Everett's 8800 Cam - YouTube

Doing that is probably the best way (Use www.youtube.com, since that is what your code uses and youtube.com resolves to a different IP). It will result in getting a 403 Forbidden error when the token URL expires because of the skipped refresh.

1 Like

Also here:

2 Likes

Thank you @chDVRuser and @bnhf. I'm not sure what did it, but after a couple of tries, it is working now. I was able to ping www.youtube.com using the Console in the OliveTin container. I copied the M3U from @bnhf from a few posts up, which added the Big Sky stream to his three. It still didn't work, giving me the same error.

I tried again, this time changing the channel-number in the M3U supplied by @bnhf (there were two with 0.1000). I also added a fifth YouTube stream to the M3U. I then ran the OliveTin action, and now it all works. I'm not sure what the trick was, but happy that it is working. Thanks for this, and thanks for the help!

Good catch!
I didn't notice that. Although I'm not sure that fixed it?
Might want to do a Guide Data Delete and Recreate Database

I believe this is now fixed. I've added a couple of tests, to address two different versions of this issue.

The first test simply checks if www.youtube.com responds, and if it does not, the entire update cycle is skipped. The second test deals with any scenarios where the # yt-source value fails to return a new manifest URL, and in this case the yt-source line is preserved while the stream URL line will be blank.

These changes, as usual, pushed as bnhf/olivetin:latest (aka bnhf/olivetin:2025.01.12).

1 Like

Verified the second test by using a non-Live YouTube video ID

#EXTM3U
#EXTINF:-1 channel-id="YoyokaVideo" channel-number="3" tvg-chno="3" tvc-guide-placeholders="3600",YoyokaVideo-NOT LIVE
https://www.youtube.com/watch?v=nBeG1h1zOtg

After processing by OT4C (OliveTin for Channels)

#EXTM3U
#EXTINF:-1 channel-id="YoyokaVideo" channel-number="3" tvg-chno="3" tvc-guide-placeholders="3600",YoyokaVideo-NOT LIVE
# yt-source=https://www.youtube.com/watch?v=nBeG1h1zOtg

:+1: