Custom Channel + hlstube + Twitch = Live Stream

I learned about this here and it's awesome. Hlstube works with Twitch streams too and TWiT (This Week in Tech) broadcasts continuously there.

My question is about XML and guide data, I've not created or edited this before. Here is the weekly info which doesn't change, how would I format this into a recurring XML file that would be usable by Channels DVR?

Programming Schedule



  • 11:00am: Ask The Tech Guys
  • 2:15pm: This Week in Tech


  • 9:00am: iOS Today
  • 11:00am: MacBreak Weekly
  • 1:30pm: Security Now
  • 5:00pm: All About Android


  • 9:30am: FLOSS Weekly
  • 11:00am: Windows Weekly
  • 2:00pm: This Week in Google
  • 4pm/after TWiG: The Giz Fiz


  • 11:00am: Tech News Weekly
  • 1:00pm: Hands-On Mac (Club TWiT Exclusive)
  • 2:00pm: Hands-On Windows (Club TWiTExclusive)
  • 3:00pm: Hands-On Photography


  • Varies: This Week in Space (published, but usually not live streamed)
  • 1:30pm: This Week in Enterprise Tech


  • 3:30pm: Untitled Linux Show (Club TWiTExclusive - Discord Stream only)

All other times feature reruns of earlier content.

I'll share my epg.xml file along with logos and images I use so you can play with it yourself.

I'm on the US East Coast so I set my UTC offset to -0500 for my local time schedule which from your posted schedule looks like you may be on the West Coast 3 hours behind me. This is the current 2 week schedule I'm using. Every week or so I'll do a 'Find & Replace' to update the dates for the next coming weeks.

I use TWiT for the channel id in my m3u source file so if you use something different then you'll want to obviously match yours.

Extract the zip file and host them where you want. I have a QNAP NAS unit that has a built in web server so I just put them in my web folder there.

Open the epg.xml file in a text editor and do a Find & Replace for <your_own_url_location> and put the url location to where you've extracted the images. Save the file and you should be good.

You can download my files from Dropbox - - Simplify your life


Wow, thanks for all of that. Much appreciated!

I have been trying to get this to work but must me missing something. Channels accepts my config and finds 10 channels. None work. Any thoughts would be appreciated.

You've put the URL in the "Source" value in the Channels DVR interface, instead of creating a custom m3u value with the "Text" option.

Check this discussion for more info: Pluto TV Sky News missing - #18 by Fofer

Ah. I thought it might be something like that but didn't know enough to ask the right question. Thanks for the tip!

Has anyone found a EPG for that is kept up to date?

1 Like

I'm streaming TWiT via YouTube now and the Kister Method. I also just found TWiT sharing a new (?) ical schedule. And so I asked in a different thread about an easier way to sync over guide data, and this was shared... seems like a great solution that would be a lot easier to maintain over time:

1 Like

is hlstube still working for people? all my hlstube channels stopped working for me a few weeks ago. i made sure my url is up to date and tried using the older version with docker run --rm -i -p 8080:8080

i think this should be the current url for TWiT: http://localhost:8080/_/

channels says internal server error, if i paste it into a browser i get unsupported protocol scheme ""

you need the updated version:

oops, thanks. i thought by re-running docker run --rm -i -p 8080:8080 i was getting latest. i deleted all my hlstube images and containers and downloaded v0.0.7 and ran docker build and docker run and now it's working. still learning this docker thing.. and how to search these forums apparently. much appreciated

It's easier using the youtube live url, that way you don't have to keep up with the watch?v= changes

1 Like

A solution for maintaining consistent and automatic guide data for has arrived, evolving via a different thread. Here it is if anyone else is interested:

With great thanks to @tmm1:

1 Like

I must be doing something wrong because the guide info is not loading for me.

The basic.xml is being generated in the data folder of where I extracted the code that @tmm1 gave but it is not being utilized in Channels:

Looking at the XML generated, it seems fairly limited. Does the EPG not cover what's airing at all times?

Is there any error in the dvr logs? Does it show XMLTV data being loaded?

It matches exactly what is in the google calendar, which only has a dozen or so time slots per week.

That's correct, but the XML is accurate. Any time slot not listed, is just re-airing a previous episode of one of TWiT's shows. You can tune into that stream via "On Now."

My Channels DVR is on a Mac, my guide data for this TWiT channel is now at:

Make sure you map the channel after you load the XML, this is explained in the other thread


I didnt have the channel mapped as I didn't realize that was necessary. Once I did that and reloaded the XML it started working.

Thanks everyone for the help.

No more 24/7 livestream from TWiT :frowning:

Details here: Looking for Live Content?

Due to costs associated with hardware and software used to provide the TWiT live stream 24/7 to multiple streaming providers, TWiT has made the difficult decision to end its always-on live stream.

As of November 13, 2023, we will no longer stream re-runs while not doing live production. We will strive to stream on YouTube as often as possible during live production of some of our shows. If you wish to watch any pre-show setup and post-show discussions, these will now be exclusive to full Club TWiT members via our Club TWiT Discord server. (Discord access is not available with any discounted single-show subscriptions.) Hosts who choose to participate with chat will now do so via Discord.

Hopefully they'll keep putting up YouTube Live streams when they're recording, so the Kister Method and our guide data can keep recording it...