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

Just some feedback.. Getting by the who's watching works perfect in either mode. In my case using Fubo, without compatibility mode, I see a quick pause symbol, which disappears in a few seconds and just leaves the last watched channel on - paused.

I am setting this up for the first time. I have YTTV and have this: URayCoder HEVC H.265 H.264 Live HDMI Video Encoder HD Video Audio Encoders (1 HDMI port). I also have docker and adb installed on Windows 11. I am able to change the channel on my google chromecast device using ADBTUNER. When I create a custom channel in CDVR and tune in I get the picture no signal. Can someone let me know if the HDMI port on the encoder supposed to be connected to the google chromecast device? Any help would be appreciated.

You have to have the device plugged into the HDMI inputs of the encoder

Thank you, I have video.

2 Likes

ADB Tuner works great with YTTV.
IThe DVR experience on our platform beats what is offered on yttv.

To help troubleshoot video playback detection and "who's watching" screens I added a new debug option to the experimental version that can be enabled by adding adb-debug=1 as a query parameter to the URL.

When enabled, the video stream will start immediately so you can easily see what's happening during the tuning process.

Example:

https://www.xfinity.com/stream/live/CHANNEL/123456789012345678/CHANNEL?adb-debug=1

or if the URL already has parameters:

https://link.fubo.tv/al1?v=1&a=play&t=channel&channel_id=12345&adb-debug=1

Thanks for taking a look. What Android device are you using? Any chance you could provide docker logs from when channel loading fails like this (video is just left paused)? I haven't been able to duplicate this, but would like to figure out why.

This is really odd. I tested on a Chromecast with Google TV (I'm assuming this is what you are using from the logs) and I'm not seeing this. Is there anything on screen that could possibly be read as "ne lee tce ily?"

I didn't forget about this. I'm going to do some additional testing on this. There are some apps that just freak out and crash if you try to load another channel via URL when the app is already open. I don't know if the Xfinity app is one of them, but it might be. Thanks for testing.

I have some ideas that I am working on to make ADBTuner better respect the HTTP protocol so things like connection retries don't tear down and build things back up. That is the correct fix for this, but it's a major change. In the meantime, you can just use the adb-debug thing that was recently added (see above) so you don't trigger Kodi's rapid-fire retries.

Thanks !
adb-debug reduced channel start in Kodi pvr simple to around 25s ( still some restart i think !?)
NextPvr for kodi seems like a better choice for now . Start time 8s ( same as VLC) But need to press stop before changing channel. That is not the case for iptv simple but has long channel change time.

Thanks for the info that you weren't able to replicate my results. It was good to hear that it could work. I think I may have figured out what my issue was. Admittedly, I was kind of throwing darts when I suggested that the spotlight effect might be screwing up your ability to decipher the "Who's watching?" text from the screen. I think that seems to have actually been the culprit. I think that the spotlight, when it is behind the "Who's watching?" text reduces the contrast between the white text and the background. The dark background is lighter with the spotlight and it makes the text more difficult to read by machines apparently.

When I only had one user, the spotlight that goes on the default user can be seen interfering with the background of "Who's" in "Who's watching?" I would get fully garbled text when I looked at your logs when I was operating this way.

When I added a second user, the spotlight would stay on the first user, and everything being centered for the users made it so the spotlight was a little bit less stomping on the "Who's watching?" text. With this, I would get some garbled text, but the "watching?" part would sometimes come through.

When I added a third user, the spotlight shifted even further left, and was no longer generally behind the "Who's watching?" text at all, as can be seen in this image:

And this worked!!!!!!!!!!!!!!!!!!! I am consistently getting it to connect! Woohoo!!!!!!!

Thanks for your help and your recent software updates to help me get this going.

Add B/R sports and CNN Max both from the Max app to the list that is now supported by ADBTuner!

1 Like

Appreciate you looking into this. I have 2 different FireTV 4k Max devices and 2 Onn's. Tuner 1 (this log) is using the latest version FireTV 4K MAX stick. In this test I did not see a profile screen. Attached image shows the device status after closing the preview session.

2024-03-13 06:47:08.317 - server - Reserved tuner 1
2024-03-13 06:47:08.317 - server - Using tuner id: 1
2024-03-13 06:47:08.318 - uvicorn.access - 10.0.0.50:56995 - "GET /stream/7 HTTP/1.1" 307
2024-03-13 06:47:08.329 - server - Tuner: Tuning to NBC on Firetv1
2024-03-13 06:47:08.331 - lib.adb - ADB: Connecting to device (attempt 1).
2024-03-13 06:47:08.409 - lib.adb - ADB: Connected.
2024-03-13 06:47:08.409 - lib.adb - ADB: 10.0.0.62 - dumpsys display
2024-03-13 06:47:08.468 - lib.adb - ADB: 10.0.0.62 - getprop ro.build.version.release
2024-03-13 06:47:08.501 - lib.adb - ADB: Android Version: 11.0.
2024-03-13 06:47:08.502 - lib.adb - ADB: 10.0.0.62 - pm list packages -3
2024-03-13 06:47:08.576 - lib.adb - ADB: 10.0.0.62 - pidof com.fubo.firetv.screen
2024-03-13 06:47:08.676 - lib.adb - ADB: Stopping media playback.
2024-03-13 06:47:08.677 - lib.adb - ADB: 10.0.0.62 - input keyevent KEYCODE_MEDIA_STOP
2024-03-13 06:47:09.993 - lib.adb - ADB: 10.0.0.62 - am start -a android.intent.action.VIEW -d "https://link.fubo.tv/al1%3Fv%3D1%26a%3Dplay%26t%3Dchannel%26channel_id%3D32639&adb-debug=1" com.fubo.firetv.screen
2024-03-13 06:47:12.725 - lib.adb - Detected 100.0% black pixels. Assuming HDCP is active and video is playing.
2024-03-13 06:47:12.725 - server - Tuner: Waiting for playback start. Status: playing
2024-03-13 06:47:12.725 - server - Tuner: Tuning completed in 4.4 seconds. Display was on, application (com.fubo.firetv.screen) was closed.
2024-03-13 06:47:12.725 - lib.adb - ADB: Closing connection - 10.0.0.62
2024-03-13 06:47:12.725 - uvicorn.access - 10.0.0.50:56995 - "GET /stream/1/7 HTTP/1.1" 200
2024-03-13 06:47:12.729 - root - Tuner: Stream open (attempt 1).
2024-03-13 06:47:12.792 - httpx - HTTP Request: GET http://10.0.0.60/0.ts "HTTP/1.1 200 OK"
2024-03-13 06:47:56.484 - server - http disconnect
2024-03-13 06:47:56.488 - lib.adb - ADB: Connecting to device (attempt 1).
2024-03-13 06:47:56.539 - lib.adb - ADB: Connected.
2024-03-13 06:47:56.539 - lib.adb - ADB: Stopping media playback.
2024-03-13 06:47:56.539 - lib.adb - ADB: 10.0.0.62 - input keyevent KEYCODE_MEDIA_STOP
2024-03-13 06:47:57.698 - lib.adb - ADB: 10.0.0.62 - input keyevent KEYCODE_MEDIA_PAUSE
2024-03-13 06:47:58.738 - lib.adb - ADB: Closing connection - 10.0.0.62
2024-03-13 06:47:58.738 - server - Released tuner 1
2024-03-13 06:47:58.738 - server - Tuner: Cleanup complete. Firetv1 (NBC)

image

And this is with compatibility mode back on.

2024-03-13 07:29:53.966 - server - Using tuner id: 1
2024-03-13 07:29:53.966 - uvicorn.access - 10.0.0.50:59008 - "GET /stream/7 HTTP/1.1" 307
2024-03-13 07:29:53.969 - server - Tuner: Tuning to NBC on Firetv1
2024-03-13 07:29:53.970 - lib.adb - ADB: Connecting to device (attempt 1).
2024-03-13 07:29:54.087 - lib.adb - ADB: Connected.
2024-03-13 07:29:54.087 - lib.adb - ADB: 10.0.0.62 - dumpsys display
2024-03-13 07:29:54.132 - lib.adb - ADB: 10.0.0.62 - getprop ro.build.version.release
2024-03-13 07:29:54.169 - lib.adb - ADB: Android Version: 11.0.
2024-03-13 07:29:54.169 - lib.adb - ADB: 10.0.0.62 - pm list packages -3
2024-03-13 07:29:54.237 - lib.adb - ADB: 10.0.0.62 - pidof com.fubo.firetv.screen
2024-03-13 07:29:54.291 - lib.adb - ADB: Stopping media playback.
2024-03-13 07:29:54.291 - lib.adb - ADB: 10.0.0.62 - input keyevent KEYCODE_MEDIA_STOP
2024-03-13 07:29:55.574 - lib.adb - ADB: Force stopping com.fubo.firetv.screen.
2024-03-13 07:29:55.575 - lib.adb - ADB: 10.0.0.62 - am force-stop com.fubo.firetv.screen
2024-03-13 07:29:57.708 - lib.adb - ADB: 10.0.0.62 - am start -a android.intent.action.VIEW -d "https://link.fubo.tv/al1%3Fv%3D1%26a%3Dplay%26t%3Dchannel%26channel_id%3D32639&adb-debug=1" com.fubo.firetv.screen
2024-03-13 07:30:02.317 - lib.adb - Checking for profile screen
2024-03-13 07:30:04.333 - lib.adb - Checking for profile screen
2024-03-13 07:30:05.374 - lib.adb - On screen text: "your covid-19 test w.  please reviow the handout fror  dc regarding this testing utled . sheet for pationts™  fac uctio".
2024-03-13 07:30:06.375 - lib.adb - Checking for profile screen
2024-03-13 07:30:08.305 - lib.adb - Checking for profile screen
2024-03-13 07:30:09.287 - lib.adb - On screen text: "n"% mount carmel quality care. close to home.  mountcarmelurgentcare.com east broad | grove city | gahanna".
2024-03-13 07:30:10.289 - lib.adb - Checking for profile screen
2024-03-13 07:30:11.209 - lib.adb - On screen text: "nv mount carmel quality care. close to home.  mountcarmelurgentcare.com east broad | grove city | gahanna".
2024-03-13 07:30:12.211 - server - Tuner: Compatibility Mode - Stream released after 18.24 seconds. Display was on, application (com.fubo.firetv.screen) was running.
2024-03-13 07:30:12.211 - lib.adb - ADB: Closing connection - 10.0.0.62
2024-03-13 07:30:12.213 - uvicorn.access - 10.0.0.50:59008 - "GET /stream/1/7 HTTP/1.1" 200
2024-03-13 07:30:12.221 - root - Tuner: Stream open (attempt 1).
2024-03-13 07:30:12.284 - httpx - HTTP Request: GET http://10.0.0.60/0.ts "HTTP/1.1 200 OK"
2024-03-13 07:31:23.656 - server - http disconnect
2024-03-13 07:31:23.659 - lib.adb - ADB: Connecting to device (attempt 1).
2024-03-13 07:31:23.780 - lib.adb - ADB: Connected.
2024-03-13 07:31:23.780 - lib.adb - ADB: Stopping media playback.
2024-03-13 07:31:23.780 - lib.adb - ADB: 10.0.0.62 - input keyevent KEYCODE_MEDIA_STOP
2024-03-13 07:31:24.837 - lib.adb - ADB: 10.0.0.62 - input keyevent KEYCODE_MEDIA_PAUSE
2024-03-13 07:31:25.857 - lib.adb - ADB: Force stopping com.fubo.firetv.screen.
2024-03-13 07:31:25.857 - lib.adb - ADB: 10.0.0.62 - am force-stop com.fubo.firetv.screen
2024-03-13 07:31:26.007 - lib.adb - ADB: Closing connection - 10.0.0.62
2024-03-13 07:31:26.007 - server - Released tuner 1
2024-03-13 07:31:26.007 - server - Tuner: Cleanup complete. Firetv1 (NBC)

Anyone having Transcoding issues with ADBTuner? Until recently everything had been running well but now everytime my server needs to transcode the streams will constantly buffer. I'm using Intel QuickSync on a 9th gen i7 processor. My endpoints are Google Chromecast with Google TV and I am using a 4 port HDMI encoder.

Anyone get this working with Direct TV Stream? I am looking to move away from YTTV.
Thanks

DTV Stream doesn't support deep links, which is a prerequisite for this project. We have it working with the ah4c project though:

The Osprey Android streaming boxes work well with DirecTV Stream and work great with AH4C.

1 Like

@turtletank Is the import/export broken? When I export from my current instance and import into my new instance for some reason the channel numbers and stream numbers change. I'm not sure why there is an offset in my current setup but for example.

Old Correct Config:
#EXTINF:-1 channel-id="201461084056971042226564267660924291399" channel-number="35" tvc-guide-stationid="10989",E!
http://192.168.1.29:5592/stream/34
#EXTINF:-1 channel-id="252295704591639726003434824124889956237" channel-number="36" tvc-guide-stationid="32645",ESPN
http://192.168.1.29:5592/stream/35
#EXTINF:-1 channel-id="53945956142932035475381372783991360932" channel-number="37" tvc-guide-stationid="45507",ESPN2
http://192.168.1.29:5592/stream/36
#EXTINF:-1 channel-id="331002770066912030276275174330770361100" channel-number="38" tvc-guide-stationid="16485",ESPNews
http://192.168.1.29:5592/stream/37

Config once I export and import into a new server

#EXTINF:-1 channel-id="242747140936481940037125989186269390617" channel-number="35" tvc-guide-stationid="10989",E!
http://192.168.1.17:5592/stream/35
#EXTINF:-1 channel-id="211898134837140895904663709016583725711" channel-number="36" tvc-guide-stationid="32645",ESPN
http://192.168.1.17:5592/stream/36
#EXTINF:-1 channel-id="60058069286449258042818106673401085556" channel-number="37" tvc-guide-stationid="45507",ESPN2
http://192.168.1.17:5592/stream/37
#EXTINF:-1 channel-id="244312838641368596565927173631008126189" channel-number="38" tvc-guide-stationid="16485",ESPNews
http://192.168.1.17:5592/stream/38

For some reason it wants to match up the channel numbers with the stream number but that shouldn't happen.

so all i need is a docker and a firestick with ADB access?

And a hardware HDMI Encoder ... to plug the firestick into.

any deals on encoders?

1 Like

LinkPi 5 port is on sale

I use uray

Amazon.com: URayCoder

1 Like