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

Thanks for the reply. Reading your reply and finding all my setup notes from back when I had first installed ADBTuner got me on track. I did a "cd" command in Terminal (macOS) to go into the directory holding my docker-compose.yml file, and ran the "docker-compose up -d" command. All is working now (to be determined if the problem rears its head again). I did run the logs command, and the log entries were all from when I got it back up and running.

I do have the latest version, I believe. Even though I created this outside of OliveTin and Portainer, the stack does show up in Portainer with Control "Limited", and Watchtower seems to keep it up to date.

The odd thing was that this popped up now, after running with zero issues for months. I'm not sure what the change was. Around the same time, I also noticed a change in Streaming Library Manager, where it dropped Apple TV+ from my streaming services and I lost all those shows until adding it back (I don't think I would have had any reason to have done that, but it's possible a misclick on my part happened somewhere).

Thanks for the reply.

Anyone using DirecTV stream? I have two channels (NESN and NESN+) that are both numbered "628". I cannot tune to NESN+ because NESN has 628... I tried 629 and that doesn't work. Any suggestions? It's just this one channel.

Are you saying they both have the same deeplink?

I'm happy to try! Right now it tunes via channel numbers, so I need to research how these deeplinks work to test that

I think you're posting in the wrong thread. The original DTV support in ah4c used channel numbers, but that's been switched to deeplinks now. ADBTuner has always used deeplinks, and last I checked is not compatible with DTV. It sounds like you're using ah4c.

The Walmart Onn HD sticks on sale for about $13. Only 1080p but would be fine for almost any streaming channels.

https://www.walmart.com/ip/2262757145

3 Likes

They make nice spares just in case a future android update messes with ADB functionality. I assume the stick will be stuck on 12 for the rest of its life.

1 Like

@turtletank I can't figure out why but ADBTuner keeps crashing and seemingly taking docker down with it. One thing I have noticed is that I get tons of keep alive requests. Are those supposed to happen at a set interval? The server it's running on is pretty spec'd out and I can't figure what the issue is

1 Like

Do you have any docker logs you can share that might help troubleshoot this?

There was an issue with a build a month ago in which some of the image layers were not being updated with a standard pull. I have since reverted that change, but a few people here had to delete their existing container, cached image, and pull a fresh copy to get things back to normal.

2025-04-24 21:59:20.568 | 2025-04-25 01:59:20.567 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:20.626 | 2025-04-25 01:59:20.626 - lib.adb - ADB: Connected.
2025-04-24 21:59:20.627 | 2025-04-25 01:59:20.627 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:20.627 | 2025-04-25 01:59:20.627 - lib.adb - ADB: 192.168.1.208 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:20.728 | 2025-04-25 01:59:20.728 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:20.788 | 2025-04-25 01:59:20.788 - lib.adb - ADB: Connected.
2025-04-24 21:59:20.788 | 2025-04-25 01:59:20.788 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:20.788 | 2025-04-25 01:59:20.788 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:20.888 | 2025-04-25 01:59:20.888 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:20.928 | 2025-04-25 01:59:20.928 - lib.adb - ADB: Connected.
2025-04-24 21:59:20.928 | 2025-04-25 01:59:20.928 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:20.928 | 2025-04-25 01:59:20.928 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:21.005 | 2025-04-25 01:59:21.005 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:21.054 | 2025-04-25 01:59:21.053 - lib.adb - ADB: Connected.
2025-04-24 21:59:21.054 | 2025-04-25 01:59:21.054 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:21.054 | 2025-04-25 01:59:21.054 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:21.127 | 2025-04-25 01:59:21.127 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:21.188 | 2025-04-25 01:59:21.188 - lib.adb - ADB: Connected.
2025-04-24 21:59:21.188 | 2025-04-25 01:59:21.188 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:21.188 | 2025-04-25 01:59:21.188 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:21.290 | 2025-04-25 01:59:21.290 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:21.344 | 2025-04-25 01:59:21.343 - lib.adb - ADB: Connected.
2025-04-24 21:59:21.344 | 2025-04-25 01:59:21.344 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:21.344 | 2025-04-25 01:59:21.344 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:22.774 | 2025-04-25 01:59:22.774 - server - Tuner: Waiting for playback start. Status: unknown
2025-04-24 21:59:27.018 | 2025-04-25 01:59:27.018 - lib.adb - Failed to get status from media_session.
2025-04-24 21:59:28.624 | 2025-04-25 01:59:28.624 - lib.adb - Failed to get status from media_session.
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Available Tuners:
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 1 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 2 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 5 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 6 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 7 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 8 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 9 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 10 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 11 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Name: YTTV 12 Priority: 
2025-04-24 21:59:29.847 | 2025-04-25 01:59:29.847 - server - Selecting random tuner
2025-04-24 21:59:29.848 | 2025-04-25 01:59:29.848 - server - Reserved Tuner: Name: YTTV 8 Priority: 
2025-04-24 21:59:29.848 | 2025-04-25 01:59:29.848 - server - Using tuner id: 8 for stream.
2025-04-24 21:59:29.848 | 2025-04-25 01:59:29.848 - uvicorn.access - 192.168.65.1:38254 - "GET /stream/37 HTTP/1.1" 307
2025-04-24 21:59:29.851 | 2025-04-25 01:59:29.851 - server - Tuner: Tuning to ESPN2 on YTTV 8
2025-04-24 21:59:29.852 | 2025-04-25 01:59:29.852 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:29.904 | 2025-04-25 01:59:29.903 - lib.adb - ADB: Connected.
2025-04-24 21:59:29.904 | 2025-04-25 01:59:29.903 - lib.adb - ADB: 192.168.1.209 - settings list global
2025-04-24 21:59:30.005 | 2025-04-25 01:59:30.005 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 21:59:30.005 | 2025-04-25 01:59:30.005 - lib.adb - ADB: 192.168.1.209 - dumpsys display
2025-04-24 21:59:30.056 | 2025-04-25 01:59:30.055 - lib.adb - ADB: 192.168.1.209 - getprop ro.build.version.release
2025-04-24 21:59:30.088 | 2025-04-25 01:59:30.088 - lib.adb - ADB: Android Version: 12.0.
2025-04-24 21:59:30.089 | 2025-04-25 01:59:30.089 - lib.adb - ADB: 192.168.1.209 - pm list packages -3
2025-04-24 21:59:30.092 | 2025-04-25 01:59:30.092 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:30.149 | 2025-04-25 01:59:30.148 - lib.adb - ADB: 192.168.1.209 - pidof com.google.android.youtube.tvunplugged
2025-04-24 21:59:30.152 | 2025-04-25 01:59:30.152 - lib.adb - ADB: Connected.
2025-04-24 21:59:30.152 | 2025-04-25 01:59:30.152 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:30.152 | 2025-04-25 01:59:30.152 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:30.197 | 2025-04-25 01:59:30.197 - lib.adb - ADB: Stopping media playback.
2025-04-24 21:59:30.197 | 2025-04-25 01:59:30.197 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 21:59:30.244 | 2025-04-25 01:59:30.244 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:30.287 | 2025-04-25 01:59:30.287 - root - Using https://tv.youtube.com/watch/rV3_bg6VJHs to load channel.
2025-04-24 21:59:30.287 | 2025-04-25 01:59:30.287 - lib.adb - ADB: 192.168.1.209 - am start -a android.intent.action.VIEW -d "https://tv.youtube.com/watch/rV3_bg6VJHs" com.google.android.youtube.tvunplugged
2025-04-24 21:59:30.289 | 2025-04-25 01:59:30.289 - lib.adb - Detected 100.0% black pixels. Assuming HDCP is active and video is playing.
2025-04-24 21:59:30.289 | 2025-04-25 01:59:30.289 - server - Tuner: Tuning completed in 11.03 seconds. Display was on, application (com.google.android.youtube.tvunplugged) was running.
2025-04-24 21:59:30.289 | 2025-04-25 01:59:30.289 - lib.adb - ADB: Closing connection - 192.168.1.204
2025-04-24 21:59:30.290 | 2025-04-25 01:59:30.290 - uvicorn.access - 192.168.65.1:42406 - "GET /stream/4/110 HTTP/1.1" 200
2025-04-24 21:59:30.299 | 2025-04-25 01:59:30.298 - lib.adb - ADB: Connected.
2025-04-24 21:59:30.300 | 2025-04-25 01:59:30.300 - root - Tuner: Stream open (attempt 1).
2025-04-24 21:59:30.301 | 2025-04-25 01:59:30.301 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:30.301 | 2025-04-25 01:59:30.301 - lib.adb - ADB: 192.168.1.202 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:30.403 | 2025-04-25 01:59:30.403 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:30.419 | 2025-04-25 01:59:30.418 - httpx - HTTP Request: GET http://192.168.1.200/12.ts "HTTP/1.1 200 OK"
2025-04-24 21:59:30.459 | 2025-04-25 01:59:30.458 - lib.adb - ADB: Connected.
2025-04-24 21:59:30.459 | 2025-04-25 01:59:30.459 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:30.459 | 2025-04-25 01:59:30.459 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:30.539 | 2025-04-25 01:59:30.539 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:30.587 | 2025-04-25 01:59:30.587 - lib.adb - ADB: Connected.
2025-04-24 21:59:30.587 | 2025-04-25 01:59:30.587 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:30.587 | 2025-04-25 01:59:30.587 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:30.761 | 2025-04-25 01:59:30.761 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:30.818 | 2025-04-25 01:59:30.817 - lib.adb - ADB: Connected.
2025-04-24 21:59:30.818 | 2025-04-25 01:59:30.818 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:30.818 | 2025-04-25 01:59:30.818 - lib.adb - ADB: 192.168.1.206 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:30.893 | 2025-04-25 01:59:30.893 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:30.946 | 2025-04-25 01:59:30.946 - lib.adb - ADB: Connected.
2025-04-24 21:59:30.947 | 2025-04-25 01:59:30.946 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:30.947 | 2025-04-25 01:59:30.946 - lib.adb - ADB: 192.168.1.207 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:31.059 | 2025-04-25 01:59:31.059 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:31.127 | 2025-04-25 01:59:31.127 - lib.adb - ADB: Connected.
2025-04-24 21:59:31.128 | 2025-04-25 01:59:31.127 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:31.128 | 2025-04-25 01:59:31.128 - lib.adb - ADB: 192.168.1.208 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:31.231 | 2025-04-25 01:59:31.231 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:31.302 | 2025-04-25 01:59:31.302 - lib.adb - ADB: Connected.
2025-04-24 21:59:31.303 | 2025-04-25 01:59:31.302 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:31.303 | 2025-04-25 01:59:31.303 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:31.414 | 2025-04-25 01:59:31.414 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:31.479 | 2025-04-25 01:59:31.479 - lib.adb - ADB: Connected.
2025-04-24 21:59:31.480 | 2025-04-25 01:59:31.479 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:31.480 | 2025-04-25 01:59:31.479 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:31.583 | 2025-04-25 01:59:31.583 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:31.646 | 2025-04-25 01:59:31.646 - lib.adb - ADB: Connected.
2025-04-24 21:59:31.646 | 2025-04-25 01:59:31.646 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:31.646 | 2025-04-25 01:59:31.646 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:31.712 | 2025-04-25 01:59:31.712 - server - Available Tuners:
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.712 - server - Name: YTTV 1 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.712 - server - Name: YTTV 2 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.712 - server - Name: YTTV 5 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Name: YTTV 6 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Name: YTTV 7 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Name: YTTV 9 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Name: YTTV 10 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Name: YTTV 11 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Name: YTTV 12 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Selecting random tuner
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Reserved Tuner: Name: YTTV 1 Priority: 
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - server - Using tuner id: 1 for stream.
2025-04-24 21:59:31.713 | 2025-04-25 01:59:31.713 - uvicorn.access - 192.168.65.1:64840 - "GET /stream/36 HTTP/1.1" 307
2025-04-24 21:59:31.716 | 2025-04-25 01:59:31.716 - server - Tuner: Tuning to ESPN on YTTV 1
2025-04-24 21:59:31.718 | 2025-04-25 01:59:31.718 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:31.768 | 2025-04-25 01:59:31.768 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:31.777 | 2025-04-25 01:59:31.777 - lib.adb - ADB: Connected.
2025-04-24 21:59:31.777 | 2025-04-25 01:59:31.777 - lib.adb - ADB: 192.168.1.201 - settings list global
2025-04-24 21:59:31.841 | 2025-04-25 01:59:31.841 - lib.adb - ADB: Connected.
2025-04-24 21:59:31.841 | 2025-04-25 01:59:31.841 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:31.841 | 2025-04-25 01:59:31.841 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:31.872 | 2025-04-25 01:59:31.871 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0, verifier_verify_adb_installs=0
2025-04-24 21:59:31.872 | 2025-04-25 01:59:31.872 - lib.adb - ADB: 192.168.1.201 - dumpsys display
2025-04-24 21:59:31.925 | 2025-04-25 01:59:31.925 - lib.adb - ADB: 192.168.1.201 - getprop ro.build.version.release
2025-04-24 21:59:31.959 | 2025-04-25 01:59:31.959 - lib.adb - ADB: Android Version: 12.0.
2025-04-24 21:59:31.961 | 2025-04-25 01:59:31.960 - lib.adb - ADB: 192.168.1.201 - pm list packages -3
2025-04-24 21:59:31.963 | 2025-04-25 01:59:31.963 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:32.008 | 2025-04-25 01:59:32.007 - lib.adb - ADB: Connected.
2025-04-24 21:59:32.008 | 2025-04-25 01:59:32.007 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:32.008 | 2025-04-25 01:59:32.008 - lib.adb - ADB: 192.168.1.202 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:32.018 | 2025-04-25 01:59:32.018 - lib.adb - ADB: 192.168.1.201 - pidof com.google.android.youtube.tvunplugged
2025-04-24 21:59:32.074 | 2025-04-25 01:59:32.074 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:32.075 | 2025-04-25 01:59:32.075 - lib.adb - ADB: Stopping media playback.
2025-04-24 21:59:32.075 | 2025-04-25 01:59:32.075 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 21:59:32.120 | 2025-04-25 01:59:32.119 - lib.adb - ADB: Connected.
2025-04-24 21:59:32.120 | 2025-04-25 01:59:32.120 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:32.120 | 2025-04-25 01:59:32.120 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:32.137 | 2025-04-25 01:59:32.136 - root - Using https://tv.youtube.com/watch/pwrdbfRlE_E to load channel.
2025-04-24 21:59:32.137 | 2025-04-25 01:59:32.136 - lib.adb - ADB: 192.168.1.201 - am start -a android.intent.action.VIEW -d "https://tv.youtube.com/watch/pwrdbfRlE_E" com.google.android.youtube.tvunplugged
2025-04-24 21:59:32.195 | 2025-04-25 01:59:32.195 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:32.239 | 2025-04-25 01:59:32.239 - lib.adb - ADB: Connected.
2025-04-24 21:59:32.240 | 2025-04-25 01:59:32.239 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:32.240 | 2025-04-25 01:59:32.240 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:32.321 | 2025-04-25 01:59:32.321 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:32.381 | 2025-04-25 01:59:32.381 - lib.adb - ADB: Connected.
2025-04-24 21:59:32.382 | 2025-04-25 01:59:32.381 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:32.382 | 2025-04-25 01:59:32.382 - lib.adb - ADB: 192.168.1.206 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:32.482 | 2025-04-25 01:59:32.482 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:32.536 | 2025-04-25 01:59:32.536 - lib.adb - ADB: Connected.
2025-04-24 21:59:32.537 | 2025-04-25 01:59:32.536 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:32.537 | 2025-04-25 01:59:32.536 - lib.adb - ADB: 192.168.1.207 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:32.642 | 2025-04-25 01:59:32.642 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:32.699 | 2025-04-25 01:59:32.699 - lib.adb - ADB: Connected.
2025-04-24 21:59:32.700 | 2025-04-25 01:59:32.699 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:32.700 | 2025-04-25 01:59:32.699 - lib.adb - ADB: 192.168.1.208 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:32.817 | 2025-04-25 01:59:32.816 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:32.868 | 2025-04-25 01:59:32.867 - lib.adb - ADB: Connected.
2025-04-24 21:59:32.868 | 2025-04-25 01:59:32.868 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:32.868 | 2025-04-25 01:59:32.868 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:33.001 | 2025-04-25 01:59:33.000 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:33.042 | 2025-04-25 01:59:33.042 - lib.adb - ADB: Connected.
2025-04-24 21:59:33.042 | 2025-04-25 01:59:33.042 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:33.042 | 2025-04-25 01:59:33.042 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:33.129 | 2025-04-25 01:59:33.129 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:33.171 | 2025-04-25 01:59:33.170 - lib.adb - ADB: Connected.
2025-04-24 21:59:33.171 | 2025-04-25 01:59:33.171 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:33.171 | 2025-04-25 01:59:33.171 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:33.231 | 2025-04-25 01:59:33.231 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:33.289 | 2025-04-25 01:59:33.289 - lib.adb - Detected 99.99% black pixels. Assuming HDCP is active and video is playing.
2025-04-24 21:59:33.290 | 2025-04-25 01:59:33.289 - server - Tuner: Waiting for playback start. Status: playing
2025-04-24 21:59:33.290 | 2025-04-25 01:59:33.289 - server - Tuner: Tuning completed in 3.44 seconds. Display was on, application (com.google.android.youtube.tvunplugged) was running.
2025-04-24 21:59:33.290 | 2025-04-25 01:59:33.289 - lib.adb - ADB: Closing connection - 192.168.1.209
2025-04-24 21:59:33.290 | 2025-04-25 01:59:33.290 - uvicorn.access - 192.168.65.1:38254 - "GET /stream/8/37 HTTP/1.1" 200
2025-04-24 21:59:33.295 | 2025-04-25 01:59:33.294 - lib.adb - ADB: Connected.
2025-04-24 21:59:33.295 | 2025-04-25 01:59:33.295 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:33.296 | 2025-04-25 01:59:33.295 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:33.304 | 2025-04-25 01:59:33.304 - root - Tuner: Stream open (attempt 1).
2025-04-24 21:59:33.391 | 2025-04-25 01:59:33.391 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:33.447 | 2025-04-25 01:59:33.445 - httpx - HTTP Request: GET http://192.168.1.205/12.ts "HTTP/1.1 200 OK"
2025-04-24 21:59:33.455 | 2025-04-25 01:59:33.454 - lib.adb - ADB: Connected.
2025-04-24 21:59:33.455 | 2025-04-25 01:59:33.455 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:33.455 | 2025-04-25 01:59:33.455 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:35.588 | 2025-04-25 01:59:35.588 - lib.adb - Detected 100.0% black pixels. Assuming HDCP is active and video is playing.
2025-04-24 21:59:35.589 | 2025-04-25 01:59:35.589 - server - Tuner: Waiting for playback start. Status: playing
2025-04-24 21:59:35.589 | 2025-04-25 01:59:35.589 - server - Tuner: Tuning completed in 3.87 seconds. Display was on, application (com.google.android.youtube.tvunplugged) was running.
2025-04-24 21:59:35.589 | 2025-04-25 01:59:35.589 - lib.adb - ADB: Closing connection - 192.168.1.201
2025-04-24 21:59:35.590 | 2025-04-25 01:59:35.590 - uvicorn.access - 192.168.65.1:64840 - "GET /stream/1/36 HTTP/1.1" 200
2025-04-24 21:59:35.601 | 2025-04-25 01:59:35.601 - root - Tuner: Stream open (attempt 1).
2025-04-24 21:59:35.718 | 2025-04-25 01:59:35.717 - httpx - HTTP Request: GET http://192.168.1.200/0.ts "HTTP/1.1 200 OK"
2025-04-24 21:59:55.039 | 2025-04-25 01:59:55.039 - server - Tuner: Playback failed.
2025-04-24 21:59:55.041 | 2025-04-25 01:59:55.041 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:55.042 | 2025-04-25 01:59:55.041 - server - Tuner: Playback failed.
2025-04-24 21:59:55.045 | 2025-04-25 01:59:55.044 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:55.114 | 2025-04-25 01:59:55.114 - lib.adb - ADB: Connected.
2025-04-24 21:59:55.114 | 2025-04-25 01:59:55.114 - lib.adb - ADB: 192.168.1.203 - settings list global
2025-04-24 21:59:55.117 | 2025-04-25 01:59:55.117 - lib.adb - ADB: Connected.
2025-04-24 21:59:55.117 | 2025-04-25 01:59:55.117 - lib.adb - ADB: 192.168.1.204 - settings list global
2025-04-24 21:59:55.190 | 2025-04-25 01:59:55.189 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 21:59:55.190 | 2025-04-25 01:59:55.190 - lib.adb - ADB: Stopping media playback.
2025-04-24 21:59:55.190 | 2025-04-25 01:59:55.190 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 21:59:55.214 | 2025-04-25 01:59:55.213 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 21:59:55.214 | 2025-04-25 01:59:55.213 - lib.adb - ADB: Stopping media playback.
2025-04-24 21:59:55.214 | 2025-04-25 01:59:55.213 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 21:59:55.275 | 2025-04-25 01:59:55.275 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-24 21:59:55.318 | 2025-04-25 01:59:55.317 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-24 21:59:55.376 | 2025-04-25 01:59:55.376 - lib.adb - ADB: Closing connection - 192.168.1.203
2025-04-24 21:59:55.377 | 2025-04-25 01:59:55.376 - server - Released tuner ID: 3
2025-04-24 21:59:55.377 | 2025-04-25 01:59:55.376 - server - Tuner: Cleanup complete. YTTV 3 (TNT)
2025-04-24 21:59:55.377 | 2025-04-25 01:59:55.377 - server - http disconnect
2025-04-24 21:59:55.408 | 2025-04-25 01:59:55.408 - lib.adb - ADB: Closing connection - 192.168.1.204
2025-04-24 21:59:55.409 | 2025-04-25 01:59:55.408 - server - Released tuner ID: 4
2025-04-24 21:59:55.409 | 2025-04-25 01:59:55.408 - server - Tuner: Cleanup complete. YTTV 4 (TRUTVHD)
2025-04-24 21:59:55.410 | 2025-04-25 01:59:55.410 - server - http disconnect
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.717 - server - Available Tuners:
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 2 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 3 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 4 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 5 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 6 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 7 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 9 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 10 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 11 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Name: YTTV 12 Priority: 
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Selecting random tuner
2025-04-24 21:59:55.718 | 2025-04-25 01:59:55.718 - server - Reserved Tuner: Name: YTTV 5 Priority: 
2025-04-24 21:59:55.719 | 2025-04-25 01:59:55.719 - server - Using tuner id: 5 for stream.
2025-04-24 21:59:55.720 | 2025-04-25 01:59:55.719 - uvicorn.access - 192.168.65.1:42406 - "GET /stream/108 HTTP/1.1" 307
2025-04-24 21:59:55.723 | 2025-04-25 01:59:55.723 - server - Tuner: Tuning to TNT on YTTV 5
2025-04-24 21:59:55.725 | 2025-04-25 01:59:55.725 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:55.775 | 2025-04-25 01:59:55.775 - server - Available Tuners:
2025-04-24 21:59:55.775 | 2025-04-25 01:59:55.775 - server - Name: YTTV 2 Priority: 
2025-04-24 21:59:55.775 | 2025-04-25 01:59:55.775 - server - Name: YTTV 3 Priority: 
2025-04-24 21:59:55.775 | 2025-04-25 01:59:55.775 - server - Name: YTTV 4 Priority: 
2025-04-24 21:59:55.775 | 2025-04-25 01:59:55.775 - server - Name: YTTV 6 Priority: 
2025-04-24 21:59:55.776 | 2025-04-25 01:59:55.775 - server - Name: YTTV 7 Priority: 
2025-04-24 21:59:55.776 | 2025-04-25 01:59:55.776 - server - Name: YTTV 9 Priority: 
2025-04-24 21:59:55.776 | 2025-04-25 01:59:55.776 - server - Name: YTTV 10 Priority: 
2025-04-24 21:59:55.776 | 2025-04-25 01:59:55.776 - server - Name: YTTV 11 Priority: 
2025-04-24 21:59:55.776 | 2025-04-25 01:59:55.776 - server - Name: YTTV 12 Priority: 
2025-04-24 21:59:55.776 | 2025-04-25 01:59:55.776 - server - Selecting random tuner
2025-04-24 21:59:55.776 | 2025-04-25 01:59:55.776 - server - Reserved Tuner: Name: YTTV 6 Priority: 
2025-04-24 21:59:55.776 | 2025-04-25 01:59:55.776 - server - Using tuner id: 6 for stream.
2025-04-24 21:59:55.777 | 2025-04-25 01:59:55.776 - uvicorn.access - 192.168.65.1:47015 - "GET /stream/110 HTTP/1.1" 307
2025-04-24 21:59:55.781 | 2025-04-25 01:59:55.781 - server - Tuner: Tuning to TRUTVHD on YTTV 6
2025-04-24 21:59:55.782 | 2025-04-25 01:59:55.781 - lib.adb - ADB: Connected.
2025-04-24 21:59:55.782 | 2025-04-25 01:59:55.781 - lib.adb - ADB: 192.168.1.206 - settings list global
2025-04-24 21:59:55.787 | 2025-04-25 01:59:55.785 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:55.846 | 2025-04-25 01:59:55.846 - lib.adb - ADB: Connected.
2025-04-24 21:59:55.846 | 2025-04-25 01:59:55.846 - lib.adb - ADB: 192.168.1.207 - settings list global
2025-04-24 21:59:55.887 | 2025-04-25 01:59:55.885 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 21:59:55.891 | 2025-04-25 01:59:55.888 - lib.adb - ADB: 192.168.1.206 - dumpsys display
2025-04-24 21:59:55.919 | 2025-04-25 01:59:55.919 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 21:59:55.919 | 2025-04-25 01:59:55.919 - lib.adb - ADB: 192.168.1.207 - dumpsys display
2025-04-24 21:59:55.940 | 2025-04-25 01:59:55.940 - lib.adb - ADB: 192.168.1.206 - getprop ro.build.version.release
2025-04-24 21:59:55.971 | 2025-04-25 01:59:55.970 - lib.adb - ADB: 192.168.1.207 - getprop ro.build.version.release
2025-04-24 21:59:55.975 | 2025-04-25 01:59:55.975 - lib.adb - ADB: Android Version: 12.0.
2025-04-24 21:59:55.976 | 2025-04-25 01:59:55.976 - lib.adb - ADB: 192.168.1.206 - pm list packages -3
2025-04-24 21:59:55.980 | 2025-04-25 01:59:55.980 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.026 | 2025-04-25 01:59:56.025 - lib.adb - ADB: Android Version: 12.0.
2025-04-24 21:59:56.026 | 2025-04-25 01:59:56.026 - lib.adb - ADB: 192.168.1.207 - pm list packages -3
2025-04-24 21:59:56.029 | 2025-04-25 01:59:56.029 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.030 | 2025-04-25 01:59:56.030 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.030 | 2025-04-25 01:59:56.030 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.030 | 2025-04-25 01:59:56.030 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.036 | 2025-04-25 01:59:56.036 - lib.adb - ADB: 192.168.1.206 - pidof com.google.android.youtube.tvunplugged
2025-04-24 21:59:56.079 | 2025-04-25 01:59:56.078 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.079 | 2025-04-25 01:59:56.079 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.079 | 2025-04-25 01:59:56.079 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.089 | 2025-04-25 01:59:56.085 - lib.adb - ADB: 192.168.1.207 - pidof com.google.android.youtube.tvunplugged
2025-04-24 21:59:56.089 | 2025-04-25 01:59:56.086 - lib.adb - ADB: Stopping media playback.
2025-04-24 21:59:56.089 | 2025-04-25 01:59:56.086 - lib.adb - ADB: 192.168.1.206 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 21:59:56.106 | 2025-04-25 01:59:56.105 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.149 | 2025-04-25 01:59:56.148 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.149 | 2025-04-25 01:59:56.149 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.149 | 2025-04-25 01:59:56.149 - lib.adb - ADB: 192.168.1.202 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.151 | 2025-04-25 01:59:56.151 - root - Using https://tv.youtube.com/watch/eJenLQXJcVw to load channel.
2025-04-24 21:59:56.151 | 2025-04-25 01:59:56.151 - lib.adb - ADB: 192.168.1.206 - am start -a android.intent.action.VIEW -d "https://tv.youtube.com/watch/eJenLQXJcVw" com.google.android.youtube.tvunplugged
2025-04-24 21:59:56.155 | 2025-04-25 01:59:56.154 - lib.adb - ADB: Stopping media playback.
2025-04-24 21:59:56.155 | 2025-04-25 01:59:56.154 - lib.adb - ADB: 192.168.1.207 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 21:59:56.172 | 2025-04-25 01:59:56.172 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.224 | 2025-04-25 01:59:56.223 - root - Using https://tv.youtube.com/watch/FhKP3WYUe60 to load channel.
2025-04-24 21:59:56.224 | 2025-04-25 01:59:56.224 - lib.adb - ADB: 192.168.1.207 - am start -a android.intent.action.VIEW -d "https://tv.youtube.com/watch/FhKP3WYUe60" com.google.android.youtube.tvunplugged
2025-04-24 21:59:56.225 | 2025-04-25 01:59:56.224 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.227 | 2025-04-25 01:59:56.227 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.228 | 2025-04-25 01:59:56.227 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.229 | 2025-04-25 01:59:56.228 - lib.adb - ADB: 192.168.1.202 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.281 | 2025-04-25 01:59:56.281 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.282 | 2025-04-25 01:59:56.281 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.282 | 2025-04-25 01:59:56.282 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.301 | 2025-04-25 01:59:56.300 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.354 | 2025-04-25 01:59:56.353 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.354 | 2025-04-25 01:59:56.354 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.354 | 2025-04-25 01:59:56.354 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.440 | 2025-04-25 01:59:56.440 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.489 | 2025-04-25 01:59:56.488 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.489 | 2025-04-25 01:59:56.489 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.491 | 2025-04-25 01:59:56.490 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.491 | 2025-04-25 01:59:56.490 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.538 | 2025-04-25 01:59:56.537 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.538 | 2025-04-25 01:59:56.538 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.538 | 2025-04-25 01:59:56.538 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.593 | 2025-04-25 01:59:56.593 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.640 | 2025-04-25 01:59:56.640 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.641 | 2025-04-25 01:59:56.641 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.642 | 2025-04-25 01:59:56.641 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.642 | 2025-04-25 01:59:56.641 - lib.adb - ADB: 192.168.1.207 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.691 | 2025-04-25 01:59:56.689 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.691 | 2025-04-25 01:59:56.690 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.691 | 2025-04-25 01:59:56.690 - lib.adb - ADB: 192.168.1.206 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.729 | 2025-04-25 01:59:56.728 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.792 | 2025-04-25 01:59:56.791 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.797 | 2025-04-25 01:59:56.797 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.798 | 2025-04-25 01:59:56.798 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.798 | 2025-04-25 01:59:56.798 - lib.adb - ADB: 192.168.1.208 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.849 | 2025-04-25 01:59:56.849 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.849 | 2025-04-25 01:59:56.849 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.849 | 2025-04-25 01:59:56.849 - lib.adb - ADB: 192.168.1.208 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.900 | 2025-04-25 01:59:56.900 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.942 | 2025-04-25 01:59:56.942 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:56.945 | 2025-04-25 01:59:56.944 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.945 | 2025-04-25 01:59:56.945 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.945 | 2025-04-25 01:59:56.945 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:56.996 | 2025-04-25 01:59:56.995 - lib.adb - ADB: Connected.
2025-04-24 21:59:56.996 | 2025-04-25 01:59:56.996 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:56.996 | 2025-04-25 01:59:56.996 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:57.020 | 2025-04-25 01:59:57.020 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:57.064 | 2025-04-25 01:59:57.064 - lib.adb - ADB: Connected.
2025-04-24 21:59:57.065 | 2025-04-25 01:59:57.064 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:57.065 | 2025-04-25 01:59:57.064 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:57.070 | 2025-04-25 01:59:57.069 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:57.118 | 2025-04-25 01:59:57.118 - lib.adb - ADB: Connected.
2025-04-24 21:59:57.119 | 2025-04-25 01:59:57.118 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:57.119 | 2025-04-25 01:59:57.118 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:57.195 | 2025-04-25 01:59:57.194 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:57.238 | 2025-04-25 01:59:57.238 - server - Skipping keep alive tasks as it's currently the top or middle of the hour.
2025-04-24 21:59:57.242 | 2025-04-25 01:59:57.242 - lib.adb - ADB: Connected.
2025-04-24 21:59:57.243 | 2025-04-25 01:59:57.242 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:57.243 | 2025-04-25 01:59:57.243 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:57.330 | 2025-04-25 01:59:57.329 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:57.388 | 2025-04-25 01:59:57.388 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:57.394 | 2025-04-25 01:59:57.393 - lib.adb - ADB: Connected.
2025-04-24 21:59:57.395 | 2025-04-25 01:59:57.394 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:57.395 | 2025-04-25 01:59:57.394 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:57.439 | 2025-04-25 01:59:57.439 - lib.adb - ADB: Connected.
2025-04-24 21:59:57.440 | 2025-04-25 01:59:57.439 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:57.440 | 2025-04-25 01:59:57.439 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:57.494 | 2025-04-25 01:59:57.494 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:57.541 | 2025-04-25 01:59:57.541 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:57.547 | 2025-04-25 01:59:57.547 - lib.adb - ADB: Connected.
2025-04-24 21:59:57.547 | 2025-04-25 01:59:57.547 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:57.547 | 2025-04-25 01:59:57.547 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:57.600 | 2025-04-25 01:59:57.599 - lib.adb - ADB: Connected.
2025-04-24 21:59:57.600 | 2025-04-25 01:59:57.600 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:57.600 | 2025-04-25 01:59:57.600 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:57.694 | 2025-04-25 01:59:57.694 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 21:59:57.743 | 2025-04-25 01:59:57.742 - lib.adb - ADB: Connected.
2025-04-24 21:59:57.743 | 2025-04-25 01:59:57.743 - lib.adb - ADB: Sending keep alive.
2025-04-24 21:59:57.743 | 2025-04-25 01:59:57.743 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_WAKEUP
2025-04-24 21:59:58.975 | 2025-04-25 01:59:58.975 - lib.adb - Detected 99.98% black pixels. Assuming HDCP is active and video is playing.
2025-04-24 21:59:58.975 | 2025-04-25 01:59:58.975 - server - Tuner: Waiting for playback start. Status: playing
2025-04-24 21:59:58.975 | 2025-04-25 01:59:58.975 - server - Tuner: Tuning completed in 3.2 seconds. Display was on, application (com.google.android.youtube.tvunplugged) was running.
2025-04-24 21:59:58.975 | 2025-04-25 01:59:58.975 - lib.adb - ADB: Closing connection - 192.168.1.207
2025-04-24 21:59:58.976 | 2025-04-25 01:59:58.975 - uvicorn.access - 192.168.65.1:47015 - "GET /stream/6/110 HTTP/1.1" 200
2025-04-24 21:59:58.987 | 2025-04-25 01:59:58.987 - root - Tuner: Stream open (attempt 1).
2025-04-24 21:59:59.103 | 2025-04-25 01:59:59.103 - httpx - HTTP Request: GET http://192.168.1.205/4.ts "HTTP/1.1 200 OK"
2025-04-24 21:59:59.411 | 2025-04-25 01:59:59.410 - lib.adb - Detected 100.0% black pixels. Assuming HDCP is active and video is playing.
2025-04-24 21:59:59.411 | 2025-04-25 01:59:59.410 - server - Tuner: Waiting for playback start. Status: playing
2025-04-24 21:59:59.411 | 2025-04-25 01:59:59.410 - server - Tuner: Tuning completed in 3.69 seconds. Display was on, application (com.google.android.youtube.tvunplugged) was running.
2025-04-24 21:59:59.411 | 2025-04-25 01:59:59.411 - lib.adb - ADB: Closing connection - 192.168.1.206
2025-04-24 21:59:59.412 | 2025-04-25 01:59:59.411 - uvicorn.access - 192.168.65.1:42406 - "GET /stream/5/108 HTTP/1.1" 200
2025-04-24 21:59:59.421 | 2025-04-25 01:59:59.420 - root - Tuner: Stream open (attempt 1).
2025-04-24 21:59:59.482 | 2025-04-25 01:59:59.482 - httpx - HTTP Request: GET http://192.168.1.205/0.ts "HTTP/1.1 200 OK"
2025-04-24 22:00:07.790 | 2025-04-25 02:00:07.790 - server - Tuner: Playback failed.
2025-04-24 22:00:07.792 | 2025-04-25 02:00:07.792 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:07.832 | 2025-04-25 02:00:07.831 - server - Tuner: Playback failed.
2025-04-24 22:00:07.836 | 2025-04-25 02:00:07.836 - lib.adb - ADB: Connected.
2025-04-24 22:00:07.836 | 2025-04-25 02:00:07.836 - lib.adb - ADB: 192.168.1.209 - settings list global
2025-04-24 22:00:07.838 | 2025-04-25 02:00:07.838 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:07.895 | 2025-04-25 02:00:07.893 - lib.adb - ADB: Connected.
2025-04-24 22:00:07.896 | 2025-04-25 02:00:07.894 - lib.adb - ADB: 192.168.1.201 - settings list global
2025-04-24 22:00:07.908 | 2025-04-25 02:00:07.907 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 22:00:07.909 | 2025-04-25 02:00:07.908 - lib.adb - ADB: Stopping media playback.
2025-04-24 22:00:07.909 | 2025-04-25 02:00:07.908 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 22:00:07.984 | 2025-04-25 02:00:07.983 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-24 22:00:08.014 | 2025-04-25 02:00:08.014 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0, verifier_verify_adb_installs=0
2025-04-24 22:00:08.014 | 2025-04-25 02:00:08.014 - lib.adb - ADB: Stopping media playback.
2025-04-24 22:00:08.014 | 2025-04-25 02:00:08.014 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 22:00:08.072 | 2025-04-25 02:00:08.072 - lib.adb - ADB: Closing connection - 192.168.1.209
2025-04-24 22:00:08.072 | 2025-04-25 02:00:08.072 - server - Released tuner ID: 8
2025-04-24 22:00:08.072 | 2025-04-25 02:00:08.072 - server - Tuner: Cleanup complete. YTTV 8 (ESPN2)
2025-04-24 22:00:08.073 | 2025-04-25 02:00:08.073 - server - http disconnect
2025-04-24 22:00:08.094 | 2025-04-25 02:00:08.094 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Available Tuners:
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 2 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 3 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 4 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 7 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 8 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 9 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 10 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 11 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Name: YTTV 12 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.129 - server - Selecting random tuner
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.130 - server - Reserved Tuner: Name: YTTV 4 Priority: 
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.130 - server - Using tuner id: 4 for stream.
2025-04-24 22:00:08.131 | 2025-04-25 02:00:08.130 - uvicorn.access - 192.168.65.1:38254 - "GET /stream/37 HTTP/1.1" 307
2025-04-24 22:00:08.139 | 2025-04-25 02:00:08.138 - server - Tuner: Tuning to ESPN2 on YTTV 4
2025-04-24 22:00:08.142 | 2025-04-25 02:00:08.141 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.200 | 2025-04-25 02:00:08.200 - lib.adb - ADB: Closing connection - 192.168.1.201
2025-04-24 22:00:08.208 | 2025-04-25 02:00:08.206 - server - Released tuner ID: 1
2025-04-24 22:00:08.208 | 2025-04-25 02:00:08.206 - server - Tuner: Cleanup complete. YTTV 1 (ESPN)
2025-04-24 22:00:08.210 | 2025-04-25 02:00:08.209 - server - http disconnect
2025-04-24 22:00:08.212 | 2025-04-25 02:00:08.212 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.213 | 2025-04-25 02:00:08.212 - lib.adb - ADB: 192.168.1.204 - settings list global
2025-04-24 22:00:08.260 | 2025-04-25 02:00:08.260 - server - Available Tuners:
2025-04-24 22:00:08.260 | 2025-04-25 02:00:08.260 - server - Name: YTTV 1 Priority: 
2025-04-24 22:00:08.260 | 2025-04-25 02:00:08.260 - server - Name: YTTV 2 Priority: 
2025-04-24 22:00:08.260 | 2025-04-25 02:00:08.260 - server - Name: YTTV 3 Priority: 
2025-04-24 22:00:08.260 | 2025-04-25 02:00:08.260 - server - Name: YTTV 7 Priority: 
2025-04-24 22:00:08.260 | 2025-04-25 02:00:08.260 - server - Name: YTTV 8 Priority: 
2025-04-24 22:00:08.260 | 2025-04-25 02:00:08.260 - server - Name: YTTV 9 Priority: 
2025-04-24 22:00:08.261 | 2025-04-25 02:00:08.260 - server - Name: YTTV 10 Priority: 
2025-04-24 22:00:08.261 | 2025-04-25 02:00:08.260 - server - Name: YTTV 11 Priority: 
2025-04-24 22:00:08.261 | 2025-04-25 02:00:08.261 - server - Name: YTTV 12 Priority: 
2025-04-24 22:00:08.261 | 2025-04-25 02:00:08.261 - server - Selecting random tuner
2025-04-24 22:00:08.261 | 2025-04-25 02:00:08.261 - server - Reserved Tuner: Name: YTTV 10 Priority: 
2025-04-24 22:00:08.261 | 2025-04-25 02:00:08.261 - server - Using tuner id: 10 for stream.
2025-04-24 22:00:08.262 | 2025-04-25 02:00:08.262 - uvicorn.access - 192.168.65.1:64840 - "GET /stream/36 HTTP/1.1" 307
2025-04-24 22:00:08.266 | 2025-04-25 02:00:08.266 - server - Tuner: Tuning to ESPN on YTTV 10
2025-04-24 22:00:08.268 | 2025-04-25 02:00:08.268 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.344 | 2025-04-25 02:00:08.343 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 22:00:08.344 | 2025-04-25 02:00:08.344 - lib.adb - ADB: 192.168.1.204 - dumpsys display
2025-04-24 22:00:08.346 | 2025-04-25 02:00:08.344 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.346 | 2025-04-25 02:00:08.345 - lib.adb - ADB: 192.168.1.212 - settings list global
2025-04-24 22:00:08.396 | 2025-04-25 02:00:08.396 - lib.adb - ADB: 192.168.1.204 - getprop ro.build.version.release
2025-04-24 22:00:08.431 | 2025-04-25 02:00:08.431 - lib.adb - ADB: Android Version: 12.0.
2025-04-24 22:00:08.432 | 2025-04-25 02:00:08.432 - lib.adb - ADB: 192.168.1.204 - pm list packages -3
2025-04-24 22:00:08.437 | 2025-04-25 02:00:08.436 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.481 | 2025-04-25 02:00:08.480 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 22:00:08.481 | 2025-04-25 02:00:08.480 - lib.adb - ADB: 192.168.1.212 - dumpsys display
2025-04-24 22:00:08.489 | 2025-04-25 02:00:08.488 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.491 | 2025-04-25 02:00:08.490 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:08.491 | 2025-04-25 02:00:08.490 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:08.492 | 2025-04-25 02:00:08.492 - lib.adb - ADB: 192.168.1.204 - pidof com.google.android.youtube.tvunplugged
2025-04-24 22:00:08.531 | 2025-04-25 02:00:08.531 - lib.adb - ADB: 192.168.1.212 - getprop ro.build.version.release
2025-04-24 22:00:08.547 | 2025-04-25 02:00:08.544 - lib.adb - ADB: Stopping media playback.
2025-04-24 22:00:08.547 | 2025-04-25 02:00:08.544 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 22:00:08.560 | 2025-04-25 02:00:08.559 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.567 | 2025-04-25 02:00:08.567 - lib.adb - ADB: Android Version: 12.0.
2025-04-24 22:00:08.568 | 2025-04-25 02:00:08.568 - lib.adb - ADB: 192.168.1.212 - pm list packages -3
2025-04-24 22:00:08.614 | 2025-04-25 02:00:08.614 - root - Using https://tv.youtube.com/watch/rV3_bg6VJHs to load channel.
2025-04-24 22:00:08.616 | 2025-04-25 02:00:08.615 - lib.adb - ADB: 192.168.1.204 - am start -a android.intent.action.VIEW -d "https://tv.youtube.com/watch/rV3_bg6VJHs" com.google.android.youtube.tvunplugged
2025-04-24 22:00:08.618 | 2025-04-25 02:00:08.616 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.623 | 2025-04-25 02:00:08.621 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:08.623 | 2025-04-25 02:00:08.621 - lib.adb - ADB: 192.168.1.202 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:08.625 | 2025-04-25 02:00:08.625 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.676 | 2025-04-25 02:00:08.676 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.676 | 2025-04-25 02:00:08.676 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:08.676 | 2025-04-25 02:00:08.676 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:08.693 | 2025-04-25 02:00:08.693 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.760 | 2025-04-25 02:00:08.760 - lib.adb - ADB: 192.168.1.212 - pidof com.google.android.youtube.tvunplugged
2025-04-24 22:00:08.763 | 2025-04-25 02:00:08.763 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.767 | 2025-04-25 02:00:08.766 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.767 | 2025-04-25 02:00:08.767 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:08.767 | 2025-04-25 02:00:08.767 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:08.812 | 2025-04-25 02:00:08.811 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.812 | 2025-04-25 02:00:08.812 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:08.812 | 2025-04-25 02:00:08.812 - lib.adb - ADB: 192.168.1.202 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:08.826 | 2025-04-25 02:00:08.826 - lib.adb - ADB: Stopping media playback.
2025-04-24 22:00:08.826 | 2025-04-25 02:00:08.826 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 22:00:08.863 | 2025-04-25 02:00:08.862 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.917 | 2025-04-25 02:00:08.916 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:08.920 | 2025-04-25 02:00:08.917 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.921 | 2025-04-25 02:00:08.919 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:08.921 | 2025-04-25 02:00:08.919 - lib.adb - ADB: 192.168.1.206 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:08.929 | 2025-04-25 02:00:08.929 - root - Using https://tv.youtube.com/watch/pwrdbfRlE_E to load channel.
2025-04-24 22:00:08.931 | 2025-04-25 02:00:08.929 - lib.adb - ADB: 192.168.1.212 - am start -a android.intent.action.VIEW -d "https://tv.youtube.com/watch/pwrdbfRlE_E" com.google.android.youtube.tvunplugged
2025-04-24 22:00:08.979 | 2025-04-25 02:00:08.978 - lib.adb - ADB: Connected.
2025-04-24 22:00:08.981 | 2025-04-25 02:00:08.980 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:08.982 | 2025-04-25 02:00:08.980 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.006 | 2025-04-25 02:00:09.005 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.061 | 2025-04-25 02:00:09.061 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.064 | 2025-04-25 02:00:09.064 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.068 | 2025-04-25 02:00:09.067 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.068 | 2025-04-25 02:00:09.067 - lib.adb - ADB: 192.168.1.207 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.114 | 2025-04-25 02:00:09.114 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.115 | 2025-04-25 02:00:09.115 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.115 | 2025-04-25 02:00:09.115 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.149 | 2025-04-25 02:00:09.148 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.217 | 2025-04-25 02:00:09.217 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.217 | 2025-04-25 02:00:09.217 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.222 | 2025-04-25 02:00:09.217 - lib.adb - ADB: 192.168.1.208 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.227 | 2025-04-25 02:00:09.227 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.279 | 2025-04-25 02:00:09.278 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.279 | 2025-04-25 02:00:09.279 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.279 | 2025-04-25 02:00:09.279 - lib.adb - ADB: 192.168.1.206 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.333 | 2025-04-25 02:00:09.333 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.382 | 2025-04-25 02:00:09.382 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.384 | 2025-04-25 02:00:09.383 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.384 | 2025-04-25 02:00:09.383 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.384 | 2025-04-25 02:00:09.383 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.438 | 2025-04-25 02:00:09.437 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.438 | 2025-04-25 02:00:09.437 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.438 | 2025-04-25 02:00:09.437 - lib.adb - ADB: 192.168.1.207 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.449 | 2025-04-25 02:00:09.449 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.498 | 2025-04-25 02:00:09.497 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.498 | 2025-04-25 02:00:09.498 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.498 | 2025-04-25 02:00:09.498 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.522 | 2025-04-25 02:00:09.521 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.588 | 2025-04-25 02:00:09.588 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.592 | 2025-04-25 02:00:09.591 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.592 | 2025-04-25 02:00:09.591 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.592 | 2025-04-25 02:00:09.592 - lib.adb - ADB: 192.168.1.208 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.654 | 2025-04-25 02:00:09.654 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.657 | 2025-04-25 02:00:09.657 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.657 | 2025-04-25 02:00:09.657 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.687 | 2025-04-25 02:00:09.687 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.749 | 2025-04-25 02:00:09.749 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.749 | 2025-04-25 02:00:09.749 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.749 | 2025-04-25 02:00:09.749 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.768 | 2025-04-25 02:00:09.768 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.833 | 2025-04-25 02:00:09.833 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.834 | 2025-04-25 02:00:09.833 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.834 | 2025-04-25 02:00:09.834 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.852 | 2025-04-25 02:00:09.852 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:09.908 | 2025-04-25 02:00:09.908 - lib.adb - ADB: Connected.
2025-04-24 22:00:09.909 | 2025-04-25 02:00:09.908 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:09.909 | 2025-04-25 02:00:09.908 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:09.936 | 2025-04-25 02:00:09.936 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:10.003 | 2025-04-25 02:00:10.003 - lib.adb - ADB: Connected.
2025-04-24 22:00:10.004 | 2025-04-25 02:00:10.003 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:10.004 | 2025-04-25 02:00:10.003 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:10.014 | 2025-04-25 02:00:10.014 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:10.068 | 2025-04-25 02:00:10.068 - lib.adb - ADB: Connected.
2025-04-24 22:00:10.069 | 2025-04-25 02:00:10.068 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:10.069 | 2025-04-25 02:00:10.069 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:10.164 | 2025-04-25 02:00:10.163 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:10.214 | 2025-04-25 02:00:10.213 - lib.adb - ADB: Connected.
2025-04-24 22:00:10.214 | 2025-04-25 02:00:10.214 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:10.214 | 2025-04-25 02:00:10.214 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:11.616 | 2025-04-25 02:00:11.615 - lib.adb - Detected 99.97% black pixels. Assuming HDCP is active and video is playing.
2025-04-24 22:00:11.616 | 2025-04-25 02:00:11.615 - server - Tuner: Waiting for playback start. Status: playing
2025-04-24 22:00:11.616 | 2025-04-25 02:00:11.616 - server - Tuner: Tuning completed in 3.48 seconds. Display was on, application (com.google.android.youtube.tvunplugged) was running.
2025-04-24 22:00:11.616 | 2025-04-25 02:00:11.616 - lib.adb - ADB: Closing connection - 192.168.1.204
2025-04-24 22:00:11.617 | 2025-04-25 02:00:11.616 - uvicorn.access - 192.168.65.1:38254 - "GET /stream/4/37 HTTP/1.1" 200
2025-04-24 22:00:11.625 | 2025-04-25 02:00:11.625 - root - Tuner: Stream open (attempt 1).
2025-04-24 22:00:11.748 | 2025-04-25 02:00:11.747 - httpx - HTTP Request: GET http://192.168.1.200/12.ts "HTTP/1.1 200 OK"
2025-04-24 22:00:11.830 | 2025-04-25 02:00:11.828 - server - Tuner: Waiting for playback start. Status: unknown
2025-04-24 22:00:16.133 | 2025-04-25 02:00:16.133 - lib.adb - Failed to get status from media_session.
2025-04-24 22:00:17.767 | 2025-04-25 02:00:17.767 - lib.adb - Media session playback has started.
2025-04-24 22:00:17.767 | 2025-04-25 02:00:17.767 - server - Tuner: Tuning completed in 9.5 seconds. Display was on, application (com.google.android.youtube.tvunplugged) was running.
2025-04-24 22:00:17.767 | 2025-04-25 02:00:17.767 - lib.adb - ADB: Closing connection - 192.168.1.212
2025-04-24 22:00:17.768 | 2025-04-25 02:00:17.768 - uvicorn.access - 192.168.65.1:64840 - "GET /stream/10/36 HTTP/1.1" 200
2025-04-24 22:00:17.781 | 2025-04-25 02:00:17.780 - root - Tuner: Stream open (attempt 1).
2025-04-24 22:00:17.903 | 2025-04-25 02:00:17.903 - httpx - HTTP Request: GET http://192.168.1.210/4.ts "HTTP/1.1 200 OK"
2025-04-24 22:00:17.909 | 2025-04-25 02:00:17.909 - server - http disconnect
2025-04-24 22:00:17.912 | 2025-04-25 02:00:17.912 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:17.967 | 2025-04-25 02:00:17.967 - lib.adb - ADB: Connected.
2025-04-24 22:00:17.967 | 2025-04-25 02:00:17.967 - lib.adb - ADB: 192.168.1.212 - settings list global
2025-04-24 22:00:18.079 | 2025-04-25 02:00:18.079 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 22:00:18.079 | 2025-04-25 02:00:18.079 - lib.adb - ADB: Stopping media playback.
2025-04-24 22:00:18.079 | 2025-04-25 02:00:18.079 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 22:00:18.175 | 2025-04-25 02:00:18.174 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-24 22:00:18.278 | 2025-04-25 02:00:18.277 - lib.adb - ADB: Closing connection - 192.168.1.212
2025-04-24 22:00:18.278 | 2025-04-25 02:00:18.278 - server - Released tuner ID: 10
2025-04-24 22:00:18.279 | 2025-04-25 02:00:18.278 - server - Tuner: Cleanup complete. YTTV 10 (ESPN)
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Available Tuners:
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 1 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 2 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 3 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 7 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 8 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 9 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 10 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 11 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Name: YTTV 12 Priority: 
2025-04-24 22:00:18.943 | 2025-04-25 02:00:18.943 - server - Selecting random tuner
2025-04-24 22:00:18.944 | 2025-04-25 02:00:18.943 - server - Reserved Tuner: Name: YTTV 9 Priority: 
2025-04-24 22:00:18.944 | 2025-04-25 02:00:18.944 - server - Using tuner id: 9 for stream.
2025-04-24 22:00:18.945 | 2025-04-25 02:00:18.944 - uvicorn.access - 192.168.65.1:63314 - "GET /stream/36 HTTP/1.1" 307
2025-04-24 22:00:18.951 | 2025-04-25 02:00:18.951 - server - Tuner: Tuning to ESPN on YTTV 9
2025-04-24 22:00:18.955 | 2025-04-25 02:00:18.955 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:19.018 | 2025-04-25 02:00:19.018 - lib.adb - ADB: Connected.
2025-04-24 22:00:19.018 | 2025-04-25 02:00:19.018 - lib.adb - ADB: 192.168.1.211 - settings list global
2025-04-24 22:00:19.126 | 2025-04-25 02:00:19.126 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-24 22:00:19.127 | 2025-04-25 02:00:19.126 - lib.adb - ADB: 192.168.1.211 - dumpsys display
2025-04-24 22:00:19.176 | 2025-04-25 02:00:19.176 - lib.adb - ADB: 192.168.1.211 - getprop ro.build.version.release
2025-04-24 22:00:19.210 | 2025-04-25 02:00:19.209 - lib.adb - ADB: Android Version: 12.0.
2025-04-24 22:00:19.211 | 2025-04-25 02:00:19.210 - lib.adb - ADB: 192.168.1.211 - pm list packages -3
2025-04-24 22:00:19.215 | 2025-04-25 02:00:19.214 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:19.277 | 2025-04-25 02:00:19.277 - lib.adb - ADB: 192.168.1.211 - pidof com.google.android.youtube.tvunplugged
2025-04-24 22:00:19.289 | 2025-04-25 02:00:19.288 - lib.adb - ADB: Connected.
2025-04-24 22:00:19.289 | 2025-04-25 02:00:19.288 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:19.289 | 2025-04-25 02:00:19.288 - lib.adb - ADB: 192.168.1.201 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:19.330 | 2025-04-25 02:00:19.330 - lib.adb - ADB: Stopping media playback.
2025-04-24 22:00:19.330 | 2025-04-25 02:00:19.330 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_MEDIA_STOP
2025-04-24 22:00:19.378 | 2025-04-25 02:00:19.378 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:19.440 | 2025-04-25 02:00:19.439 - root - Using https://tv.youtube.com/watch/pwrdbfRlE_E to load channel.
2025-04-24 22:00:19.440 | 2025-04-25 02:00:19.439 - lib.adb - ADB: 192.168.1.211 - am start -a android.intent.action.VIEW -d "https://tv.youtube.com/watch/pwrdbfRlE_E" com.google.android.youtube.tvunplugged
2025-04-24 22:00:19.457 | 2025-04-25 02:00:19.457 - lib.adb - ADB: Connected.
2025-04-24 22:00:19.458 | 2025-04-25 02:00:19.458 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:19.458 | 2025-04-25 02:00:19.458 - lib.adb - ADB: 192.168.1.202 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:19.564 | 2025-04-25 02:00:19.563 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:19.624 | 2025-04-25 02:00:19.622 - lib.adb - ADB: Connected.
2025-04-24 22:00:19.624 | 2025-04-25 02:00:19.623 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:19.624 | 2025-04-25 02:00:19.623 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:19.736 | 2025-04-25 02:00:19.735 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:19.788 | 2025-04-25 02:00:19.787 - lib.adb - ADB: Connected.
2025-04-24 22:00:19.790 | 2025-04-25 02:00:19.789 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:19.792 | 2025-04-25 02:00:19.791 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:19.887 | 2025-04-25 02:00:19.887 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:19.951 | 2025-04-25 02:00:19.950 - lib.adb - ADB: Connected.
2025-04-24 22:00:19.952 | 2025-04-25 02:00:19.952 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:19.952 | 2025-04-25 02:00:19.952 - lib.adb - ADB: 192.168.1.206 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:20.069 | 2025-04-25 02:00:20.068 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:20.124 | 2025-04-25 02:00:20.123 - lib.adb - ADB: Connected.
2025-04-24 22:00:20.124 | 2025-04-25 02:00:20.124 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:20.125 | 2025-04-25 02:00:20.124 - lib.adb - ADB: 192.168.1.207 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:20.214 | 2025-04-25 02:00:20.214 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:20.290 | 2025-04-25 02:00:20.288 - lib.adb - ADB: Connected.
2025-04-24 22:00:20.290 | 2025-04-25 02:00:20.288 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:20.290 | 2025-04-25 02:00:20.288 - lib.adb - ADB: 192.168.1.208 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:20.385 | 2025-04-25 02:00:20.384 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:20.441 | 2025-04-25 02:00:20.440 - lib.adb - ADB: Connected.
2025-04-24 22:00:20.442 | 2025-04-25 02:00:20.441 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:20.442 | 2025-04-25 02:00:20.441 - lib.adb - ADB: 192.168.1.209 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:20.550 | 2025-04-25 02:00:20.550 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:20.603 | 2025-04-25 02:00:20.603 - lib.adb - ADB: Connected.
2025-04-24 22:00:20.604 | 2025-04-25 02:00:20.604 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:20.604 | 2025-04-25 02:00:20.604 - lib.adb - ADB: 192.168.1.212 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:20.684 | 2025-04-25 02:00:20.684 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:20.751 | 2025-04-25 02:00:20.751 - lib.adb - ADB: Connected.
2025-04-24 22:00:20.752 | 2025-04-25 02:00:20.751 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:20.752 | 2025-04-25 02:00:20.751 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:20.857 | 2025-04-25 02:00:20.857 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:00:20.924 | 2025-04-25 02:00:20.923 - lib.adb - ADB: Connected.
2025-04-24 22:00:20.924 | 2025-04-25 02:00:20.924 - lib.adb - ADB: Sending keep alive.
2025-04-24 22:00:20.924 | 2025-04-25 02:00:20.924 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_WAKEUP
2025-04-24 22:00:22.590 | 2025-04-25 02:00:22.589 - server - Tuner: Waiting for playback start. Status: unknown
2025-04-24 22:00:26.895 | 2025-04-25 02:00:26.895 - lib.adb - Failed to get status from media_session.
2025-04-24 22:00:28.637 | 2025-04-25 02:00:28.637 - lib.adb - Media session playback has started.
2025-04-24 22:00:28.638 | 2025-04-25 02:00:28.637 - server - Tuner: Tuning completed in 9.69 seconds. Display was on, application (com.google.android.youtube.tvunplugged) was running.
2025-04-24 22:00:28.638 | 2025-04-25 02:00:28.638 - lib.adb - ADB: Closing connection - 192.168.1.211
2025-04-24 22:00:28.639 | 2025-04-25 02:00:28.639 - uvicorn.access - 192.168.65.1:63314 - "GET /stream/9/36 HTTP/1.1" 200
2025-04-24 22:00:28.651 | 2025-04-25 02:00:28.651 - root - Tuner: Stream open (attempt 1).
2025-04-24 22:00:28.773 | 2025-04-25 02:00:28.773 - httpx - HTTP Request: GET http://192.168.1.210/0.ts "HTTP/1.1 200 OK"
2025-04-24 22:14:37.787 | 2025-04-25 02:14:37.787 - server - Tuner: Playback failed.
2025-04-24 22:14:37.788 | 2025-04-25 02:14:37.788 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:14:37.789 | 2025-04-25 02:14:37.788 - server - Tuner: Playback failed.
2025-04-24 22:14:37.790 | 2025-04-25 02:14:37.790 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:14:37.853 | 2025-04-25 02:14:37.853 - server - Tuner: Playback failed.
2025-04-24 22:14:37.855 | 2025-04-25 02:14:37.855 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-24 22:14:42.792 | 2025-04-25 02:14:42.792 - lib.adb - timed out
2025-04-24 22:14:42.792 | 2025-04-25 02:14:42.792 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:42.796 | 2025-04-25 02:14:42.795 - lib.adb - timed out
2025-04-24 22:14:42.796 | 2025-04-25 02:14:42.795 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:42.861 | 2025-04-25 02:14:42.860 - lib.adb - timed out
2025-04-24 22:14:42.861 | 2025-04-25 02:14:42.861 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:43.793 | 2025-04-25 02:14:43.792 - lib.adb - ADB: Connecting to device (attempt 2).
2025-04-24 22:14:43.797 | 2025-04-25 02:14:43.796 - lib.adb - ADB: Connecting to device (attempt 2).
2025-04-24 22:14:43.862 | 2025-04-25 02:14:43.861 - lib.adb - ADB: Connecting to device (attempt 2).
2025-04-24 22:14:48.797 | 2025-04-25 02:14:48.796 - lib.adb - timed out
2025-04-24 22:14:48.797 | 2025-04-25 02:14:48.797 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:48.798 | 2025-04-25 02:14:48.797 - lib.adb - timed out
2025-04-24 22:14:48.798 | 2025-04-25 02:14:48.797 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:48.867 | 2025-04-25 02:14:48.866 - lib.adb - timed out
2025-04-24 22:14:48.867 | 2025-04-25 02:14:48.867 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:49.798 | 2025-04-25 02:14:49.797 - lib.adb - ADB: Connecting to device (attempt 3).
2025-04-24 22:14:49.799 | 2025-04-25 02:14:49.798 - lib.adb - ADB: Connecting to device (attempt 3).
2025-04-24 22:14:49.868 | 2025-04-25 02:14:49.867 - lib.adb - ADB: Connecting to device (attempt 3).
2025-04-24 22:14:54.804 | 2025-04-25 02:14:54.803 - lib.adb - timed out
2025-04-24 22:14:54.804 | 2025-04-25 02:14:54.804 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:54.805 | 2025-04-25 02:14:54.804 - lib.adb - timed out
2025-04-24 22:14:54.805 | 2025-04-25 02:14:54.805 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:54.874 | 2025-04-25 02:14:54.873 - lib.adb - timed out
2025-04-24 22:14:54.874 | 2025-04-25 02:14:54.874 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-24 22:14:55.805 | 2025-04-25 02:14:55.804 - lib.adb - ADB: Connecting to device (attempt 4).
2025-04-24 22:14:55.806 | 2025-04-25 02:14:55.805 - lib.adb - ADB: Connecting to device (attempt 4).
2025-04-24 22:14:55.875 | 2025-04-25 02:14:55.874 - lib.adb - ADB: Connecting to device (attempt 4).
2025-04-24 22:15:00.811 | 2025-04-25 02:15:00.810 - lib.adb - timed out

1 Like

@waltgrace
Thanks for sharing the log information.

ADBTuner itself seems to be running fine, but at the end the log you shared it looks like networking issues? Are you also seeing high CPU usage? Memory consumption?

Admittedly, I didn't test the keep alive feature in an environment with that many tuners. Does the situation improve if you disable that? It runs every 5 minutes and when one channel is tuned the other tuners are woken up just in case they are needed for a channel change.

@turtletank I blew away the container and deleted the image. I rebuilt it with the latest image but with my existing data store. I just ran it again and here are the logs. I am not using the keep alive feature on this deployment of adbtuner

2025-04-25 14:56:09.924 - lib.adb - ADB: Connecting to device (attempt 3).
2025-04-25 14:56:14.905 - lib.adb - timed out
2025-04-25 14:56:14.905 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:14.929 - lib.adb - timed out
2025-04-25 14:56:14.929 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:14.929 - lib.adb - timed out
2025-04-25 14:56:14.929 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:14.929 - lib.adb - timed out
2025-04-25 14:56:14.929 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:14.930 - lib.adb - timed out
2025-04-25 14:56:14.930 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:15.906 - lib.adb - ADB: Connecting to device (attempt 4).
2025-04-25 14:56:15.930 - lib.adb - ADB: Connecting to device (attempt 4).
2025-04-25 14:56:15.930 - lib.adb - ADB: Connecting to device (attempt 4).
2025-04-25 14:56:15.930 - lib.adb - ADB: Connecting to device (attempt 4).
2025-04-25 14:56:15.931 - lib.adb - ADB: Connecting to device (attempt 4).
2025-04-25 14:56:17.595 - lib.adb - [Errno 113] No route to host
2025-04-25 14:56:17.596 - lib.adb - ADB: Connection failed.
2025-04-25 14:56:17.596 - lib.adb - ADB: Connecting to device (attempt 5).
2025-04-25 14:56:17.596 - lib.adb - [Errno 113] No route to host
2025-04-25 14:56:17.596 - lib.adb - ADB: Connection failed.
2025-04-25 14:56:17.596 - lib.adb - ADB: Connecting to device (attempt 5).
2025-04-25 14:56:17.597 - lib.adb - [Errno 113] No route to host
2025-04-25 14:56:17.597 - lib.adb - ADB: Connection failed.
2025-04-25 14:56:17.597 - lib.adb - ADB: Connecting to device (attempt 5).
2025-04-25 14:56:17.597 - lib.adb - [Errno 113] No route to host
2025-04-25 14:56:17.597 - lib.adb - [Errno 113] No route to host
2025-04-25 14:56:17.597 - lib.adb - ADB: Connection failed.
2025-04-25 14:56:17.597 - lib.adb - ADB: Connecting to device (attempt 5).
2025-04-25 14:56:17.597 - lib.adb - ADB: Connection failed.
2025-04-25 14:56:17.598 - lib.adb - ADB: Connecting to device (attempt 5).
2025-04-25 14:56:20.667 - lib.adb - [Errno 113] No route to host
2025-04-25 14:56:20.667 - lib.adb - ADB: Connection failed.
2025-04-25 14:56:20.667 - lib.adb - ADB: 192.168.1.203 - settings list global
2025-04-25 14:56:20.667 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:20.667 - lib.adb - Failed to retrieve current configuration. Will not update Android device configuration.
2025-04-25 14:56:20.667 - lib.adb - ADB: Stopping media playback.
2025-04-25 14:56:20.667 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_MEDIA_STOP
2025-04-25 14:56:20.667 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:20.668 - lib.adb - ADB: 192.168.1.203 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-25 14:56:20.668 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:20.668 - lib.adb - ADB: Closing connection - 192.168.1.203
2025-04-25 14:56:20.668 - server - Released tuner ID: 3
2025-04-25 14:56:20.668 - server - Tuner: Cleanup complete. YTTV 3 (ESPNews)
2025-04-25 14:56:20.668 - server - http disconnect
2025-04-25 14:56:22.603 - lib.adb - timed out
2025-04-25 14:56:22.603 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:22.603 - lib.adb - timed out
2025-04-25 14:56:22.603 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:22.604 - lib.adb - timed out
2025-04-25 14:56:22.604 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:22.604 - lib.adb - timed out
2025-04-25 14:56:22.604 - lib.adb - ADB: Connection error. Device may be waking up. Trying again.
2025-04-25 14:56:23.604 - lib.adb - ADB: 192.168.1.204 - settings list global
2025-04-25 14:56:23.604 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.604 - lib.adb - ADB: 192.168.1.214 - settings list global
2025-04-25 14:56:23.604 - lib.adb - Failed to retrieve current configuration. Will not update Android device configuration.
2025-04-25 14:56:23.604 - lib.adb - ADB: Stopping media playback.
2025-04-25 14:56:23.604 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.604 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_MEDIA_STOP
2025-04-25 14:56:23.604 - lib.adb - Failed to retrieve current configuration. Will not update Android device configuration.
2025-04-25 14:56:23.604 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.605 - lib.adb - ADB: 192.168.1.204 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-25 14:56:23.605 - lib.adb - ADB: Stopping media playback.
2025-04-25 14:56:23.605 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.605 - lib.adb - ADB: 192.168.1.211 - settings list global
2025-04-25 14:56:23.605 - lib.adb - ADB: 192.168.1.213 - settings list global
2025-04-25 14:56:23.605 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.605 - lib.adb - Failed to retrieve current configuration. Will not update Android device configuration.
2025-04-25 14:56:23.605 - lib.adb - ADB: Closing connection - 192.168.1.204
2025-04-25 14:56:23.605 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.605 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_MEDIA_STOP
2025-04-25 14:56:23.605 - lib.adb - ADB: Stopping media playback.
2025-04-25 14:56:23.606 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_MEDIA_STOP
2025-04-25 14:56:23.606 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.606 - lib.adb - ADB: 192.168.1.213 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-25 14:56:23.606 - lib.adb - Failed to retrieve current configuration. Will not update Android device configuration.
2025-04-25 14:56:23.606 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.606 - server - Released tuner ID: 4
2025-04-25 14:56:23.606 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.607 - lib.adb - ADB: Closing connection - 192.168.1.213
2025-04-25 14:56:23.606 - lib.adb - ADB: 192.168.1.214 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-25 14:56:23.607 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.607 - server - Released tuner ID: 11
2025-04-25 14:56:23.606 - lib.adb - ADB: Stopping media playback.
2025-04-25 14:56:23.607 - lib.adb - ADB: Closing connection - 192.168.1.214
2025-04-25 14:56:23.606 - server - Tuner: Cleanup complete. YTTV 4 (ESPN2)
2025-04-25 14:56:23.607 - server - Tuner: Cleanup complete. YTTV 11 (FS1)
2025-04-25 14:56:23.607 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_MEDIA_STOP
2025-04-25 14:56:23.607 - server - Released tuner ID: 12
2025-04-25 14:56:23.607 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.608 - server - Tuner: Cleanup complete. YTTV 12 (FS2)
2025-04-25 14:56:23.608 - server - http disconnect
2025-04-25 14:56:23.608 - lib.adb - ADB: 192.168.1.211 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-25 14:56:23.608 - server - http disconnect
2025-04-25 14:56:23.608 - lib.adb - ADB: Error while running command. Check for approval popup on device.
2025-04-25 14:56:23.609 - lib.adb - ADB: Closing connection - 192.168.1.211
2025-04-25 14:56:23.609 - server - Released tuner ID: 9
2025-04-25 14:56:23.609 - server - Tuner: Cleanup complete. YTTV 9 (ESPN)
2025-04-25 14:56:23.609 - server - http disconnect

@turtletank So networking is my speciality and I've very confused by the no route to host messages. I don't see the chromecasts falling off the network and I setup some monitors for the 12 IPs to see if I see any drops. I know enough about docker to use it but I'm not familiar with troubleshooting the networking inside of it.

side note: I've spun up a new instance with the experimental branch with the keep alive turned on and youtube tv chosen as the application and it seems more stable with all the new features being utilized

Per request, I added a simple status page at http://<adbtuner ip address>:5592/up. This is available in both the stable and experimental releases.

If ADBTuner is running, and all of your android devices/endpoints are connected, it will return a HTTP 200 status, otherwise, 500. This should work well with uptime monitoring/alerting solutions (ex. Uptime Kuma).

A JSON object is included in the response with more specific information.

[
  {
    "name": "Tuner 1",
    "device_ip_address": "x.x.x.x",
    "device_connected": true,
    "streaming_endpoint": "http://x.x.x.x",
    "streaming_endpoint_connected": true
  },
  {
    "name": "Tuner 2",
    "device_ip_address": "x.x.x.x",
    "device_connected": true,
    "streaming_endpoint": "http://x.x.x.x",
    "streaming_endpoint_connected": true
  }
]

@turtletank

INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Traceback (most recent call last):
  File "/app/server.py", line 37, in <module>
    from lib.utils import IndentedJSONResponse
  File "/app/lib/utils.py", line 2, in <module>
    import orjson
ModuleNotFoundError: No module named 'orjson'
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Traceback (most recent call last):
  File "/app/server.py", line 37, in <module>
    from lib.utils import IndentedJSONResponse
  File "/app/lib/utils.py", line 2, in <module>
    import orjson
ModuleNotFoundError: No module named 'orjson'
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Traceback (most recent call last):
  File "/app/server.py", line 37, in <module>
    from lib.utils import IndentedJSONResponse
  File "/app/lib/utils.py", line 2, in <module>
    import orjson
ModuleNotFoundError: No module named 'orjson'
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
Traceback (most recent call last):
  File "/app/server.py", line 37, in <module>
    from lib.utils import IndentedJSONResponse
  File "/app/lib/utils.py", line 2, in <module>
    import orjson
ModuleNotFoundError: No module named 'orjson'
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
1 Like

Please let me know what you find. As you suggested, the problem could be in Docker's networking layer, or in the container itself.

There are definitely a few things I did in ADBTuner that might be a problem with that many connected devices. The experimental build uses a more aggressive means of closing streaming proxy connections that may be coincidentally solving your issue. Otherwise, it's basically the same as the stable build.

Thank you so much for the reporting this. A fix has been pushed.

Like the Status page

[
  {
    "name": "Remote1",
    "device_ip_address": "192.168.50.177",
    "device_connected": true,
    "streaming_endpoint": "http://192.168.50.242:8086/0.ts",
    "streaming_endpoint_connected": true
  },
  {
    "name": "Remote2",
    "device_ip_address": "192.168.50.47",
    "device_connected": true,
    "streaming_endpoint": "http://192.168.50.242:8086/2.ts",
    "streaming_endpoint_connected": true
  },
  {
    "name": "Remote3",
    "device_ip_address": "192.168.50.67",
    "device_connected": true,
    "streaming_endpoint": "http://192.168.50.242:8086/4.ts",
    "streaming_endpoint_connected": true
  },
  {
    "name": "Remote4",
    "device_ip_address": "192.168.50.37",
    "device_connected": true,
    "streaming_endpoint": "http://192.168.50.242:8086/6.ts",
    "streaming_endpoint_connected": true
  },
  {
    "name": "Remote5",
    "device_ip_address": "192.168.50.184",
    "device_connected": true,
    "streaming_endpoint": "http://192.168.50.242:8086/10.ts",
    "streaming_endpoint_connected": true
  }
]

I need to do some more testing but with the non experimental build whats interesting is I notice that it opens multiple tuners with the same channel which shouldn't happen because my channels dvr should be sharing the connection. Then I get a message that no tuners are available. So if the experimental build is being more aggressive closing connection then I wonder if that's what's fixing it. I'll try to get some more logs to review in the next couple of days. But in general the experimental build is running well.

The experimental version of ADBTuner was updated with a new feature.

If all goes well this will eventually be added to the stable build of ADBTuner, but it will always be an unsupported, advanced user kind of thing. It's not something that most users would ever need to be aware of.

Anyway, I added something that I am calling "Configurations." A Configuration is a text file that contains a JSON object where some ADBTuner specific options are defined along with the actual ADB commands that will be used to tune a channel.

The purpose of this change is to allow for custom configurations for situations where an Android application could work with ADBTuner if just a few changes could be made. For example, some apps might have an overlay on top of the video when it starts and you might need to trigger the back button or something else to clear that overlay.

These configurations can be managed at /configurations in ADBTuner.

The default configurations (Standard, Compatibility Mode) were migrated to this format and can used as examples for writing a new configuration. They are both visible at /configurations.

For example, the default configuration is as follows:

{
    "name": "Deep Links (default, recommended)",
    "author": "ADBTuner",
    "version": "1.0.0",
    "description": "Loads content via deep link URLs (where supported). Recommended for most content.",
    "uuid": "8ec77d65-30d6-46a3-8045-282571cff8d8",
    "global_options": {
        "wait_for_video_playback_detection": true,
        "use_fixed_delay": false,
        "fixed_delay_seconds": 0,
        "check_for_and_clear_whos_watching_prompts": true
    },
    "pre_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP"
    ],
    "tune_commands": [
        "am start -W -a android.intent.action.VIEW -d '||TARGET_URL_OR_IDENTIFIER||' '||TARGET_PACKAGE_NAME||'"
    ],
    "post_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP",
        "input keyevent KEYCODE_MEDIA_PAUSE"
    ]
}

So lets say you have an application that works perfectly, but it ignores the stop and pause commands so video playback never actually stops. As a workaround, you could add an extra command to always navigate to the home screen after playback is finished.

{
    "name": "Always Exit to Home Screen",
    "author": "John Doe",
    "version": "1.0",
    "description": "Example App won't stop video playback unless you actually navigate away from the application.",
    "uuid": "3dfe3fe6-6f57-490e-be7d-18e459892c7e",
    "global_options": {
        "wait_for_video_playback_detection": true,
        "use_fixed_delay": false,
        "fixed_delay_seconds": 0,
        "check_for_and_clear_whos_watching_prompts": true
    },
    "pre_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP"
    ],
    "tune_commands": [
        "am start -W -a android.intent.action.VIEW -d '||TARGET_URL_OR_IDENTIFIER||' '||TARGET_PACKAGE_NAME||'"
    ],
    "post_tune_commands": [
        "input keyevent KEYCODE_MEDIA_STOP",
        "input keyevent KEYCODE_MEDIA_PAUSE",
        "input keyevent KEYCODE_HOME"
    ]
}

And once the configuration has been added you can go back to the main ADBTuner configuration screen and select the new configuration for each channel as needed.


Some notes:

  1. UUIDs are used to identify each configuration so they obviously need to be unique.
  2. The strings ||TARGET_URL_OR_IDENTIFIER|| and ||TARGET_PACKAGE_NAME|| are replaced with the values from the fields with the same for each channel configuration.
  3. You cannot modify the default configuations. However, any custom configurations can be edited via the web interface.
  4. These custom configurations are stored as text files (.json) in .config/user_configurations.
  5. There is very little in the way of validation in the /configurations section of the web interface. It's not going to save invalid JSON and it enforces the presence of some required fields, but that's it.
  6. If you need to do something more substantial than adding/editing/removing a few ADB commands you are probably better off with something that provides a full scripting environment like ah4c.

Well I hope this helps for the few people who may need it and stays out of the way for those that don't!
Please let me know if you run into any issues.

1 Like

@turtletank I’m using hdmi usb capture, Onn 4k, and Hulu. The stream always comes up paused. It worked prior but one on the updates within the last 30 days has broken it. It is paused every time a stream is pulled up. I have tried compatiblity mode on and off, keep alive on and off with no improvement. Anything else I can try? Container logs below

2025-04-27 16:21:18.747 - server - Available Tuners:
2025-04-27 16:21:18.747 - server - Name: Onn1 Priority: 
2025-04-27 16:21:18.747 - server - Selecting random tuner
2025-04-27 16:21:18.747 - server - Reserved Tuner: Name: Onn1 Priority: 
2025-04-27 16:21:18.747 - server - Using tuner id: 1 for stream.
2025-04-27 16:21:18.748 - uvicorn.access - 192.168.1.152:39356 - "GET /stream/1 HTTP/1.1" 307
2025-04-27 16:21:18.748 - server - Tuner: Tuning to The Weather Channel on Onn1
2025-04-27 16:21:18.748 - server - Tuner: Using channel configuration: Deep Links (default, recommended) (8ec77d65-30d6-46a3-2025-282571cff8d8)
2025-04-27 16:21:18.749 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-27 16:21:18.888 - lib.adb - ADB: Connected.
2025-04-27 16:21:18.888 - lib.adb - ADB: 192.168.1.166 - settings list global
2025-04-27 16:21:18.955 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-27 16:21:18.955 - lib.adb - ADB: 192.168.1.166 - dumpsys display
2025-04-27 16:21:19.049 - lib.adb - ADB: 192.168.1.166 - getprop ro.build.version.release
2025-04-27 16:21:19.087 - lib.adb - ADB: Android Version: 12.0.
2025-04-27 16:21:19.087 - lib.adb - ADB: 192.168.1.166 - pm list packages -3
2025-04-27 16:21:19.157 - lib.adb - ADB: 192.168.1.166 - pidof com.hulu.livingroomplus
2025-04-27 16:21:19.218 - root - Using https://www.hulu.com/watch/the-weather-channel-f75ab9a3-c9bf-41e0-wxyz-70fbf3235633 to load channel.
2025-04-27 16:21:19.218 - lib.adb - ADB: 192.168.1.166 - input keyevent KEYCODE_MEDIA_STOP
2025-04-27 16:21:19.291 - lib.adb - ADB: 192.168.1.166 - am start -W -a android.intent.action.VIEW -d 'https://www.hulu.com/watch/the-weather-channel-f75ab9a3-c9bf-41e0-wxyz-70fbf3235633' 'com.hulu.livingroomplus'
2025-04-27 16:21:20.964 - server - Tuner: Waiting for playback start. Status: stopped
2025-04-27 16:21:23.240 - server - Tuner: Waiting for playback start. Status: stopped
2025-04-27 16:21:25.541 - server - Tuner: Waiting for playback start. Status: stopped
2025-04-27 16:21:27.834 - server - Tuner: Waiting for playback start. Status: stopped
2025-04-27 16:21:29.954 - lib.adb - Detected 99.91% black pixels. Assuming HDCP is active and video is playing.
2025-04-27 16:21:29.954 - server - Tuner: Tuning completed in 11.21 seconds. Display was on, application (com.hulu.livingroomplus) was running.
2025-04-27 16:21:29.954 - lib.adb - ADB: Closing connection - 192.168.1.166
2025-04-27 16:21:29.954 - uvicorn.access - 192.168.1.152:39356 - "GET /stream/1/1 HTTP/1.1" 200
2025-04-27 16:21:29.957 - server - Tuner: Stream open (attempt 1).
2025-04-27 16:21:29.958 - httpx - HTTP Request: GET http://192.168.1.152:8089/devices/M3U-usbhdmi/channels/201/stream.mpg?format=ts "HTTP/1.1 200 OK"
2025-04-27 16:21:51.687 - server - Tuner: Client disconnected.
2025-04-27 16:21:51.687 - server - Tuner: Stream complete. Endpoint disconnected.
2025-04-27 16:21:51.688 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-27 16:21:51.720 - lib.adb - ADB: Connected.
2025-04-27 16:21:51.720 - lib.adb - ADB: 192.168.1.166 - settings list global
2025-04-27 16:21:51.795 - root - adb_allowed_connection_time=0, adb_enabled=1, adb_wifi_enabled=0
2025-04-27 16:21:51.795 - lib.adb - ADB: 192.168.1.166 - input keyevent KEYCODE_MEDIA_STOP
2025-04-27 16:21:51.871 - lib.adb - ADB: 192.168.1.166 - input keyevent KEYCODE_MEDIA_PAUSE
2025-04-27 16:21:52.009 - server - Released tuner ID: 1
2025-04-27 16:21:52.009 - server - Tuner: Cleanup complete. Onn1 (The Weather Channel)
2025-04-27 16:23:08.935 - server - Performing keep alive tasks.
2025-04-27 16:23:08.936 - lib.adb - ADB: Connecting to device (attempt 1).
2025-04-27 16:23:09.447 - lib.adb - ADB: Connected.
2025-04-27 16:23:09.447 - lib.adb - ADB: Sending keep alive.
2025-04-27 16:23:09.447 - lib.adb - ADB: 192.168.1.166 - input keyevent KEYCODE_WAKEUP
2025-04-27 16:23:09.517 - server - Reserved Tuner for maintenance: Name: Onn1
2025-04-27 16:23:09.517 - lib.adb - ADB: Preparing com.hulu.livingroomplus for future tuning operations.
2025-04-27 16:23:09.517 - lib.adb - ADB: 192.168.1.166 - pm list packages -3
2025-04-27 16:23:09.724 - server - Released tuner ID: 1