HDMI for Channels

Yes of course, it would be based on wherever the HDMI devices are located. My point though was that without the 4K Plus add-on, concurrent streams from YTTV would be restricted to 3 and a 4th wouldn’t be allowed.

3 Likes

You guys need to find away for Channels to send network command to the cable box using network IR blaster or HDMI-CEC control when tuning using custom channel.

@tmm1 what is ADB and how do you control an Android device remotely?

2 Likes

Android Debug Bridge

You put the Android TV device in developer mode and then a computer can connect to it and send commands. You can open links (like the stream links used by Channels itself) and even send instructions to specific apps.

For the androidhdmi-for-channels prototype, I used scripts that @boukmandutty wrote which issue voice control commands via the virtual keyboard interface, to do things like "watch USA in YouTube TV".

Using adb you can send specific key codes:

and input text:

and when you're done it can quit the app and put the android device to sleep:

1 Like

How hard would it be to do the same thing with the Spectrum TV app?

1 Like

each channel on this hdmi encoder would be set for a certain station.
Channel 1 ASX TV
Channel 2 Local station
Channel 3 USA
Channel 4 extra channel
Am i understanding it righrt?

1 Like

Each channel/HDMI port is connected to an Android box that would normally connect to your TV. The Android box runs your TV app. In this case YouTube TV. You use those commands up top to change the channels on your TV app on the Android box.

4 Likes

On the DVR side you end up with a Custom Channel that looks like this:

#EXTINF:-1 channel-id="usa",USA
http://x:7654/play/tuner/usa
#EXTINF:-1 channel-id="nbc",NBC
http://x:7654/play/tuner/nbc

The androidhmdi-for-channels program runs on 7654, receives the request for say the USA channel, picks an available hdmi tuner, then sends adb commands to the android device connected to that hdmi tuner to tell YouTube TV to launch and open the USA channel. The video output from the Android device is sent to Channels DVR which sends it to the Channels player.

8 Likes

I'm currently using the 4k (4)HDMI model with SageTV. Since I fired my system up again, it's been flawless at just 16,000 kbps video - it is especially crisp and fluid at 1080p 60 fps on the OLED. It is a bummer the audio can only encode to stereo, but for those that are using TVE there really isn't any difference there.

There isn't really too much 4k incoming yet, but I will mention 4k on that device is only on HDMI ports 1 and 2, 3 and 4 are 1080p as the webpage says.

If you can get a 1080p in a single HDMI network encoder for $20 (EDIT: whoops, I read Aman's post wrong, you probably can't find an encoder for $20), I'd go that route next time, not keeping all the eggs in one basket. I think I paid nearly $400 for the 4 HDMI model on Amazon a year or two ago.

4 Likes

Need to throw your code into a docker container and provide the IP for the Android device(s) as environment variables.

I'll do it once I get the hardware :slight_smile:

8 Likes

There are two options for tuning with adb. There is the automation option that calls YTT through Google Assistant that you see above.

And there is the option that calls YTT directly from adb. Here is a sample:

#!/bin/bash

#USA
if [ $1 = "111" ];then
adb -s 192.168.1.171 shell am start -a android.intent.action.VIEW -d https://tv.youtube.com/watch/8xN3o2PSL5s?onboard=1
fi

#SYFY
if [ $1 = "135" ];then
adb -s 192.168.1.171 shell am start -a android.intent.action.VIEW -d https://tv.youtube.com/watch/uSfozGAsGMk?onboard=1
fi

#NICKTOONS
if [ $1 = "229" ];then
adb -s 192.168.1.171 shell am start -a android.intent.action.VIEW -d https://tv.youtube.com/watch/updG5RVnwk8?onboard=1
fi

This direct method seems to work best with a nvidia shield.

The problem with the last option is that we never know when they might change the links to the channels. If there was some way to keep track that would be great.

Also you should be able to use launch any other app that streams live tv and feed it to one of these devices to record from instead of just viewing live tv.

The goal was never to replace the ease of tve, but to find a way to continue to maintain recording control over the few channels that now have drm (especially USA so I can record Premier League and watch Arsenal crash and burrrrrn).

4 Likes

This might be a simpler way to invoke the search assistant:

1 Like

If only there were a subscription service where the Channels could be monitored and would be worth at least $8 a month?

1 Like

100% agree. When setting up a custom tuner like this, it would be super helpful to have a way to invoke a command line or something to send to the playing device.

1 Like

Ahhhhhhh. :grinning:

Is there an easier way to clear the search box without the long command you see in script? Only my NVIDIA boxes seem to automatically clear the search field after a search using the automation method. The other box ( a jetstream 4k) does not, hence the :

PRIME3="input keyevent --longpress 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67"

The backspaces to clean it out.

4 Likes

I think if you invoke the search assistant directly it won't need to type into the box or clear it.

You've just exactly described the adb interface.

4 Likes

What's adb? Can I use it on my Windows Channels DVR server or will this be another one of those fixes isolated to a specific OS?

3 Likes

Easy to set up

1 Like

Isn't this something that could just be natively included in the Channels DVR software?