AndroidHDMI for Channels (ah4c): A virtual channel tuner using HDMI Encoder(s) + streaming stick(s)

If someone figured out how to turn on CC in that bridge, that would be fantastic. All my test wells have come up dry so far.

Curious why these android boxes lose ADB key connection? Happens once every couple weeks and I have to re-allow ADB with the prompts on the screen. Usually i have to update the stack and then the ADB prompts come up again so i can allow:

2024/05/22 17:42:35 [EXECUTE] Stderr: '+ streamerIP=10.10.10.163:5555
+ streamerNoPort=10.10.10.163
+ adbTarget='adb -s 10.10.10.163:5555'
+ mkdir -p 10.10.10.163
+ trap finish EXIT
+ main
+ adbConnect
+ adb connect 10.10.10.163:5555
+ local -i adbMaxRetries=3
+ local -i adbCounter=0
+ true
+ adb -s 10.10.10.163:5555 shell input keyevent KEYCODE_WAKEUP
adb: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
+ local adbEventSuccess=1
+ [[ 1 -eq 0 ]]
+ (( 0 > 3 ))
+ (( adbCounter++ ))

I have not seen this with ah4c, although I have with ADBTuner. You're using ah4c with Ospreys and the @spammedeeper scripts -- is that right?

I have only had to re-allow ABD on AH4C on the Osprey setup twice. First was when a major update to Android came through. Second was after my docker upgrade where I accidentally cleared the keys. Otherwise stable.

I’ve had to auth ABD many times on ADBTuner. But I’m using Chromecasts and they get more frequent updates.

Anybody working on an updated channel list for DTV Streaming channels? With the death of Paramount and the new 4000 series channels, I've been adding to my Osprey setup. It took some time to find the callsign / station-ids for the 4000 channels that I wanted.

BTW, this setup has been flawless for 2 months now. Thanks to @spammedeeper for all the work!
I plan on adding more Ospreys soon as I select another encoder...

Since you say you are looking at a new encoder, might I recommend you give LinkPi a look? I’m running the five port ENC5 V2 and it has been great.

Little lost here. Set up an Osprey, set up Portainer and I think I got the stacks running right. I am not sure how to enable developer mode on the Osprey, or what is needed to be changed on the Osprey. I did look up how to get into Developer Mode, but I think it's changed from what I had read on Reddit as that thread was over 2 years old and could not find much new on it.
I set everything up and go to scrpy and see this.

image

Not sure where the 5555 port is coming in.

Any help would be muich appreciated!

@krazijoe To enable Developer Options on the Osprey:

  1. From the Home Screen, far left icons, go to SETTINGS at bottom of list.
  2. Scroll down and select SYSTEM. This brings up standard Android Settings (silly double naming).
  3. Select DEVICE PREFERENCES
  4. Select ABOUT
  5. Scroll to Android TV OS build
  6. Tap OK on remote 10 times. You will see message dev mode enabled.
  7. Go back to DEVICE PREFERENCES (one menu back from ABOUT menu).
  8. Scroll down to DEVELOPER OPTIONS
  9. Scroll to USB debugging and turn to "on"

As to port 5555, that is the standard listening port for ADB server running on the Android device, once you turn on USB Debugging :slight_smile:

1 Like

OK,Got all that set up and now getting this error.

2024/06/26 20:30:28.605814 [ERR] Failed to start stream for ch50331: M3U: Get "http://10.1.1.201:5037/play/tuner/271": dial tcp 10.1.1.201:5037: connect: connection refused
2024/06/26 20:30:28.605891 [HLS] Couldn't generate stream playlist for ch50331-dANY-ip10.1.1.205: M3U: Get "http://10.1.1.201:5037/play/tuner/271": dial tcp 10.1.1.201:5037: connect: connection refused
2024/06/26 20:30:28.605946 [HLS] Stopping transcoder session ch50331-dANY-ip10.1.1.205 (out=0s finished=false first_seq=0 last_seq=-1)

version: '3.9'
services:
  ah4c:
    image: bnhf/ah4c:latest
    container_name: ah4c
    hostname: ah4c
    dns_search: localdomain # Specify the name of your LAN's domain, usually local or localdomain
    ports:
      - 5037:5037 # Port used by adb-server
      - 7654:7654 # Port used by this androidhdmi-for-channels proxy
      - 7655:8000 # Port used by ws-scrcpy
    environment:
      - IPADDRESS=${IPADDRESS} # Hostname or IP address of this androidhdmi-for-channels extension to be used in M3U file (also add port number if not in M3U)
      - NUMBER_TUNERS=${NUMBER_TUNERS} # Number of tuners you'd like defined 1, 2, 3 or 4 supported
      - TUNER1_IP=${TUNER1_IP} # Streaming device #1 with adb port in the form hostname:port or ip:port
      #- TUNER2_IP=${TUNER2_IP} # Streaming device #2 with adb port in the form hostname:port or ip:port
      #- TUNER3_IP=${TUNER3_IP} # Streaming device #3 with adb port in the form hostname:port or ip:port
      #- TUNER4_IP=${TUNER4_IP} # Streaming device #4 with adb port in the form hostname:port or ip:port
      - ENCODER1_URL=${ENCODER1_URL} # Full URL for tuner #1 in the form http://hostname/stream or http://ip/stream
      #- ENCODER2_URL=${ENCODER2_URL} # Full URL for tuner #2 in the form http://hostname/stream or http://ip/stream
      #- ENCODER3_URL=${ENCODER3_URL} # Full URL for tuner #3 in the form http://hostname/stream or http://ip/stream
      #- ENCODER4_URL=${ENCODER4_URL} # Full URL for tuner #4 in the form http://hostname/stream or http://ip/stream
      - STREAMER_APP=${STREAMER_APP} # Streaming device name and streaming app you're using in the form scripts/streamer/app (use lowercase with slashes between as shown)
      - CHANNELSIP=${CHANNELSIP} # Hostname or IP address of the Channels DVR server itself
      #- ALERT_SMTP_SERVER="smtp.gmail.com:587"
      #- ALERT_AUTH_SERVER="smtp.gmail.com"
      #- ALERT_EMAIL_FROM=""
      #- ALERT_EMAIL_PASS=""
      #- ALERT_EMAIL_TO=""
      #- ALERT_WEBHOOK_URL=""
      #- UPDATE_SCRIPTS=${UPDATE_SCRIPTS} # Set to true if you'd like the sample scripts and STREAMER_APP scripts updated whether they exist of not
      #- UPDATE_M3US=${UPDATE_M3US} # Set to true if you'd like the sample m3us updated whether they exist of not
      - TZ=${TZ} # Your local timezone in Linux "tz" format
    volumes:
      - /data/ah4c/scripts:/opt/scripts # pre/stop/bmitune.sh scripts will be stored in this bound host directory under streamer/app
      - /data/ah4c/m3u:/opt/m3u # m3u files will be stored here and hosted at http://<hostname or ip>:7654/m3u for use in Channels DVR - Custom Channels settings
      - /data/ah4c/adb:/root/.android # Persistent data directory for adb keys
    restart: unless-stopped

Confirm ADB Auth

Looks like your Osprey is not authorized for ADB access for AH4C. Start by having the Osprey display visible. You can start a the stream in VLC media player or have it attached to a TV or Monitor. Restart the AH4C container. When prompted on screen, you should see something like this pop up on the Osprey:

image

With the remote, select the "Always allow..." check box, and then hit ALLOW.

Now this may be a problem if your AH4C setup can't find the Osprey, so please check the next section.

Check your Compose Settings

I'm not on Portainer, so I had to write the compose myself. Your settings look like they may need some updates. Here is how mine setup is defined and some possible fixes (don't know all variables for your setup).

  1. CHANNELSIP - This is the IP address of your Channesl DVR Server. Just the IP, no http or port.

  2. IPADDRESS - The IP to the AH4C Container. For me this is IP address of the server with the port number of AH4C. Example: 10.1.1.201:7654

  3. TUNER1_IP - IP address and ADB port number of your Osprey streaming device. Example: 10.1.1.250:5555

Yeah, I did allow it. I even went in and revoked them and added them back...Grrrrr...Not sure where to look. Just not sure what I am missing.

Log is showing this

2024/06/26 21:00:05 [START] ah4c is starting
2024/06/26 21:00:05 [ENV] Not loading env
2024/06/26 21:00:05 [ENV] IPADDRESS 10.1.1.201:5037
2024/06/26 21:00:05 [ENV] ALERT_SMTP_SERVER
2024/06/26 21:00:05 [ENV] ALERT_AUTH_SERVER
2024/06/26 21:00:05 [ENV] ALERT_EMAIL_FROM
2024/06/26 21:00:05 [ENV] ALERT_EMAIL_PASS
2024/06/26 21:00:05 [ENV] ALERT_EMAIL_TO
2024/06/26 21:00:05 [ENV] ALERT_WEBHOOK_URL
2024/06/26 21:00:05 [ENV] ALLOW_DEBUG_VIDEO_PREVIEW
2024/06/26 21:00:05 [ENV] Creating tuner 1
2024/06/26 21:00:05 [ENV] ENCODER1_URL http://10.1.1.212/0.ts
2024/06/26 21:00:05 [ENV] TUNER1_IP 10.1.1.250:5555
2024/06/26 21:00:05 [ENV] CMD1
2024/06/26 21:00:05 [ENV] TEECMD1
2024/06/26 21:00:05 [ENV] PRE SCRIPT ./scripts/osprey/directv/prebmitune.sh
2024/06/26 21:00:05 [ENV] START SCRIPT ./scripts/osprey/directv/bmitune.sh
2024/06/26 21:00:05 [ENV] STOP SCRIPT ./scripts/osprey/directv/stopbmitune.sh
2024/06/26 21:00:05 [ENV] REBOOT SCRIPT ./scripts/osprey/directv/reboot.sh
2024/06/26 21:00:05 [START] ah4c is ready
2024/06/26 21:02:38 [GIN-debug] Request: 10.1.1.205 GET /m3u, latency: 450ns, status: 404
2024/06/26 21:02:44 [GIN-debug] Request: 10.1.1.205 GET /m3us, latency: 703.154µs, status: 200
2024/06/26 21:02:49 [GIN-debug] Request: 10.1.1.205 GET /editm3u/dtvosprey.m3u, latency: 1.764641ms, status: 200
2024/06/26 21:03:05 [GIN-debug] Request: 10.1.1.205 GET /editm3u/livetv.m3u, latency: 1.251167ms, status: 200
2024/06/26 21:03:16 [GIN-debug] Request: 10.1.1.205 GET /editm3u/dtvstream.m3u, latency: 4.740069ms, status: 200
2024/06/26 21:03:40 [GIN-debug] Request: 10.1.1.205 GET /editm3u/dtvosprey.m3u, latency: 2.275684ms, status: 200
2024/06/26 21:04:13 [GIN-debug] Request: 10.1.1.205 GET /editm3u/dtvstream.m3u, latency: 4.387316ms, status: 200
2024/06/26 21:05:15 [GIN-debug] Request: 10.1.1.205 GET /editm3u/dtvosprey.m3u, latency: 2.948387ms, status: 200
2024/06/26 21:05:21 [GIN-debug] Request: 10.1.1.205 POST /m3usave/dtvosprey.m3u, latency: 1.251478ms, status: 200
2024/06/26 21:05:28 [GIN-debug] Request: 10.1.1.201 GET /m3u/dtvosprey.m3u, latency: 8.936512ms, status: 200
2024/06/26 21:05:28 [GIN-debug] Request: 10.1.1.201 GET /m3u/dtvosprey.m3u, latency: 8.297969ms, status: 200
2024/06/26 21:05:33 [GIN-debug] Request: 10.1.1.201 GET /m3u/dtvosprey.m3u, latency: 7.102282ms, status: 200
2024/06/26 21:08:57 [GIN-debug] Request: 10.1.1.205 GET /, latency: 1.360938ms, status: 200
2024/06/26 21:08:59 [GIN-debug] Request: 10.1.1.205 GET /status/andlogs, latency: 1.239757ms, status: 200
2024/06/26 21:08:59 [GIN-debug] Request: 10.1.1.205 GET /status, latency: 1.609929ms, status: 200
2024/06/26 21:08:59 [GIN-debug] Request: 10.1.1.205 GET /logs?notime, latency: 1.279207ms, status: 200
2024/06/26 21:09:43 [GIN-debug] Request: 10.1.1.205 GET /status, latency: 1.649009ms, status: 200
2024/06/26 21:09:48 [GIN-debug] Request: 10.1.1.205 GET /logs, latency: 889.405µs, status: 200
2024/06/26 21:09:54 [GIN-debug] Request: 10.1.1.205 GET /m3us, latency: 2.268652ms, status: 200
2024/06/26 21:09:56 [GIN-debug] Request: 10.1.1.205 GET /editm3u/dtvosprey.m3u, latency: 2.720315ms, status: 200
2024/06/26 21:10:55 [GIN-debug] Request: 10.1.1.205 GET /, latency: 1.768069ms, status: 200
2024/06/26 21:19:17 [START] ah4c is starting
2024/06/26 21:19:17 [ENV] Not loading env
2024/06/26 21:19:17 [ENV] IPADDRESS 10.1.1.201:5037
2024/06/26 21:19:17 [ENV] ALERT_SMTP_SERVER
2024/06/26 21:19:17 [ENV] ALERT_AUTH_SERVER
2024/06/26 21:19:17 [ENV] ALERT_EMAIL_FROM
2024/06/26 21:19:17 [ENV] ALERT_EMAIL_PASS
2024/06/26 21:19:17 [ENV] ALERT_EMAIL_TO
2024/06/26 21:19:17 [ENV] ALERT_WEBHOOK_URL
2024/06/26 21:19:17 [ENV] ALLOW_DEBUG_VIDEO_PREVIEW
2024/06/26 21:19:17 [ENV] Creating tuner 1
2024/06/26 21:19:17 [ENV] ENCODER1_URL http://10.1.1.212/0.ts
2024/06/26 21:19:17 [ENV] TUNER1_IP 10.1.1.250:5555
2024/06/26 21:19:17 [ENV] CMD1
2024/06/26 21:19:17 [ENV] TEECMD1
2024/06/26 21:19:17 [ENV] PRE SCRIPT ./scripts/osprey/directv/prebmitune.sh
2024/06/26 21:19:17 [ENV] START SCRIPT ./scripts/osprey/directv/bmitune.sh
2024/06/26 21:19:17 [ENV] STOP SCRIPT ./scripts/osprey/directv/stopbmitune.sh
2024/06/26 21:19:17 [ENV] REBOOT SCRIPT ./scripts/osprey/directv/reboot.sh
2024/06/26 21:19:17 [START] ah4c is ready
2024/06/26 21:20:50 [START] ah4c is starting
2024/06/26 21:20:50 [ENV] Not loading env
2024/06/26 21:20:50 [ENV] IPADDRESS 10.1.1.201:5037
2024/06/26 21:20:50 [ENV] ALERT_SMTP_SERVER
2024/06/26 21:20:50 [ENV] ALERT_AUTH_SERVER
2024/06/26 21:20:50 [ENV] ALERT_EMAIL_FROM
2024/06/26 21:20:50 [ENV] ALERT_EMAIL_PASS
2024/06/26 21:20:50 [ENV] ALERT_EMAIL_TO
2024/06/26 21:20:50 [ENV] ALERT_WEBHOOK_URL
2024/06/26 21:20:50 [ENV] ALLOW_DEBUG_VIDEO_PREVIEW
2024/06/26 21:20:50 [ENV] Creating tuner 1
2024/06/26 21:20:50 [ENV] ENCODER1_URL http://10.1.1.212/0.ts
2024/06/26 21:20:50 [ENV] TUNER1_IP 10.1.1.250:5555
2024/06/26 21:20:50 [ENV] CMD1
2024/06/26 21:20:50 [ENV] TEECMD1
2024/06/26 21:20:50 [ENV] PRE SCRIPT ./scripts/osprey/directv/prebmitune.sh
2024/06/26 21:20:50 [ENV] START SCRIPT ./scripts/osprey/directv/bmitune.sh
2024/06/26 21:20:50 [ENV] STOP SCRIPT ./scripts/osprey/directv/stopbmitune.sh
2024/06/26 21:20:50 [ENV] REBOOT SCRIPT ./scripts/osprey/directv/reboot.sh
2024/06/26 21:20:50 [START] ah4c is ready
2024/06/26 21:21:54 [START] ah4c is starting
2024/06/26 21:21:54 [ENV] Not loading env
2024/06/26 21:21:54 [ENV] IPADDRESS 10.1.1.201:5037
2024/06/26 21:21:54 [ENV] ALERT_SMTP_SERVER
2024/06/26 21:21:54 [ENV] ALERT_AUTH_SERVER
2024/06/26 21:21:54 [ENV] ALERT_EMAIL_FROM
2024/06/26 21:21:54 [ENV] ALERT_EMAIL_PASS
2024/06/26 21:21:54 [ENV] ALERT_EMAIL_TO
2024/06/26 21:21:54 [ENV] ALERT_WEBHOOK_URL
2024/06/26 21:21:54 [ENV] ALLOW_DEBUG_VIDEO_PREVIEW
2024/06/26 21:21:54 [ENV] Creating tuner 1
2024/06/26 21:21:54 [ENV] ENCODER1_URL http://10.1.1.212/0.ts
2024/06/26 21:21:54 [ENV] TUNER1_IP 10.1.1.250:5555
2024/06/26 21:21:54 [ENV] CMD1
2024/06/26 21:21:54 [ENV] TEECMD1
2024/06/26 21:21:54 [ENV] PRE SCRIPT ./scripts/osprey/directv/prebmitune.sh
2024/06/26 21:21:54 [ENV] START SCRIPT ./scripts/osprey/directv/bmitune.sh
2024/06/26 21:21:54 [ENV] STOP SCRIPT ./scripts/osprey/directv/stopbmitune.sh
2024/06/26 21:21:54 [ENV] REBOOT SCRIPT ./scripts/osprey/directv/reboot.sh
2024/06/26 21:21:54 [START] ah4c is ready
2024/06/26 21:22:40 [GIN-debug] Request: 10.1.1.201 GET /m3u/dtvosprey.m3u, latency: 7.777455ms, status: 200
2024/06/26 21:27:02 [GIN-debug] Request: 10.1.1.201 GET /m3u/dtvosprey.m3u, latency: 7.21726ms, status: 200
2024/06/26 21:27:02 [GIN-debug] Request: 10.1.1.201 GET /m3u/dtvosprey.m3u, latency: 6.178386ms, status: 200
2024/06/26 21:30:09 [GIN-debug] Request: 10.1.1.205 GET /logs, latency: 1.408965ms, status: 200

No idea where to look. It's like the Osprey is not getting the commands. I see the video in my encoder. I see it with scrpy. Shrug

Are you on the Channels DVR Discord Server?

No, but I figuredf it out, had the wrong port for IP Address. Now I have a new problem!

2024/06/26 21:48:50 [START] ah4c is starting
2024/06/26 21:48:50 [ENV] Not loading env
2024/06/26 21:48:50 [ENV] IPADDRESS 10.1.1.201:7654
2024/06/26 21:48:50 [ENV] ALERT_SMTP_SERVER
2024/06/26 21:48:50 [ENV] ALERT_AUTH_SERVER
2024/06/26 21:48:50 [ENV] ALERT_EMAIL_FROM
2024/06/26 21:48:50 [ENV] ALERT_EMAIL_PASS
2024/06/26 21:48:50 [ENV] ALERT_EMAIL_TO
2024/06/26 21:48:50 [ENV] ALERT_WEBHOOK_URL
2024/06/26 21:48:50 [ENV] ALLOW_DEBUG_VIDEO_PREVIEW
2024/06/26 21:48:50 [ENV] Creating tuner 1
2024/06/26 21:48:50 [ENV] ENCODER1_URL http://10.1.1.212/0.ts
2024/06/26 21:48:50 [ENV] TUNER1_IP 10.1.1.250:5555
2024/06/26 21:48:50 [ENV] CMD1
2024/06/26 21:48:50 [ENV] TEECMD1
2024/06/26 21:48:50 [ENV] PRE SCRIPT ./scripts/osprey/directv/prebmitune.sh
2024/06/26 21:48:50 [ENV] START SCRIPT ./scripts/osprey/directv/bmitune.sh
2024/06/26 21:48:50 [ENV] STOP SCRIPT ./scripts/osprey/directv/stopbmitune.sh
2024/06/26 21:48:50 [ENV] REBOOT SCRIPT ./scripts/osprey/directv/reboot.sh
2024/06/26 21:48:50 [START] ah4c is ready
2024/06/26 21:49:24 [GIN-debug] Request: 10.1.1.201 GET /m3u/dtvosprey.m3u, latency: 7.103828ms, status: 200
2024/06/26 21:49:24 [GIN-debug] Request: 10.1.1.201 GET /m3u/dtvosprey.m3u, latency: 6.734347ms, status: 200
2024/06/26 21:51:34 Attempting network tune for device http://10.1.1.212/0.ts 10.1.1.250:5555 282
2024/06/26 21:51:35 [EXECUTE] Running [./scripts/osprey/directv/prebmitune.sh 10.1.1.250:5555 282]
2024/06/26 21:51:41 [EXECUTE] Stdout: 'already connected to 10.1.1.250:5555
Waking 10.1.1.250:5555
prebmitune.sh is exiting for 10.1.1.250:5555 with exit code 0
'
2024/06/26 21:51:41 [EXECUTE] Stderr: '+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ mkdir -p 10.1.1.250
+ trap finish EXIT
+ main
+ adbConnect
+ adb connect 10.1.1.250:5555
+ local -i adbMaxRetries=3
+ local -i adbCounter=0
+ true
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break
+ adbWake
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_WAKEUP
+ sleep 2
+ echo 'Waking 10.1.1.250:5555'
+ touch 10.1.1.250/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 10.1.1.250:5555 with exit code 0'
'
2024/06/26 21:51:41 [EXECUTE] Finished running ./scripts/osprey/directv/prebmitune.sh in 6.222075635s
2024/06/26 21:51:41 [EXECUTE] Running [./scripts/osprey/directv/bmitune.sh 282 10.1.1.250:5555]
2024/06/26 21:51:41 [IO] io.Copy: write tcp 172.19.0.2:7654->10.1.1.201:51432: write: broken pipe
2024/06/26 21:51:41 [IOINFO] Successfully copied 32768 bytes
2024/06/26 21:51:41 [IOINFO] Transfer speed: 636.5329467669991 Mbits/second
2024/06/26 21:51:41 Performing Close() for 10.1.1.250:5555
2024/06/26 21:51:41 [EXECUTE] Running [./scripts/osprey/directv/stopbmitune.sh 10.1.1.250:5555 282]
2024/06/26 21:51:42 Tuner 0 is active - skipping
2024/06/26 21:51:42 [ERR] Failed to tune device(s) not available
2024/06/26 21:51:42 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 81.7µs, status: 500
2024/06/26 21:51:43 Tuner 0 is active - skipping
2024/06/26 21:51:43 [ERR] Failed to tune device(s) not available
2024/06/26 21:51:43 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 79.33µs, status: 500
2024/06/26 21:51:44 [EXECUTE] Stdout: 'Sleep initiated for 10.1.1.250:5555
10.1.1.250/stream_stopped written with epoch stop time
'
2024/06/26 21:51:44 [EXECUTE] Stderr: '+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ main
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 10.1.1.250:5555'
+ date +%s
+ echo '10.1.1.250/stream_stopped written with epoch stop time'
'
2024/06/26 21:51:44 [EXECUTE] Finished running ./scripts/osprey/directv/stopbmitune.sh in 3.395580449s
2024/06/26 21:51:44 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 9.669318163s, status: 200
2024/06/26 21:51:44 [EXECUTE] Stdout: 'bmitune.sh is exiting for 10.1.1.250:5555 with exit code 0
'
2024/06/26 21:51:44 [EXECUTE] Stderr: '+ channelID='"282"'
+ specialID=282
+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ m3uName=directv.m3u
+ trap finish EXIT
+ main
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://10.1.1.212/0.ts
+ tuneChannel
+ adb -s 10.1.1.250:5555 shell input text '"282"'
+ finish
+ echo 'bmitune.sh is exiting for 10.1.1.250:5555 with exit code 0'
'
2024/06/26 21:51:44 [EXECUTE] Finished running ./scripts/osprey/directv/bmitune.sh in 3.429306293s
2024/06/26 21:51:45 Attempting network tune for device http://10.1.1.212/0.ts 10.1.1.250:5555 282
2024/06/26 21:51:45 [EXECUTE] Running [./scripts/osprey/directv/prebmitune.sh 10.1.1.250:5555 282]
2024/06/26 21:51:55 [EXECUTE] Stdout: 'already connected to 10.1.1.250:5555
Waking 10.1.1.250:5555
prebmitune.sh is exiting for 10.1.1.250:5555 with exit code 0
'
2024/06/26 21:51:55 [EXECUTE] Stderr: '+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ mkdir -p 10.1.1.250
+ trap finish EXIT
+ main
+ adbConnect
+ adb connect 10.1.1.250:5555
+ local -i adbMaxRetries=3
+ local -i adbCounter=0
+ true
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break
+ adbWake
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_WAKEUP
+ sleep 2
+ echo 'Waking 10.1.1.250:5555'
+ touch 10.1.1.250/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 10.1.1.250:5555 with exit code 0'
'
2024/06/26 21:51:55 [EXECUTE] Finished running ./scripts/osprey/directv/prebmitune.sh in 9.285851648s
2024/06/26 21:51:55 [EXECUTE] Running [./scripts/osprey/directv/bmitune.sh 282 10.1.1.250:5555]
2024/06/26 21:51:55 [IO] io.Copy: write tcp 172.19.0.2:7654->10.1.1.201:34862: write: broken pipe
2024/06/26 21:51:55 [IOINFO] Successfully copied 32768 bytes
2024/06/26 21:51:55 [IOINFO] Transfer speed: 1390.6769725359547 Mbits/second
2024/06/26 21:51:55 Performing Close() for 10.1.1.250:5555
2024/06/26 21:51:55 [EXECUTE] Running [./scripts/osprey/directv/stopbmitune.sh 10.1.1.250:5555 282]
2024/06/26 21:51:55 Tuner 0 is active - skipping
2024/06/26 21:51:55 [ERR] Failed to tune device(s) not available
2024/06/26 21:51:55 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 77.03µs, status: 500
2024/06/26 21:51:57 Tuner 0 is active - skipping
2024/06/26 21:51:57 [ERR] Failed to tune device(s) not available
2024/06/26 21:51:57 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 70.001µs, status: 500
2024/06/26 21:51:58 Tuner 0 is active - skipping
2024/06/26 21:51:58 [ERR] Failed to tune device(s) not available
2024/06/26 21:51:58 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 111.311µs, status: 500
2024/06/26 21:51:59 [EXECUTE] Stdout: 'Sleep initiated for 10.1.1.250:5555
10.1.1.250/stream_stopped written with epoch stop time
'
2024/06/26 21:51:59 [EXECUTE] Stderr: '+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ main
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 10.1.1.250:5555'
+ date +%s
+ echo '10.1.1.250/stream_stopped written with epoch stop time'
'
2024/06/26 21:51:59 [EXECUTE] Finished running ./scripts/osprey/directv/stopbmitune.sh in 4.373067834s
2024/06/26 21:51:59 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 13.710329049s, status: 200
2024/06/26 21:52:00 Attempting network tune for device http://10.1.1.212/0.ts 10.1.1.250:5555 282
2024/06/26 21:52:00 [EXECUTE] Running [./scripts/osprey/directv/prebmitune.sh 10.1.1.250:5555 282]
2024/06/26 21:52:05 [EXECUTE] Stdout: 'bmitune.sh is exiting for 10.1.1.250:5555 with exit code 0
'
2024/06/26 21:52:05 [EXECUTE] Stderr: '+ channelID='"282"'
+ specialID=282
+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ m3uName=directv.m3u
+ trap finish EXIT
+ main
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://10.1.1.212/0.ts
+ tuneChannel
+ adb -s 10.1.1.250:5555 shell input text '"282"'
+ finish
+ echo 'bmitune.sh is exiting for 10.1.1.250:5555 with exit code 0'
'
2024/06/26 21:52:05 [EXECUTE] Finished running ./scripts/osprey/directv/bmitune.sh in 10.584172476s
2024/06/26 21:52:10 [EXECUTE] Stdout: 'already connected to 10.1.1.250:5555
Waking 10.1.1.250:5555
prebmitune.sh is exiting for 10.1.1.250:5555 with exit code 0
'
2024/06/26 21:52:10 [EXECUTE] Stderr: '+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ mkdir -p 10.1.1.250
+ trap finish EXIT
+ main
+ adbConnect
+ adb connect 10.1.1.250:5555
+ local -i adbMaxRetries=3
+ local -i adbCounter=0
+ true
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break
+ adbWake
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_WAKEUP
+ sleep 2
+ echo 'Waking 10.1.1.250:5555'
+ touch 10.1.1.250/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 10.1.1.250:5555 with exit code 0'
'
2024/06/26 21:52:10 [EXECUTE] Finished running ./scripts/osprey/directv/prebmitune.sh in 9.768874788s
2024/06/26 21:52:10 [EXECUTE] Running [./scripts/osprey/directv/bmitune.sh 282 10.1.1.250:5555]
2024/06/26 21:52:10 [IO] io.Copy: write tcp 172.19.0.2:7654->10.1.1.201:58246: write: broken pipe
2024/06/26 21:52:10 [IOINFO] Successfully copied 32768 bytes
2024/06/26 21:52:10 [IOINFO] Transfer speed: 1292.4320859833358 Mbits/second
2024/06/26 21:52:10 Performing Close() for 10.1.1.250:5555
2024/06/26 21:52:10 [EXECUTE] Running [./scripts/osprey/directv/stopbmitune.sh 10.1.1.250:5555 282]
2024/06/26 21:52:11 Tuner 0 is active - skipping
2024/06/26 21:52:11 [ERR] Failed to tune device(s) not available
2024/06/26 21:52:11 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 100.27µs, status: 500
2024/06/26 21:52:14 [EXECUTE] Stdout: 'Sleep initiated for 10.1.1.250:5555
10.1.1.250/stream_stopped written with epoch stop time
'
2024/06/26 21:52:14 [EXECUTE] Stderr: '+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ main
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 10.1.1.250:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 10.1.1.250:5555'
+ date +%s
+ echo '10.1.1.250/stream_stopped written with epoch stop time'
'
2024/06/26 21:52:14 [EXECUTE] Finished running ./scripts/osprey/directv/stopbmitune.sh in 3.290835137s
2024/06/26 21:52:14 [GIN-debug] Request: 10.1.1.201 GET /play/tuner/282, latency: 13.110779872s, status: 200
2024/06/26 21:52:20 [EXECUTE] Stdout: 'bmitune.sh is exiting for 10.1.1.250:5555 with exit code 0
'
2024/06/26 21:52:20 [EXECUTE] Stderr: '+ channelID='"282"'
+ specialID=282
+ streamerIP=10.1.1.250:5555
+ streamerNoPort=10.1.1.250
+ adbTarget='adb -s 10.1.1.250:5555'
+ m3uName=directv.m3u
+ trap finish EXIT
+ main
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://10.1.1.212/0.ts
+ tuneChannel
+ adb -s 10.1.1.250:5555 shell input text '"282"'
+ finish
+ echo 'bmitune.sh is exiting for 10.1.1.250:5555 with exit code 0'
'
2024/06/26 21:52:20 [EXECUTE] Finished running ./scripts/osprey/directv/bmitune.sh in 9.290796608s
2024/06/26 21:54:12 [GIN-debug] Request: 10.1.1.205 GET /logs, latency: 1.166605ms, status: 200
1 Like

Figured it out...Playing around I changed it from MPEG-TS to HLS and didn't set it back. It' s working now...Thanks for your help.
Anyway to play the East Coast feed if I am on the west coast?

Glad you got it working!!

The feed you get is based on your home IP address and billing ZIP code.

Thank You for your help. Now I can record NBC and VICE again! Much appreciated!

Happy to help. Been running with the Ospreys for about 7 months or so. Works really well. Make sure you give props to @bnhf and @KompilerDJ for their great work, I just wrote some scripts.

Will do. Now I gotta update the m3us for my location.

Little confused as to where all the files are stored. Looking for the M3U's as I want to change the appearance of the channels and sort by channel number and no alphabetized.
I went with the defaults on the install and installed via Portainer on a Generic Unraid system (no changes from the default)

added the 4000 channels I have access to for DirecTV Stream:

#EXTM3U
#EXTINF:-1 channel-id="3" tvc-guide-stationid="19611",CBS-KYW
http://{{ .IPADDRESS }}/play/tuner/3
#EXTINF:-1 channel-id="6" tvc-guide-stationid="19612",ABC-WPVI
http://{{ .IPADDRESS }}/play/tuner/6
#EXTINF:-1 channel-id="10" tvc-guide-stationid="19613",NBC-WCAU
http://{{ .IPADDRESS }}/play/tuner/10
#EXTINF:-1 channel-id="12" tvc-guide-stationid="24114",PBS-WHYY
http://{{ .IPADDRESS }}/play/tuner/12
#EXTINF:-1 channel-id="17" tvc-guide-stationid="32619",CW-WPHL
http://{{ .IPADDRESS }}/play/tuner/17
#EXTINF:-1 channel-id="23" tvc-guide-stationid="43689",PBS-WNJS
http://{{ .IPADDRESS }}/play/tuner/23
#EXTINF:-1 channel-id="29" tvc-guide-stationid="19614",FOX-WTXF-TV
http://{{ .IPADDRESS }}/play/tuner/29
#EXTINF:-1 channel-id="39" tvc-guide-stationid="24783",PBS-WLVT
http://{{ .IPADDRESS }}/play/tuner/39
#EXTINF:-1 channel-id="57" tvc-guide-stationid="34628",WPSG
http://{{ .IPADDRESS }}/play/tuner/57
#EXTINF:-1 channel-id="2" tvc-guide-stationid="10760",FOX-KTVU
http://{{ .IPADDRESS }}/play/tuner/2
#EXTINF:-1 channel-id="4" tvc-guide-stationid="10672",CW-KRON
http://{{ .IPADDRESS }}/play/tuner/4
#EXTINF:-1 channel-id="5" tvc-guide-stationid="10641",CBS-KPIX
http://{{ .IPADDRESS }}/play/tuner/5
#EXTINF:-1 channel-id="7" tvc-guide-stationid="10479",ABC-KGO
http://{{ .IPADDRESS }}/play/tuner/7
#EXTINF:-1 channel-id="9" tvc-guide-stationid="10653",PBS-KQED
http://{{ .IPADDRESS }}/play/tuner/9
#EXTINF:-1 channel-id="11" tvc-guide-stationid="10600",NBC-KNTV
http://{{ .IPADDRESS }}/play/tuner/11
#EXTINF:-1 channel-id="14" tvc-guide-stationid="10418",Univision-KDTV
http://{{ .IPADDRESS }}/play/tuner/14
#EXTINF:-1 channel-id="22" tvc-guide-stationid="10657",PBS-KRCB
http://{{ .IPADDRESS }}/play/tuner/22
#EXTINF:-1 channel-id="36" tvc-guide-stationid="10507",KICU
http://{{ .IPADDRESS }}/play/tuner/36
#EXTINF:-1 channel-id="44" tvc-guide-stationid="10345",KPYX
http://{{ .IPADDRESS }}/play/tuner/44
#EXTINF:-1 channel-id="48" tvc-guide-stationid="10703",TMO-KSTS
http://{{ .IPADDRESS }}/play/tuner/48
#EXTINF:-1 channel-id="77" tvc-guide-stationid="70436",MeTV
http://{{ .IPADDRESS }}/play/tuner/77
#EXTINF:-1 channel-id="80" tvc-guide-stationid="78851",Cozi TV
http://{{ .IPADDRESS }}/play/tuner/80
#EXTINF:-1 channel-id="81" tvc-guide-stationid="89922",GRIT
http://{{ .IPADDRESS }}/play/tuner/81
#EXTINF:-1 channel-id="82" tvc-guide-stationid="73067",BounceTV
http://{{ .IPADDRESS }}/play/tuner/82
#EXTINF:-1 channel-id="83" tvc-guide-stationid="82563",GET
#EXTINF:-1 channel-id="202" tvc-guide-stationid="58646",CNNHD
http://{{ .IPADDRESS }}/play/tuner/202
#EXTINF:-1 channel-id="204" tvc-guide-stationid="10145",HLN
http://{{ .IPADDRESS }}/play/tuner/204
#EXTINF:-1 channel-id="206" tvc-guide-stationid="32645",ESPN HD
http://{{ .IPADDRESS }}/play/tuner/206
#EXTINF:-1 channel-id="207" tvc-guide-stationid="16485",ESPNEWS
http://{{ .IPADDRESS }}/play/tuner/207
#EXTINF:-1 channel-id="208" tvc-guide-stationid="60696",ESPNU HD
http://{{ .IPADDRESS }}/play/tuner/208
#EXTINF:-1 channel-id="209" tvc-guide-stationid="45507",ESPN2 HD
http://{{ .IPADDRESS }}/play/tuner/209
#EXTINF:-1 channel-id="211" tvc-guide-stationid="65025",NFL Red Zone
http://{{ .IPADDRESS }}/play/tuner/211
#EXTINF:-1 channel-id="212" tvc-guide-stationid="45399",NFL Network
http://{{ .IPADDRESS }}/play/tuner/212
#EXTINF:-1 channel-id="213" tvc-guide-stationid="62081",MLB Network
http://{{ .IPADDRESS }}/play/tuner/213
#EXTINF:-1 channel-id="213A" tvc-guide-stationid="62085",MLB Network Alternate
http://{{ .IPADDRESS }}/play/tuner/213A
#EXTINF:-1 channel-id="215" tvc-guide-stationid="58690",NHL Network HD
http://{{ .IPADDRESS }}/play/tuner/215
#EXTINF:-1 channel-id="216" tvc-guide-stationid="45526",NBA TV
http://{{ .IPADDRESS }}/play/tuner/216
#EXTINF:-1 channel-id="217" tvc-guide-stationid="60316",Tennis Channel HD
http://{{ .IPADDRESS }}/play/tuner/217
#EXTINF:-1 channel-id="218" tvc-guide-stationid="61854",Golf Channel
http://{{ .IPADDRESS }}/play/tuner/218
#EXTINF:-1 channel-id="219" tvc-guide-stationid="82547",FOX Sports 1
http://{{ .IPADDRESS }}/play/tuner/219
#EXTINF:-1 channel-id="221" tvc-guide-stationid="59250",CBS Sports Network HD
http://{{ .IPADDRESS }}/play/tuner/221
#EXTINF:-1 channel-id="226" tvc-guide-stationid="56032",Shop LC
http://{{ .IPADDRESS }}/play/tuner/226
#EXTINF:-1 channel-id="229" tvc-guide-stationid="14902",HGTV
http://{{ .IPADDRESS }}/play/tuner/229
#EXTINF:-1 channel-id="230" tvc-guide-stationid="67375",Magnolia Network
http://{{ .IPADDRESS }}/play/tuner/230
#EXTINF:-1 channel-id="231" tvc-guide-stationid="50747",Food Network
http://{{ .IPADDRESS }}/play/tuner/231
#EXTINF:-1 channel-id="232" tvc-guide-stationid="68065",Cooking Channel
http://{{ .IPADDRESS }}/play/tuner/232
#EXTINF:-1 channel-id="233" tvc-guide-stationid="68827",GSN HD
http://{{ .IPADDRESS }}/play/tuner/233
#EXTINF:-1 channel-id="235" tvc-guide-stationid="107076",Tastemade
http://{{ .IPADDRESS }}/play/tuner/235
#EXTINF:-1 channel-id="236" tvc-guide-stationid="61812",E HD
http://{{ .IPADDRESS }}/play/tuner/236
#EXTINF:-1 channel-id="237" tvc-guide-stationid="58625",Bravo
http://{{ .IPADDRESS }}/play/tuner/237
#EXTINF:-1 channel-id="238" tvc-guide-stationid="68385",ReelzChannel HD
http://{{ .IPADDRESS }}/play/tuner/238
#EXTINF:-1 channel-id="239" tvc-guide-stationid="71280",Sundance TV
http://{{ .IPADDRESS }}/play/tuner/239
#EXTINF:-1 channel-id="240" tvc-guide-stationid="62077",HSN HD
http://{{ .IPADDRESS }}/play/tuner/240
#EXTINF:-1 channel-id="241" tvc-guide-stationid="59186",Paramount TV
http://{{ .IPADDRESS }}/play/tuner/241
#EXTINF:-1 channel-id="242" tvc-guide-stationid="58452",USA Network
http://{{ .IPADDRESS }}/play/tuner/242
#EXTINF:-1 channel-id="244" tvc-guide-stationid="58623",Syfy HD
http://{{ .IPADDRESS }}/play/tuner/244
#EXTINF:-1 channel-id="245" tvc-guide-stationid="42642",TNT HD
http://{{ .IPADDRESS }}/play/tuner/245
#EXTINF:-1 channel-id="246" tvc-guide-stationid="64490",truTV HD
http://{{ .IPADDRESS }}/play/tuner/246
#EXTINF:-1 channel-id="247" tvc-guide-stationid="58515",TBS HD
http://{{ .IPADDRESS }}/play/tuner/247
#EXTINF:-1 channel-id="248" tvc-guide-stationid="58574",FX HD
http://{{ .IPADDRESS }}/play/tuner/248
#EXTINF:-1 channel-id="249" tvc-guide-stationid="62420",Comedy Central
http://{{ .IPADDRESS }}/play/tuner/249
#EXTINF:-1 channel-id="251" tvc-guide-stationid="70522",Oxygen True Crime
http://{{ .IPADDRESS }}/play/tuner/251
#EXTINF:-1 channel-id="252" tvc-guide-stationid="60150",Lifetime
http://{{ .IPADDRESS }}/play/tuner/252
#EXTINF:-1 channel-id="253" tvc-guide-stationid="55887",LMN HD
http://{{ .IPADDRESS }}/play/tuner/253
#EXTINF:-1 channel-id="254" tvc-guide-stationid="59337",AMC HD
http://{{ .IPADDRESS }}/play/tuner/254
#EXTINF:-1 channel-id="256" tvc-guide-stationid="64312",TCM HD
http://{{ .IPADDRESS }}/play/tuner/256
#EXTINF:-1 channel-id="258" tvc-guide-stationid="70253",FX Movie Channel
http://{{ .IPADDRESS }}/play/tuner/258
#EXTINF:-1 channel-id="259" tvc-guide-stationid="66379",FXX HD
http://{{ .IPADDRESS }}/play/tuner/259
#EXTINF:-1 channel-id="260" tvc-guide-stationid="59296",WE TV
http://{{ .IPADDRESS }}/play/tuner/260
#EXTINF:-1 channel-id="261" tvc-guide-stationid="16125",Discovery Life
http://{{ .IPADDRESS }}/play/tuner/261
#EXTINF:-1 channel-id="264" tvc-guide-stationid="64492",BBC America
http://{{ .IPADDRESS }}/play/tuner/264
#EXTINF:-1 channel-id="265" tvc-guide-stationid="51529",A&E HD
http://{{ .IPADDRESS }}/play/tuner/265
#EXTINF:-1 channel-id="266" tvc-guide-stationid="58988",FYI HD
http://{{ .IPADDRESS }}/play/tuner/266
#EXTINF:-1 channel-id="267" tvc-guide-stationid="126128",EarthxTV
http://{{ .IPADDRESS }}/play/tuner/267
#EXTINF:-1 channel-id="269" tvc-guide-stationid="57708",HISTORY
http://{{ .IPADDRESS }}/play/tuner/269
#EXTINF:-1 channel-id="271" tvc-guide-stationid="65732",VICE HD
http://{{ .IPADDRESS }}/play/tuner/271
#EXTINF:-1 channel-id="272" tvc-guide-stationid="46762",LOGO HD
http://{{ .IPADDRESS }}/play/tuner/272
#EXTINF:-1 channel-id="273" tvc-guide-stationid="68796",POP HD
http://{{ .IPADDRESS }}/play/tuner/273
#EXTINF:-1 channel-id="274" tvc-guide-stationid="69061",Ovation HD
http://{{ .IPADDRESS }}/play/tuner/274
#EXTINF:-1 channel-id="275" tvc-guide-stationid="60222",QVC HD
http://{{ .IPADDRESS }}/play/tuner/275
#EXTINF:-1 channel-id="276" tvc-guide-stationid="49438",National Geographic Channel
http://{{ .IPADDRESS }}/play/tuner/276
#EXTINF:-1 channel-id="277" tvc-guide-stationid="59303",Travel Channel
http://{{ .IPADDRESS }}/play/tuner/277
#EXTINF:-1 channel-id="278" tvc-guide-stationid="56905",DSC HD
http://{{ .IPADDRESS }}/play/tuner/278
#EXTINF:-1 channel-id="279" tvc-guide-stationid="70388",OWN HD
http://{{ .IPADDRESS }}/play/tuner/279
#EXTINF:-1 channel-id="280" tvc-guide-stationid="57391",TLC HD
http://{{ .IPADDRESS }}/play/tuner/280
#EXTINF:-1 channel-id="281" tvc-guide-stationid="31046",MotorTrend
http://{{ .IPADDRESS }}/play/tuner/281
#EXTINF:-1 channel-id="282" tvc-guide-stationid="57394",Animal Planet
http://{{ .IPADDRESS }}/play/tuner/282
#EXTINF:-1 channel-id="283" tvc-guide-stationid="67331",Nat Geo WILD
http://{{ .IPADDRESS }}/play/tuner/283
#EXTINF:-1 channel-id="284" tvc-guide-stationid="57390",Science
http://{{ .IPADDRESS }}/play/tuner/284
#EXTINF:-1 channel-id="285" tvc-guide-stationid="65342",Investigation Discovery
http://{{ .IPADDRESS }}/play/tuner/285
#EXTINF:-1 channel-id="286" tvc-guide-stationid="60468",Destination America HD
http://{{ .IPADDRESS }}/play/tuner/286
#EXTINF:-1 channel-id="287" tvc-guide-stationid="78808",American Heroes
http://{{ .IPADDRESS }}/play/tuner/287
#EXTINF:-1 channel-id="289" tvc-guide-stationid="74885",Disney Junior HD
http://{{ .IPADDRESS }}/play/tuner/289
#EXTINF:-1 channel-id="290" tvc-guide-stationid="59684",Disney Channel HD
http://{{ .IPADDRESS }}/play/tuner/290
#EXTINF:-1 channel-id="292" tvc-guide-stationid="60006",Disney XD HD
http://{{ .IPADDRESS }}/play/tuner/292
#EXTINF:-1 channel-id="293" tvc-guide-stationid="50338",Baby First HD
http://{{ .IPADDRESS }}/play/tuner/293
#EXTINF:-1 channel-id="294" tvc-guide-stationid="67749",Discovery Family Channel
http://{{ .IPADDRESS }}/play/tuner/294
#EXTINF:-1 channel-id="295" tvc-guide-stationid="70225",Universal Kids
http://{{ .IPADDRESS }}/play/tuner/295
#EXTINF:-1 channel-id="296" tvc-guide-stationid="60048",Cartoon Network
http://{{ .IPADDRESS }}/play/tuner/296
#EXTINF:-1 channel-id="298" tvc-guide-stationid="21883",BOOM
http://{{ .IPADDRESS }}/play/tuner/298
#EXTINF:-1 channel-id="299" tvc-guide-stationid="59432",Nickelodeon
http://{{ .IPADDRESS }}/play/tuner/299
#EXTINF:-1 channel-id="301" tvc-guide-stationid="82649",Nick Jr. HD
http://{{ .IPADDRESS }}/play/tuner/301
#EXTINF:-1 channel-id="302" tvc-guide-stationid="30420",Nicktoons
http://{{ .IPADDRESS }}/play/tuner/302
#EXTINF:-1 channel-id="303" tvc-guide-stationid="59036",TeenNick
http://{{ .IPADDRESS }}/play/tuner/303
#EXTINF:-1 channel-id="304" tvc-guide-stationid="73541",TV Land
http://{{ .IPADDRESS }}/play/tuner/304
#EXTINF:-1 channel-id="305" tvc-guide-stationid="76894",ION
http://{{ .IPADDRESS }}/play/tuner/305
#EXTINF:-1 channel-id="307" tvc-guide-stationid="91096",NewsNation
http://{{ .IPADDRESS }}/play/tuner/307
#EXTINF:-1 channel-id="311" tvc-guide-stationid="59615",Freeform HD
http://{{ .IPADDRESS }}/play/tuner/311
#EXTINF:-1 channel-id="312" tvc-guide-stationid="66268",Hallmark Channel
http://{{ .IPADDRESS }}/play/tuner/312
#EXTINF:-1 channel-id="313" tvc-guide-stationid="16604",Jewelry TV
http://{{ .IPADDRESS }}/play/tuner/313
#EXTINF:-1 channel-id="314" tvc-guide-stationid="122068",Family Movie Classics
http://{{ .IPADDRESS }}/play/tuner/314
#EXTINF:-1 channel-id="315" tvc-guide-stationid="82682",QVC2
http://{{ .IPADDRESS }}/play/tuner/315
#EXTINF:-1 channel-id="318" tvc-guide-stationid="101260",QVC3
http://{{ .IPADDRESS }}/play/tuner/318
#EXTINF:-1 channel-id="320" tvc-guide-stationid="102490",Scientology Network
http://{{ .IPADDRESS }}/play/tuner/320
#EXTINF:-1 channel-id="326" tvc-guide-stationid="82892",Great American Family
http://{{ .IPADDRESS }}/play/tuner/326
#EXTINF:-1 channel-id="327" tvc-guide-stationid="10138",CMT
http://{{ .IPADDRESS }}/play/tuner/327
#EXTINF:-1 channel-id="328" tvc-guide-stationid="61960",TV One
http://{{ .IPADDRESS }}/play/tuner/328
#EXTINF:-1 channel-id="329" tvc-guide-stationid="63236",BET HD
http://{{ .IPADDRESS }}/play/tuner/329
#EXTINF:-1 channel-id="330" tvc-guide-stationid="14897",BHER
http://{{ .IPADDRESS }}/play/tuner/330
#EXTINF:-1 channel-id="331" tvc-guide-stationid="60964",MTV HD
http://{{ .IPADDRESS }}/play/tuner/331
#EXTINF:-1 channel-id="332" tvc-guide-stationid="75077",MTV2 HD
http://{{ .IPADDRESS }}/play/tuner/332
#EXTINF:-1 channel-id="333" tvc-guide-stationid="59444",IFC HD
http://{{ .IPADDRESS }}/play/tuner/333
#EXTINF:-1 channel-id="335" tvc-guide-stationid="60046",VH1 HD
http://{{ .IPADDRESS }}/play/tuner/335
#EXTINF:-1 channel-id="336" tvc-guide-stationid="22561",MTVClassic
http://{{ .IPADDRESS }}/play/tuner/336
#EXTINF:-1 channel-id="338" tvc-guide-stationid="44940",UPTV
http://{{ .IPADDRESS }}/play/tuner/338
#EXTINF:-1 channel-id="339" tvc-guide-stationid="59116",Fuse HD
http://{{ .IPADDRESS }}/play/tuner/339
#EXTINF:-1 channel-id="340" tvc-guide-stationid="28506",AXSTV
http://{{ .IPADDRESS }}/play/tuner/340
#EXTINF:-1 channel-id="341" tvc-guide-stationid="110289",Cleo TV
http://{{ .IPADDRESS }}/play/tuner/341
#EXTINF:-1 channel-id="342" tvc-guide-stationid="132272",theGrio
http://{{ .IPADDRESS }}/play/tuner/342
#EXTINF:-1 channel-id="345" tvc-guide-stationid="63717",RFD-TV
http://{{ .IPADDRESS }}/play/tuner/345
#EXTINF:-1 channel-id="346" tvc-guide-stationid="89690",BBC News
http://{{ .IPADDRESS }}/play/tuner/346
#EXTINF:-1 channel-id="347" tvc-guide-stationid="114934",The First
http://{{ .IPADDRESS }}/play/tuner/347
#EXTINF:-1 channel-id="349" tvc-guide-stationid="97163",Newsmax TV
http://{{ .IPADDRESS }}/play/tuner/349
#EXTINF:-1 channel-id="350" tvc-guide-stationid="10161",C-SPAN
http://{{ .IPADDRESS }}/play/tuner/350
#EXTINF:-1 channel-id="351" tvc-guide-stationid="10162",C-SPAN2
http://{{ .IPADDRESS }}/play/tuner/351
#EXTINF:-1 channel-id="353" tvc-guide-stationid="71799",Bloomberg TV
http://{{ .IPADDRESS }}/play/tuner/353
#EXTINF:-1 channel-id="354" tvc-guide-stationid="109333",Cheddar News
http://{{ .IPADDRESS }}/play/tuner/354
#EXTINF:-1 channel-id="355" tvc-guide-stationid="58780",CNBC HD
http://{{ .IPADDRESS }}/play/tuner/355
#EXTINF:-1 channel-id="356" tvc-guide-stationid="64241",MSNBC
http://{{ .IPADDRESS }}/play/tuner/356
#EXTINF:-1 channel-id="357" tvc-guide-stationid="26849",CNBC World
http://{{ .IPADDRESS }}/play/tuner/357
#EXTINF:-1 channel-id="358" tvc-guide-stationid="10146",CNNi HD
http://{{ .IPADDRESS }}/play/tuner/358
#EXTINF:-1 channel-id="359" tvc-guide-stationid="58718",Fox Business Network
http://{{ .IPADDRESS }}/play/tuner/359
#EXTINF:-1 channel-id="360" tvc-guide-stationid="60179",Fox News Channel
http://{{ .IPADDRESS }}/play/tuner/360
#EXTINF:-1 channel-id="361" tvc-guide-stationid="91994",AccuWeather
http://{{ .IPADDRESS }}/play/tuner/361
#EXTINF:-1 channel-id="362" tvc-guide-stationid="58812",The Weather Channel HD
http://{{ .IPADDRESS }}/play/tuner/362
#EXTINF:-1 channel-id="369" tvc-guide-stationid="87001",Daystar HD
http://{{ .IPADDRESS }}/play/tuner/369
#EXTINF:-1 channel-id="381" tvc-guide-stationid="97409",Aspire HD
http://{{ .IPADDRESS }}/play/tuner/381
#EXTINF:-1 channel-id="382" tvc-guide-stationid="82470",Comedy TV
http://{{ .IPADDRESS }}/play/tuner/382
#EXTINF:-1 channel-id="383" tvc-guide-stationid="78850",Justice Central HD
http://{{ .IPADDRESS }}/play/tuner/383
#EXTINF:-1 channel-id="384" tvc-guide-stationid="83098",Revolt HD
http://{{ .IPADDRESS }}/play/tuner/384
#EXTINF:-1 channel-id="385" tvc-guide-stationid="110477",Heroes & Icons
http://{{ .IPADDRESS }}/play/tuner/385
#EXTINF:-1 channel-id="386" tvc-guide-stationid="72094",FM HD
http://{{ .IPADDRESS }}/play/tuner/386
#EXTINF:-1 channel-id="402" tvc-guide-stationid="68049",Univision
http://{{ .IPADDRESS }}/play/tuner/402
#EXTINF:-1 channel-id="404" tvc-guide-stationid="68367",Galavision
http://{{ .IPADDRESS }}/play/tuner/404
#EXTINF:-1 channel-id="408" tvc-guide-stationid="68040",UniMas
http://{{ .IPADDRESS }}/play/tuner/408
#EXTINF:-1 channel-id="410" tvc-guide-stationid="91588",UNIVERSO
http://{{ .IPADDRESS }}/play/tuner/410
#EXTINF:-1 channel-id="464" tvc-guide-stationid="77033",TUDN HD
http://{{ .IPADDRESS }}/play/tuner/464
#EXTINF:-1 channel-id="501" tvc-guide-stationid="19548",HBO East
http://{{ .IPADDRESS }}/play/tuner/501
#EXTINF:-1 channel-id="502" tvc-guide-stationid="59368",HBO2 HD East
http://{{ .IPADDRESS }}/play/tuner/502
#EXTINF:-1 channel-id="503" tvc-guide-stationid="59363",HBO Signature
http://{{ .IPADDRESS }}/play/tuner/503
#EXTINF:-1 channel-id="504" tvc-guide-stationid="19566",HBO West HD
http://{{ .IPADDRESS }}/play/tuner/504
#EXTINF:-1 channel-id="505" tvc-guide-stationid="59368",HBO2 West HD
http://{{ .IPADDRESS }}/play/tuner/505
#EXTINF:-1 channel-id="506" tvc-guide-stationid="59839",HBOCHD
http://{{ .IPADDRESS }}/play/tuner/506
#EXTINF:-1 channel-id="507" tvc-guide-stationid="59357",HBO Family East
http://{{ .IPADDRESS }}/play/tuner/507
#EXTINF:-1 channel-id="509" tvc-guide-stationid="59845",HBO Zone HD
http://{{ .IPADDRESS }}/play/tuner/509
#EXTINF:-1 channel-id="511" tvc-guide-stationid="59837",HBO Latino
http://{{ .IPADDRESS }}/play/tuner/511
#EXTINF:-1 channel-id="535" tvc-guide-stationid="36225",STARZ ENCORE East
http://{{ .IPADDRESS }}/play/tuner/535
#EXTINF:-1 channel-id="536" tvc-guide-stationid="17125",STARZ ENCORE West
http://{{ .IPADDRESS }}/play/tuner/536
#EXTINF:-1 channel-id="537" tvc-guide-stationid="14764",STARZ ENCORE Classic
http://{{ .IPADDRESS }}/play/tuner/537
#EXTINF:-1 channel-id="538" tvc-guide-stationid="102906",STARZ ENCORE Westerns
http://{{ .IPADDRESS }}/play/tuner/538
#EXTINF:-1 channel-id="539" tvc-guide-stationid="14766",STARZ ENCORE Suspense
http://{{ .IPADDRESS }}/play/tuner/539
#EXTINF:-1 channel-id="540" tvc-guide-stationid="14870",STARZ ENCORE Black
http://{{ .IPADDRESS }}/play/tuner/540
#EXTINF:-1 channel-id="541" tvc-guide-stationid="72015",STARZ ENCORE Action
http://{{ .IPADDRESS }}/play/tuner/541
#EXTINF:-1 channel-id="542" tvc-guide-stationid="102903",STARZ ENCORE Family
http://{{ .IPADDRESS }}/play/tuner/542
#EXTINF:-1 channel-id="558" tvc-guide-stationid="65687",MGM+
http://{{ .IPADDRESS }}/play/tuner/558
#EXTINF:-1 channel-id="559" tvc-guide-stationid="67929",MGM+ HITS
http://{{ .IPADDRESS }}/play/tuner/559
#EXTINF:-1 channel-id="560" tvc-guide-stationid="74073",MGM+ MARQUEE
http://{{ .IPADDRESS }}/play/tuner/560
#EXTINF:-1 channel-id="565" tvc-guide-stationid="46710",Hallmark Mystery
http://{{ .IPADDRESS }}/play/tuner/565
#EXTINF:-1 channel-id="566" tvc-guide-stationid="33668",HDNM
http://{{ .IPADDRESS }}/play/tuner/566
#EXTINF:-1 channel-id="570" tvc-guide-stationid="58532",Smithsonian Channel HD
http://{{ .IPADDRESS }}/play/tuner/570
#EXTINF:-1 channel-id="573" tvc-guide-stationid="67454",Shorts TV HD
http://{{ .IPADDRESS }}/play/tuner/573
#EXTINF:-1 channel-id="602" tvc-guide-stationid="21345",FanDuel TV
http://{{ .IPADDRESS }}/play/tuner/602
#EXTINF:-1 channel-id="604" tvc-guide-stationid="60111",Pursuit Channel
http://{{ .IPADDRESS }}/play/tuner/604
#EXTINF:-1 channel-id="605" tvc-guide-stationid="33930",Sportsman Channel
http://{{ .IPADDRESS }}/play/tuner/605
#EXTINF:-1 channel-id="611" tvc-guide-stationid="89714",SEC Network
http://{{ .IPADDRESS }}/play/tuner/611
#EXTINF:-1 channel-id="612" tvc-guide-stationid="111871",ACC Network
http://{{ .IPADDRESS }}/play/tuner/612
#EXTINF:-1 channel-id="618" tvc-guide-stationid="59305",FOX Sports 2
http://{{ .IPADDRESS }}/play/tuner/618
#EXTINF:-1 channel-id="4009" tvc-guide-stationid="96827",SCNEWS
http://{{ .IPADDRESS }}/play/tuner/4009
#EXTINF:-1 channel-id="4012" tvc-guide-stationid="137575",TIME
http://{{ .IPADDRESS }}/play/tuner/4012
#EXTINF:-1 channel-id="4021" tvc-guide-stationid="147894",YAHOOFS
http://{{ .IPADDRESS }}/play/tuner/4021
#EXTINF:-1 channel-id="4105" tvc-guide-stationid="112732",SPORTSGRID
http://{{ .IPADDRESS }}/play/tuner/4105
#EXTINF:-1 channel-id="4110" tvc-guide-stationid="124313",FUELFUB
http://{{ .IPADDRESS }}/play/tuner/4110
#EXTINF:-1 channel-id="4120" tvc-guide-stationid="124817",ORIGIN SPORTS
http://{{ .IPADDRESS }}/play/tuner/4120
#EXTINF:-1 channel-id="4125" tvc-guide-stationid="124636",WSN
http://{{ .IPADDRESS }}/play/tuner/4125
#EXTINF:-1 channel-id="4140" tvc-guide-stationid="124268",PKGFAST
http://{{ .IPADDRESS }}/play/tuner/4140
#EXTINF:-1 channel-id="4191" tvc-guide-stationid="123515",POWERNATION
http://{{ .IPADDRESS }}/play/tuner/4191
#EXTINF:-1 channel-id="4192" tvc-guide-stationid="124630",RA
http://{{ .IPADDRESS }}/play/tuner/4192
#EXTINF:-1 channel-id="4209" tvc-guide-stationid="135378",HerSphere
http://{{ .IPADDRESS }}/play/tuner/4209
#EXTINF:-1 channel-id="4219" tvc-guide-stationid="114491",Bob Ross Channel
http://{{ .IPADDRESS }}/play/tuner/4219
#EXTINF:-1 channel-id="4229" tvc-guide-stationid="124328",El Rey Rebel
http://{{ .IPADDRESS }}/play/tuner/4229
#EXTINF:-1 channel-id="4230" tvc-guide-stationid="123605",Court TV
http://{{ .IPADDRESS }}/play/tuner/4230
#EXTINF:-1 channel-id="4255" tvc-guide-stationid="119233",Nosey
http://{{ .IPADDRESS }}/play/tuner/4255
#EXTINF:-1 channel-id="4305" tvc-guide-stationid="115447",Comedy Dynamics
http://{{ .IPADDRESS }}/play/tuner/4305
#EXTINF:-1 channel-id="4321" tvc-guide-stationid="125128",AGRMGT
http://{{ .IPADDRESS }}/play/tuner/4321
#EXTINF:-1 channel-id="4322" tvc-guide-stationid="120377",AWTYSTR
http://{{ .IPADDRESS }}/play/tuner/4322
#EXTINF:-1 channel-id="4346" tvc-guide-stationid="147688",DOG
http://{{ .IPADDRESS }}/play/tuner/4346
#EXTINF:-1 channel-id="4358" tvc-guide-stationid="120351",Tastemade Travel
http://{{ .IPADDRESS }}/play/tuner/4358
#EXTINF:-1 channel-id="4359" tvc-guide-stationid="125187",Tastemade Home
http://{{ .IPADDRESS }}/play/tuner/4359
#EXTINF:-1 channel-id="4365" tvc-guide-stationid="118087",The Design Network
http://{{ .IPADDRESS }}/play/tuner/4365
#EXTINF:-1 channel-id="4370" tvc-guide-stationid="149441",MeatEater
http://{{ .IPADDRESS }}/play/tuner/4370
#EXTINF:-1 channel-id="4401" tvc-guide-stationid="119212",FOX SOUL
http://{{ .IPADDRESS }}/play/tuner/4401
#EXTINF:-1 channel-id="4404" tvc-guide-stationid="146144",Ebony TV
http://{{ .IPADDRESS }}/play/tuner/4404
#EXTINF:-1 channel-id="4416" tvc-guide-stationid="110480",Dove TV
http://{{ .IPADDRESS }}/play/tuner/4416
#EXTINF:-1 channel-id="4490" tvc-guide-stationid="112881",Alien Nation
http://{{ .IPADDRESS }}/play/tuner/4490
#EXTINF:-1 channel-id="4501" tvc-guide-stationid="115944",MovieSphere
http://{{ .IPADDRESS }}/play/tuner/4501
#EXTINF:-1 channel-id="exit" tvc-guide-stationid="",Exit DirecTV
http://{{ .IPADDRESS }}/play/tuner/exit
#EXTINF:-1 channel-id="reboot" tvc-guide-stationid="",Reboot FireTV
http://{{ .IPADDRESS }}/play/tuner/reboot
1 Like