HDMI for Channels

I find this thread has gone all over the place you would have to be really technical to follow this. I gave up on trying to decipher this. There is no real documentation a few scripts are thrown out there then you are on your own no real WIKI.

1 Like

What platform are you on? I found the same thing, asked a few questions and got nothing.

I managed to get it working on windows, i can share my scripts with you if that helps? I had to convert them to .bat files and change some commands

1 Like

That would be great I am on Windows. I also am notsure how you would setup the M3U .. I do have recording from HDHomeRuns DRM and XFINITY stream running using nextpvr as a backend and that works flawlessly tuning by channel numbers. We will be documenting this procedure soon ....

#EXTM3U url-tvg=""

#EXTINF:0 tvg-id="nextpvr-8065" tvg-logo="" tvg-chno="851", HBOHDP

#EXTINF:0 tvg-id="nextpvr-8066" tvg-logo="" tvg-chno="853", HBO2PHD

#EXTINF:0 tvg-id="nextpvr-8067" tvg-logo="" tvg-chno="855", HBOSPHD

#EXTINF:0 tvg-id="nextpvr-8068" tvg-logo="" tvg-chno="858", HBOLPHD

#EXTINF:0 tvg-id="nextpvr-8069" tvg-logo="" tvg-chno="876", SHOWHDP

#EXTINF:0 tvg-id="nextpvr-8070" tvg-logo="" tvg-chno="878", SHO2PHD

Can someone please move the content to the above post here ... Did not mean to clutter this thread with another solution. Thank You.

XFINITY Stream with NEXTPVR Backend into Channels - Playground / Hacks - Channels Community (getchannels.com)

1 Like

I almost gave up on this too. It sounded interesting, and yet I had not the slightest clue how to even start. All I saw at first was @tmm1 created a program to help. And I looked and saw some scripts and a file with a .go extension. So I googled what the heck that was. Then noticed someone mention something about building something from the go file. That’s when I started putting the pieces together as to what needed to be done and what the prerequisites were. I do not think once in these 500+ posts is there even a general basic step by step on how to get started.

I am seriously considering putting together a separate thread of the steps I took, from absolute start to working finish, on a Windows system. But to do that properly I’ll need to work on writing it over the holiday weekend. Unless someone hopefully beats me to it. Lol.


Check out / steal the guide I wrote for PC Stream for Channels. Since it is based on this, a lot of the steps and screen shots are exactly the same.


I have kept a note in the app Craft, trying to organize much of the content in this thread. I’m tied up for the next few days so might nit get to it right away, but will try to clean it up and share it here. I’m not sure if it will make sense to anyone but me, and I may forget some steps I took, but for what it’s worth, although I can tinker and muddy my way through things, I have no coding experience whatsoever, but I figured things out with the awesome and patient help of the people here.


I've been watching, and decided to wait until all the kinks and refinements have been worked out. In a few months, I'll be looking for more of an end result than a work in progress.

I have used youtube tv scripts no longer have access to, however, I was able to run more then 4 at a time. Is this because the script is doing something different?

1 Like

I don’t understand what you are asking. More than 4 different devices, all streaming concurrently, integrated with encoders and CDVR, via this HDMI script? Or some other script?

Note that TVE access for subscribers also works differently, and is not restricted to 4 or less streams. For now, at least.

1 Like

Here is a quick youtube video showing recovery when the video stops playing. It works the same for the "Are you still there?" type popups as well.

Code for this is here.


Is there a silent way to send a key event to Android TV via ADB to keep the session alive after 4 hours? I've run into this when recording the US Open today. Doesn't matter if you have sleep set to never, the Onn box will go down if you don't press a key.

I'm sure I can send the d-pad center but was wondering if there's a silent way to do this that doesn't appear onscreen.

I am sending a brightness down and up which works on Amazon devices but the wecool device would show the brightness indicator going down and up whereas Amazon silently does not show this.

		adb -s shell input keyevent 224
		adb -s shell input keyevent 221

Seems to work OK I tested a 5 hour recording a few days ago. I seem to lately get bitten with are you there within 3 minutes of starting which my keep alive script also handles.

I'm betting that there's some box setting you can do to disable the power down but maybe I'm wrong.


Let us know if you find one and I'll do the same.

I’m definitely not a programmer, I’ll need to clean these up, they reference the file locations I chose, they are not complete instructions, but here are the steps I’ve gone through on an M1 Mac Mini.

After step 14, I’ve been slowly working on the go file and bmitune files, and only just got success in bringing up a YouTubeTV channel and then switching between two of them this afternoon right before it was time to pick up the kids.

I’m happy to move/remove these if they belong elsewhere or aren’t helpful.

Step 1: Install Homebrew from a new Terminal window:
	/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Step 2: Install Android Platform Tools:
	brew install --cask android-platform-tools

Step 3: Install golang:
	brew install golang

Step 4: Download the AndroidHDMI-for-Channels from GitHub:

Step 5: Put that folder where you want it and then navigate to it:
	cd /Users/hammer32/Dropbox/androidhdmi-for-channels

Step 6: Build the Helper Application there:
	go build

Step 7: Turning on ADB Debugging on the Android TV device.  Connect the device to the Mac using USB.  Navigate to the ADB platform tools folder location:
	cd /Users/hammer32/Dropbox/Home\ Automation/ChannelsDVR\ ADB\ Mac\ OS/platform-tools

Step 8: Run this command turn turn on USB Debugging Mode:
	./adb devices

	Which results in the following:

	* daemon not running; starting now at tcp:5037
	* daemon started successfully
	List of devices attached
	GUSA2310007499	unauthorized

 Step 9: Select always allow from this computer and Allow on the Android TV, then re-run the same command to verify:
	./adb devices

	Which should result in:
	List of devices attached
	GUSA2310007499	device

Step 10: Next turn on wifi ADB mode:
	adb tcpip 5555

	Which should result in:
	restarting in TCP mode port: 5555

Step 11:
	adb connect [your Android device's IP address]
	adb connect

	Which should result in:
	connected to

Step 12: Test the device:
	./adb devices

	Which results in:
	List of devices attached
	GUSA2310007499	device	device

Step 13: Navigate to the AdroidHDMI-for-Channels folder:
	cd /Users/hammer32/Dropbox/androidhdmi-for-channels

Step 14: Launch the AdroidHDMI-for-Channels app:


I am not sure if you read my post correctly... It isn't a script for TVE Its a script that allows all of youtube tv and it does not have a limit or restriction to 4 streams.


Sounds interesting, but also a little shady. Where is that script from? And why do you no longer have access to it?

I ended up sending a simple KEYCODE_DPAD_CENTER every hour w/Task Scheduler, it doesn't put anything onscreen in the NBC app. Using brightness events with the ONN box puts the brightness OSD bar up top and it doesn't go away.

If the box is asleep the adb command times out silently after a few seconds, box doesn't wakeup.

I ended up sending a simple KEYCODE_DPAD_CENTER every hour w/Task Scheduler, it doesn't put anything onscreen in the NBC app. Using brightness events with the ONN box puts the brightness OSD bar up top and it doesn't go away.

I'll give this a try in my script as well. Thanks for sharing!
EDIT: it pauses in my case. Back to brightness for me.

1 Like