HDMI for Channels

This will continue as a special build under the :appletv tag. Next update I'll probably add a mirror with appletv.2024.xx.xx, so that one can repull an older release if needed. But :appletv by itself will always be the most recent build for this variant. Trying to combine every thing in one build just wasn't working.

No easy way inside the container, but if you'd like the scripts and M3Us to be set to a user on your Docker host, that shouldn't be a problem:

sudo chown -R <user>:<group> ah4c

should do it when executed from the parent of ah4c on your host.

Thanks.
I will look at the chown option.

1 Like

I’m using Xfinity Stream iPadOS app to get a few channels that I can’t get through HDHomeRun PRIME. I’m using iPad as my tuner with Shortcuts Personal Automation via text Messages and this is due to I’m not on Xfinity network so I can’t use their Xfinity Stream tvOS app.

I’m running this on Mac mini M2 with andriodhmdi-for-channels.

To send text messages you can use Messages app on Mac mini or Textbelt API.

prebmitune.sh

#!/bin/bash
message="STARTSTREAM"
account=“ [email protected]"

#Start Xfinity Stream App
osascript -e "tell application "Messages" to send "${message}" to buddy "${account}""

bmitune.sh

#!/bin/bash
message="$1"
account=“ [email protected]"

#Play Xfinity Stream Channel
osascript -e "tell application "Messages" to send "${message}" to buddy "${account}""

stopbmitune.sh

#!/bin/bash
message="STOPSTREAM"
account=“ [email protected]"

#Stop Xfinity Stream App and Lock Screen
osascript -e "tell application "Messages" to send "${message}" to buddy "${account}""

#EXTM3U
#EXTINF:-1 channel-id="BBCNA",BBCNA
http://192.168.7.220:7654/play/tuner/BBCNA

#EXTINF:-1 channel-id="FS2",FS2
http://192.168.7.220:7654/play/tuner/FS2

#EXTINF:-1 channel-id="FXDED",FXDED
http://192.168.7.220:7654/play/tuner/FXDED

iPad Personal Automation Shortcuts using text Message

3 Likes

Just an update re: Apple TV and Spectrum.

Recently I have been having a weird issue with the Spectrum app "Start Over" function. It will appear and then NEVER go away. After a lot of troubleshooting I am fairly confident that this problem was introduced in the latest version of their app (v10.87 4/16/24). It only happens if you tune to a channel that supports the feature, but once hit, only a full reload of the app will reset to normal. If, however, you just "menu" to the guide, everything is fine as long as you don't exit the app. Only issue is that streaming continues in the background (but with a side effect of super fast tuning). The deep-link tuning/navigation through pyatv must also play a role because I cannot reproduce manually. But since pyatv hasn't been updated since December and everything worked great before, I am comfortable blaming this completely on Spectrum.

FYI, as part of my troubleshooting I did install the :appletv version of ah4c on Synology docker. installed without issue and works great, although it exhibits the same issue with the Spectrum app as my custom code. Thanks to all that work on that.

Don't know if others have experienced this but thought I would share. Hopefully they will fix it in the next release.

My encoder crapped itself and was looking at maybe replacing it with an Elgato.

Any idea on the kind of cpu/gpu usage I would get to encode?

Using an m2 pro.

Thanks

I think you're better off using a IPTV HDMI Encoder instead. That'll ease a lot of the resources away from your Mac and all you have to do is to run the container and put the url in it...

Agree with you there..

Unfortunately most encoders only support 1080p60 or 4k30 and my input has a number of channels at 4k50.

The one encoder I did get that supported 4k50 has stopped working so was looking at trying a different approach, but may be too resource intensive as you say.

Check out this 10" mini rack. Thinking this would be perfect for folks running ah4c with multiple encoders, tuners, etc! Swap out a few of the ethernet ports for HDMI, etc.

https://www.youtube.com/watch?v=c8-cdA50bpU

3 Likes

Walmart releases $50 Onn 4K Pro streamer w/ 32GB Storage, 3GB RAM, WiFi 6, hands-free voice control, and more

At $50 it is no way near the value of the current $20 box, and more power is not needed for 1080P streaming. However, this box has built in Ethernet. When you calculate the cost of a USB Eth adapter for either the Onn 4K box, or a ChromeCast, this box has potential.

I ran into the same Spectrum issue you described. I was also having issues with the audio and it was only on the channels that had the "Watch Again" pop up. After much frustration I found two ways to work around it.

Set the remote command in the stop script you wrote to be "play". This would still be playing the stream even though you've exited until the stream timed out according to the preferences (4, 8, 12 hours). Then when you go to tune again, it would tune to the next channel and be correct. You would get a glimpse of what you were watching while tuning.

The second way that worked was to completely delete the Spectrum App from all of the ATV tuners and then reinstall the app. Set the remote command in the stop script you created to be "top_menu". This seems to be working fine. I did have it set to "home" after reinstalling but noticed the Spectrum app would sometimes crash with that HA remote command.

Thank you for this. I am still using your first way, but added some maintenance scripts so that the tuners don't just continously stream. I shut them down with a full restart of the app after a period of time.

I will do some testing with your second way. I thought I tried everyone, but never thought of that. I think it will be a cleaner solution overall. I do like the almost instantaneous tuning when they are left running. though it does cost some power and bandwidth.

I guess this path will always require some level of attention to keep it working. But given that it is based on the capability to tune with Siri, will likely be workable for the foreseeable future. It does make me appreciate the Channels guys and all the energy it takes to keep TVE going!

For anyone working with channel-number m3u tags, I just added support for editing this tag in the ah4c m3u editor!

2 Likes

For those interested, this will be incorporated into the ah4c Docker build later today or tomorrow.

4 Likes

FWIW, this page has a handy list of all the keycodes. All Android Key Events for usage with adb shell · GitHub

1 Like

The format I've used for the scripts in the ah4c project are more similar to this list:

Note that neither list contains the KEYCODE_LIVE_TV keyevent I was looking for last August. I'm really not sure there's an exhaustive list anywhere. Plus, there seem to be several different styles to the way the keycodes are formatted. Either of the easily readable approaches seem good to me -- using keyevent numbers, not so much.

One of the things I noticed right away is that adb itself doesn't know anything about the keyevent stuff. It'll send whatever nonsense you tell it. I don't know if there is a way to directly tell if it worked or failed. ($? is 0 for both good and bad cases.)

OT: Who doesn't like a fun story? I've been using an ONN 2K stick for my experiments. I've had it for a couple of years but never plugged it in until the last few days. I bought it used because the ONN devices have a much better remote than the Chromecast devices (which seems odd to me, but true). I had to redeploy the ONN remote to navigate far enough to pair the simpler Chromecast remote with the ONN stick as an additional remote. Then I unpaired the original ONN remote. Now, after every ONN reboot, I am greeted with this screen:


It was a head-scratcher for a while, but by trial and error I figured out that I can get out of there by hitting the Chromecast remote back button (or adb shell input keyevent KEYCODE_BACK)

To celebrate my reaching the end of reading this thread, here is the most amusing thing to me in this whole subject area: The hostname on my ONN 2K stick was "Steve". Much cooler than the hostname on my Tivo Stream 4k, which is "SEI400TV"; boring!

You can definitely pass devices into a docker container, but there is a gotcha to watch out for. For the sorts of devices (on the host) that just get sequentially assigned names, they can sometimes change to a different number on a reboot just due to quirks of timing. So, if you try to map /dev/video2 into your docker container, it will work, but the same device might be /dev/video0 or /dev/video4 or whatever after a reboot. You can do some udev tricks to solve the naming problem. This article ([SOLVED] docker, udev, USB naming | WJCarpenter | Hackaday.io) is about USB ports, but something similar should work for video devices.

1 Like

Hey mate I’m kinda new to the game did you end up getting a m3u for Foxtel cheers bro

1 Like