ADBTuner: A "channel tuning" application for networked Google TV / Android TV devices

Run a script every hour that sends a KEYCODE_HOME if there's no foreground app running (NBC, YTTV etc.). I do this with my onn device. KEYCODE_WAKEUP might also work.

This could be built into ADBtuner as a keep awake option since the program knows when tuners are idle.

Can you share the PoE adapter you are using? I’ve tried one but it’s micro USB and I used an adapter to convert it from micro to usb c but it didn’t recognize the Ethernet adapter. The adapters work to transfer data over a micro usb cable when testing with a PC

Sure. For the FireStick 4K Max:

https://www.amazon.com/gp/product/B0B9ZLVGJ4/

For the Chromecast 4K with Google TV:

https://www.amazon.com/gp/product/B0BVQYL12B/

For the URayCoder 4K 4 Channels H.265 H.264 HDMI IP Video Streaming Encoder:

https://www.amazon.com/gp/product/B08HS4NT13/

And as a bonus item :slight_smile:, this is a fantastic PoE+ powered switch that can passthrough PoE+:

https://www.amazon.com/gp/product/B07RRBJ6VJ/

PoE+ recommended/required for all of the above.

So, I have been trying out ABDTuner with Hulu, for the past month, or so. I had an older ISEEVY encoder and can't seem to get rid of a slight bit of judder, that isn't present when watching directly from the Chromecast 4K. I recently broke down and bought a URay 264/265 encoder (not the 4K version), and I still have the judder, but only noticeable when there is a text crawl on the bottom of the screen.

Oddly, with the URay, I'm now seeing horrible audio sync issues. I can go in and set the correction to around +750 ms, and it's fine. Then hours later, tune to the same channel, it's off again and needs to be reset to 0 ms, only to come back later. It's needed as much at 1350ms to pull it back in sync, but always seems to off a different amount. Anyone seen this before? Did I receive a bad encoder? Never had any audio sync issues with the old ISEEVY. Thanks.

I have but only with the non-4K version of the URayCoder. The 4K versions, both 1-port and 4-port are great.

I'd return that non-4K version if you can.

@bnhf, Thanks, I'll send it back. Do you see any judder with the 4K version? I'd really like to see the stream coming from the encoder, be just as solid as watching the Chromecast directly.

4K versions are really good -- I've never noticed any difference vs watching natively.

My first encoder was a URayCoder HEVC H.265 H.264 and I had the same audio sync issues you are having, I also tried the J-Tech HD encoder, one was perfect, when I ordered a second "identical" one, I experienced bad image quality due to high CPU utilization. I have being using a JTECH-ENCH44 4k x 4 inputs for the last 3 months with zero issues.

2 Likes

My two single FMuser encoders are doing the job for me just fine, at $50 each, used off eBay, I have no complaints, and haven't felt the need for more than this, at least not yet. I did start to notice some slight video stuttering after a few days of use, but then I configured their settings for a timed reboot every 24 hours, and it's been perfect for months ever since.

ADBTuner is very, very slick software. Does the job well. Thanks again, @turtletank.

If I were starting over though, I'd probably take a leap of faith and try this 4 channel encoder instead, mentioned previously by @hancox in another thread, as the price sure is right, compared to the other 4 tuner options I've seen out there. I'd love to hear from anyone who may have tried it...

1 Like

I've ordered a similar device and can report back once I get them. I did a decent amount of research on the specs of the different devices and think I've found one on par with the Uraycoder device I am trialing now.

$45 is a little rich for my blood. I'm going to have 12 devices so it's going to add up quick. I was hoping to find a similar solution because I have a 48 port PoE switch in my rack that's very underutilized.

It was $35 when I bought it, which isn't too bad when you consider that you'd need two devices to replace it.

Black Friday is coming!

1 Like

Has anybody tried FreeCast and if so do you know if it supports deep linking? I know I can go look inside of the .apk but just was seeing if anybody has tried it yet.

I can fire it up tomorrow.
from what I can see it does watch.freecast.com
I was on the featured section.
i only have a free account but certainly would be worth trying.
I'm looking for URLs for
Bally sports social
Bally sports west and the two bally sports San Diego URLs so I can use a log in to setup Bally Sports.

2 Likes

I tried a link from one of the free channels and it didn't open the app.

I had some time this morning, and also tried to get ADBTuner to open Freecast. This channel setup did not work, and did not even open the Freecast app.

I just moved over to the experimental branch of ADB Tuner.
I just pulled an image and noticed there was an update.
I'm been trying to see if tugotv.us supports deep linking.
I suspect not but wasn't sure.
I'm loving this project so far.
YTTV seems to work best for me.

1 Like

Got a LinkPi encoder delivered yesterday to give this a try. @turtletank I tested with the NBC app first and it looks like ADBTuner is tuning successfully to the stream, yet gets stuck trying to figure out playback status/cbecking for profile screen and then never relays the stream to Channels. Any tips?

2023-10-27 03:23:30.039 - server - Tuner: Tuning to CNBCHD on Chromecast 4K
2023-10-27 03:23:30.042 - lib.adb - ADB: Connecting to device (attempt 1).
2023-10-27 03:23:30.381 - lib.adb - ADB: Connected.
2023-10-27 03:23:30.381 - lib.adb - ADB: 192.168.7.226 - dumpsys display
2023-10-27 03:23:30.498 - lib.adb - ADB: 192.168.7.226 - getprop ro.build.version.release
2023-10-27 03:23:30.550 - lib.adb - ADB: Android Version: 12.0.
2023-10-27 03:23:30.550 - lib.adb - ADB: 192.168.7.226 - pm list packages -3
2023-10-27 03:23:30.652 - lib.adb - ADB: 192.168.7.226 - pidof com.nbcuni.nbc.androidtv
2023-10-27 03:23:30.722 - lib.adb - ADB: Stopping media playback.
2023-10-27 03:23:30.722 - lib.adb - ADB: 192.168.7.226 - input keyevent KEYCODE_MEDIA_STOP
2023-10-27 03:23:30.837 - lib.adb - ADB: 192.168.7.226 - am start -a android.intent.action.VIEW -d "nbctve://live/cnbc" com.nbcuni.nbc.androidtv
2023-10-27 03:23:32.550 - server - Tuner: Waiting for playback start. Status: unknown
2023-10-27 03:23:35.540 - server - Tuner: Waiting for playback start. Status: unknown
2023-10-27 03:23:38.304 - server - Tuner: Waiting for playback start. Status: unknown
2023-10-27 03:23:40.822 - server - Tuner: Waiting for playback start. Status: unknown
2023-10-27 03:23:43.624 - server - Tuner: Waiting for playback start. Status: unknown
2023-10-27 03:23:45.360 - lib.adb - Checking for profile screen
2023-10-27 03:23:48.035 - lib.adb - Checking for profile screen
2023-10-27 03:23:50.172 - lib.adb - Checking for profile screen
2023-10-27 03:23:54.390 - lib.adb - Checking for profile screen
2023-10-27 03:23:58.482 - lib.adb - Checking for profile screen
2023-10-27 03:24:02.136 - server - Tuner: Could not detect playback state. Giving up after 32.1 seconds. Display was on, application (com.nbcuni.nbc.androidtv) was running.
2023-10-27 03:24:02.137 - server - Released tuner 1
2023-10-27 03:24:02.137 - lib.adb - ADB: Stopping media playback.
2023-10-27 03:24:02.137 - lib.adb - ADB: 192.168.7.226 - input keyevent KEYCODE_MEDIA_STOP
2023-10-27 03:24:02.239 - lib.adb - ADB: 192.168.7.226 - input keyevent KEYCODE_MEDIA_PAUSE
2023-10-27 03:24:02.379 - uvicorn.access - 172.19.0.1:60436 - "GET /stream/1/8 HTTP/1.1" 404

I also tried compatibility mode and got the logs below. Looks like ADBTuner isn't able to parse the stream even though IINA and Channels seem to have no problem? It's H.264.

2023-10-27 03:33:37.389 - server - Reserved tuner 1
2023-10-27 03:33:37.390 - server - Using tuner id: 1
2023-10-27 03:33:37.390 - uvicorn.access - 192.168.7.43:49126 - "GET /stream/7 HTTP/1.1" 307
2023-10-27 03:33:37.396 - server - Tuner: Tuning to MNBCHD on Chromecast 4K
2023-10-27 03:33:37.399 - lib.adb - ADB: Connecting to device (attempt 1).
2023-10-27 03:33:37.715 - lib.adb - ADB: Connected.
2023-10-27 03:33:37.715 - lib.adb - ADB: 192.168.7.226 - dumpsys display
2023-10-27 03:33:37.848 - lib.adb - ADB: 192.168.7.226 - getprop ro.build.version.release
2023-10-27 03:33:37.892 - lib.adb - ADB: Android Version: 12.0.
2023-10-27 03:33:37.892 - lib.adb - ADB: 192.168.7.226 - pm list packages -3
2023-10-27 03:33:37.958 - lib.adb - ADB: 192.168.7.226 - pidof com.nbcuni.nbc.androidtv
2023-10-27 03:33:38.014 - lib.adb - ADB: Stopping media playback.
2023-10-27 03:33:38.014 - lib.adb - ADB: 192.168.7.226 - input keyevent KEYCODE_MEDIA_STOP
2023-10-27 03:33:38.137 - lib.adb - ADB: 192.168.7.226 - am start -a android.intent.action.VIEW -d "nbctve://live/msnbc" com.nbcuni.nbc.androidtv
2023-10-27 03:33:42.809 - lib.adb - Checking for profile screen
2023-10-27 03:33:46.911 - lib.adb - Checking for profile screen
2023-10-27 03:33:50.866 - lib.adb - Checking for profile screen
2023-10-27 03:33:54.764 - server - Tuner: Compatibility Mode - Stream released after 17.37 seconds. Display was on, application (com.nbcuni.nbc.androidtv) was closed.
2023-10-27 03:33:54.764 - lib.adb - ADB: Closing connection - 192.168.7.226
2023-10-27 03:33:54.765 - uvicorn.access - 192.168.7.43:49126 - "GET /stream/1/7 HTTP/1.1" 200
2023-10-27 03:33:54.782 - root - Tuner: Stream open (attempt 1).
2023-10-27 03:33:54.787 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.788 - root - Tuner: Stream open (attempt 2).
2023-10-27 03:33:54.790 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.792 - root - Tuner: Stream open (attempt 3).
2023-10-27 03:33:54.795 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.796 - root - Tuner: Stream open (attempt 4).
2023-10-27 03:33:54.799 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.801 - root - Tuner: Stream open (attempt 5).
2023-10-27 03:33:54.803 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.805 - root - Tuner: Stream open (attempt 6).
2023-10-27 03:33:54.807 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.809 - root - Tuner: Stream open (attempt 7).
2023-10-27 03:33:54.811 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.813 - root - Tuner: Stream open (attempt 8).
2023-10-27 03:33:54.815 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.817 - root - Tuner: Stream open (attempt 9).
2023-10-27 03:33:54.820 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.821 - root - Tuner: Stream open (attempt 10).
2023-10-27 03:33:54.824 - httpx - HTTP Request: GET http://192.168.7.70/live/stream0 "HTTP/1.1 301 Moved Permanently"
2023-10-27 03:33:54.826 - server - Tuner: Stream complete. Endpoint disconnected.
2023-10-27 03:33:54.829 - lib.adb - ADB: Connecting to device (attempt 1).
2023-10-27 03:33:55.029 - lib.adb - ADB: Connected.
2023-10-27 03:33:55.029 - lib.adb - ADB: Stopping media playback.
2023-10-27 03:33:55.029 - lib.adb - ADB: 192.168.7.226 - input keyevent KEYCODE_MEDIA_STOP
2023-10-27 03:33:55.183 - lib.adb - ADB: 192.168.7.226 - input keyevent KEYCODE_MEDIA_PAUSE
2023-10-27 03:33:55.406 - lib.adb - ADB: Force stopping com.nbcuni.nbc.androidtv.
2023-10-27 03:33:55.406 - lib.adb - ADB: 192.168.7.226 - am force-stop com.nbcuni.nbc.androidtv
2023-10-27 03:33:55.687 - lib.adb - ADB: Closing connection - 192.168.7.226
2023-10-27 03:33:55.688 - server - Released tuner 1
2023-10-27 03:33:55.688 - server - Tuner: Cleanup complete. Chromecast 4K (MNBCHD)
2023-10-27 03:33:55.689 - server - http disconnect

Tugo has the docker bridge so you don't really need that