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

I can't seem to post the portainer log
This is the AH4C log


Last updated: 3/17/2025, 7:37:59 AM
2025/03/17 07:01:42 [START] ah4c is starting
2025/03/17 07:01:42 [ENV] Not loading env
2025/03/17 07:01:42 [ENV] IPADDRESS 192.168.4.35:7654
2025/03/17 07:01:42 [ENV] ALERT_SMTP_SERVER
2025/03/17 07:01:42 [ENV] ALERT_AUTH_SERVER
2025/03/17 07:01:42 [ENV] ALERT_EMAIL_FROM
2025/03/17 07:01:42 [ENV] ALERT_EMAIL_PASS
2025/03/17 07:01:42 [ENV] ALERT_EMAIL_TO
2025/03/17 07:01:42 [ENV] ALERT_WEBHOOK_URL
2025/03/17 07:01:42 [ENV] ALLOW_DEBUG_VIDEO_PREVIEW
2025/03/17 07:01:42 [ENV] Creating tuner 1
2025/03/17 07:01:42 [ENV] ENCODER1_URL http://192.168.4.89:81/ts/1_0
2025/03/17 07:01:42 [ENV] TUNER1_IP 192.168.4.225:5555
2025/03/17 07:01:42 [ENV] CMD1
2025/03/17 07:01:42 [ENV] TEECMD1
2025/03/17 07:01:42 [ENV] PRE SCRIPT ./scripts/firetv/dtvstream/prebmitune.sh
2025/03/17 07:01:42 [ENV] START SCRIPT ./scripts/firetv/dtvstream/bmitune.sh
2025/03/17 07:01:42 [ENV] STOP SCRIPT ./scripts/firetv/dtvstream/stopbmitune.sh
2025/03/17 07:01:42 [ENV] REBOOT SCRIPT ./scripts/firetv/dtvstream/reboot.sh
2025/03/17 07:01:42 [START] ah4c is ready
2025/03/17 07:02:32 [GIN-debug] Request: 172.18.0.1 GET /m3u/dtvstreamdeeplinks.m3u, latency: 12.317959ms, status: 200
2025/03/17 07:03:12 Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
2025/03/17 07:03:12 [EXECUTE] Running [./scripts/firetv/dtvstream/prebmitune.sh 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
2025/03/17 07:03:15 [EXECUTE] Stdout: 'already connected to 192.168.4.225:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Starting com.att.tv on 192.168.4.225:5555
prebmitune.sh is exiting for 192.168.4.225:5555 with exit code 0
'
2025/03/17 07:03:15 [EXECUTE] Stderr: '+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ mkdir -p 192.168.4.225
+ trap finish EXIT
+ main
+ adbConnect
+ adb connect 192.168.4.225:5555
+ local -i adbMaxRetries=3
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break
+ adbWake
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.225:5555 shell pidof com.att.tv
+ packagePID=
+ '[' '!' -z ']'
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_WAKEUP
+ adb -s 192.168.4.225:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
+ echo 'Starting com.att.tv on 192.168.4.225:5555'
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.225:5555 with exit code 0'
'
2025/03/17 07:03:15 [EXECUTE] Finished running ./scripts/firetv/dtvstream/prebmitune.sh in 2.407720448s
2025/03/17 07:03:15 [EXECUTE] Running [./scripts/firetv/dtvstream/bmitune.sh CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 192.168.4.225:5555]
2025/03/17 07:03:15 [IOINFO] Successfully copied 25192 bytes
2025/03/17 07:03:15 [IOINFO] Transfer speed: 523.8579207985132 Mbits/second
2025/03/17 07:03:15 Performing Close() for 192.168.4.225:5555
2025/03/17 07:03:15 [EXECUTE] Running [./scripts/firetv/dtvstream/stopbmitune.sh 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
2025/03/17 07:04:07 [EXECUTE] Stdout: 'Current PID for this script is 83
Not a special channel (exit nor reboot)
Current app in focus is com.amazon.tv.launcher
Active audio stream not yet detected -- loudness is -70.0 LUF. Continuing...
Active audio stream not yet detected -- loudness is -70.0 LUF. Continuing...
Active audio stream detected with -36.7 LUF.
Active audio stream detected with -27.4 LUF.
bmitune.sh is exiting for 192.168.4.225:5555 with exit code 0
'
2025/03/17 07:04:07 [EXECUTE] Stderr: '+ channelID='"CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428"'
+ specialID=CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ packageName=com.att.tv
+ m3uName=dtvstream.m3u
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.225
+ [[ -f 192.168.4.225/stream_stopped ]]
+ echo 0
+ [[ -f 192.168.4.225/last_channel ]]
+ echo 0
+ echo 83
+ echo 'Current PID for this script is 83'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 = exit ']'
+ '[' CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 = reboot ']'
+ [[ -f 192.168.4.225/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
++ grep -E mCurrentFocus
++ adb -s 192.168.4.225:5555 shell dumpsys window windows
++ cut -d / -f1
++ sed 's/.* //g'
+ appFocus=com.amazon.tv.launcher
+ echo 'Current app in focus is com.amazon.tv.launcher'
+ activeAudioCheck 42 true 0 1
++ date +%s
+ local startTime=1742209395
+ local maxDuration=42
+ local minimumLoudness=-50
+ local sleepBeforeAudioCheck=0
+ local sleepAfterAudioCheck=1
+ local preTuneAudioCheck=true
+ true
+ sleep 0
++ awk '/I: /{print $2}'
++ ffmpeg -t 1 -i http://192.168.4.89:81/ts/1_0 -filter:a ebur128 -map 0:a -f null -hide_banner -
+ checkLoudness=-70.0
++ date +%s
+ (( 1742209402 - 1742209395 > 42 ))
++ bc -l
++ echo '-70.0 > -50'
+ (( 0 ))
+ echo 'Active audio stream not yet detected -- loudness is -70.0 LUF. Continuing...'
+ sleep 1
+ true
+ sleep 0
++ ffmpeg -t 1 -i http://192.168.4.89:81/ts/1_0 -filter:a ebur128 -map 0:a -f null -hide_banner -
++ awk '/I: /{print $2}'
+ checkLoudness=-70.0
++ date +%s
+ (( 1742209409 - 1742209395 > 42 ))
++ bc -l
++ echo '-70.0 > -50'
+ (( 0 ))
+ echo 'Active audio stream not yet detected -- loudness is -70.0 LUF. Continuing...'
+ sleep 1
+ true
+ sleep 0
++ ffmpeg -t ++ 1 awk '/I: /{print $2}'
-i http://192.168.4.89:81/ts/1_0 -filter:a ebur128 -map 0:a -f null -hide_banner -
+ checkLoudness=-36.7
++ date +%s
+ (( 1742209417 - 1742209395 > 42 ))
++ bc -l
++ echo '-36.7 > -50'
+ (( 1 ))
+ echo 'Active audio stream detected with -36.7 LUF.'
+ break
+ tuneChannel
++ awk -F, '/channel-id="CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428"/ {print $2}' m3u/dtvstream.m3u
+ channelName=
++ sed 's/^/"/;s/$/"/'
++ echo
+ channelName='""'
+ numberOfBackspaces=25
++ (( i=0 ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
+ clearSearchBackspaces=' KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND'
+ directvMenu='input keyevent KEYCODE_MENU; sleep 6'
+ directvSearch='input keyevent KEYCODE_DPAD_LEFT; input keyevent KEYCODE_DPAD_UP; input keyevent KEYCODE_DPAD_CENTER; sleep 1; input keyevent KEYCODE_DPAD_CENTER; sleep 1'
+ directvClearSearch='input keyevent KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND'
+ directvTune='input keyevent KEYCODE_MEDIA_PLAY_PAUSE; sleep 1; input keyevent KEYCODE_DPAD_DOWN; input keyevent KEYCODE_DPAD_DOWN; input keyevent KEYCODE_DPAD_DOWN; input keyevent KEYCODE_DPAD_CENTER'
+ adb -s 192.168.4.225:5555 shell input keyevent 'KEYCODE_MENU;' sleep 6
+ adb -s 192.168.4.225:5555 shell input keyevent 'KEYCODE_DPAD_LEFT;' input keyevent 'KEYCODE_DPAD_UP;' input keyevent 'KEYCODE_DPAD_CENTER;' sleep '1;' input keyevent 'KEYCODE_DPAD_CENTER;' sleep 1
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND
+ adb -s 192.168.4.225:5555 shell input text '""'
+ adb -s 192.168.4.225:5555 shell input keyevent 'KEYCODE_MEDIA_PLAY_PAUSE;' sleep '1;' input keyevent 'KEYCODE_DPAD_DOWN;' input keyevent 'KEYCODE_DPAD_DOWN;' input keyevent 'KEYCODE_DPAD_DOWN;' input keyevent KEYCODE_DPAD_CENTER
+ activeAudioCheck 24 false 5 1
++ date +%s
+ local startTime=1742209435
+ local maxDuration=24
+ local minimumLoudness=-50
+ local sleepBeforeAudioCheck=5
+ local sleepAfterAudioCheck=1
+ local preTuneAudioCheck=false
+ true
+ sleep 5
++ ffmpeg -t 1 -i http://192.168.4.89:81/ts/1_0 ++ awk '/I: /{print $2}'
-filter:a ebur128 -map 0:a -f null -hide_banner -
+ checkLoudness=-27.4
++ date +%s
+ (( 1742209447 - 1742209435 > 24 ))
++ bc -l
++ echo '-27.4 > -50'
+ (( 1 ))
+ echo 'Active audio stream detected with -27.4 LUF.'
+ break
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.225:5555 with exit code 0'
'
2025/03/17 07:04:07 [EXECUTE] Finished running ./scripts/firetv/dtvstream/bmitune.sh in 51.841899212s
2025/03/17 07:04:10 [EXECUTE] Stdout: 'Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Streaming stopped for 192.168.4.225:5555
Sleep initiated for 192.168.4.225:5555
192.168.4.225/stream_stopped written with epoch stop time
'
2025/03/17 07:04:10 [EXECUTE] Stderr: '+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=83
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 83
+ adbStop
+ stop='am force-stop com.att.tv'
+ adb -s 192.168.4.225:5555 shell am force-stop com.att.tv
+ sleep 2
+ echo 'Streaming stopped for 192.168.4.225:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.225:5555'
+ date +%s
+ echo '192.168.4.225/stream_stopped written with epoch stop time'
'
2025/03/17 07:04:10 [EXECUTE] Finished running ./scripts/firetv/dtvstream/stopbmitune.sh in 54.982418757s
2025/03/17 07:04:10 [GIN-debug] Request: 172.18.0.1 GET /play/tuner/CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428, latency: 57.412974551s, status: 200
2025/03/17 07:23:29 [START] ah4c is starting
2025/03/17 07:23:29 [ENV] Not loading env
2025/03/17 07:23:29 [ENV] IPADDRESS 192.168.4.35:7654
2025/03/17 07:23:29 [ENV] ALERT_SMTP_SERVER
2025/03/17 07:23:29 [ENV] ALERT_AUTH_SERVER
2025/03/17 07:23:29 [ENV] ALERT_EMAIL_FROM
2025/03/17 07:23:29 [ENV] ALERT_EMAIL_PASS
2025/03/17 07:23:29 [ENV] ALERT_EMAIL_TO
2025/03/17 07:23:29 [ENV] ALERT_WEBHOOK_URL
2025/03/17 07:23:29 [ENV] ALLOW_DEBUG_VIDEO_PREVIEW
2025/03/17 07:23:29 [ENV] Creating tuner 1
2025/03/17 07:23:29 [ENV] ENCODER1_URL http://192.168.4.89:81/ts/1_0
2025/03/17 07:23:29 [ENV] TUNER1_IP 192.168.4.225:5555
2025/03/17 07:23:29 [ENV] CMD1
2025/03/17 07:23:29 [ENV] TEECMD1
2025/03/17 07:23:29 [ENV] PRE SCRIPT ./scripts/firetv/dtvstream/prebmitune.sh
2025/03/17 07:23:29 [ENV] START SCRIPT ./scripts/firetv/dtvstream/bmitune.sh
2025/03/17 07:23:29 [ENV] STOP SCRIPT ./scripts/firetv/dtvstream/stopbmitune.sh
2025/03/17 07:23:29 [ENV] REBOOT SCRIPT ./scripts/firetv/dtvstream/reboot.sh
2025/03/17 07:23:29 [START] ah4c is ready
2025/03/17 07:24:05 Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
2025/03/17 07:24:05 [EXECUTE] Running [./scripts/firetv/dtvstream/prebmitune.sh 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
2025/03/17 07:24:07 [EXECUTE] Stdout: 'already connected to 192.168.4.225:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Starting com.att.tv on 192.168.4.225:5555
prebmitune.sh is exiting for 192.168.4.225:5555 with exit code 0
'
2025/03/17 07:24:07 [EXECUTE] Stderr: '+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ mkdir -p 192.168.4.225
+ trap finish EXIT
+ main
+ adbConnect
+ adb connect 192.168.4.225:5555
+ local -i adbMaxRetries=3
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break
+ adbWake
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.225:5555 shell pidof com.att.tv
+ packagePID=
+ '[' '!' -z ']'
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_WAKEUP
+ adb -s 192.168.4.225:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
+ echo 'Starting com.att.tv on 192.168.4.225:5555'
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.225:5555 with exit code 0'
'
2025/03/17 07:24:07 [EXECUTE] Finished running ./scripts/firetv/dtvstream/prebmitune.sh in 1.982134334s
2025/03/17 07:24:07 [EXECUTE] Running [./scripts/firetv/dtvstream/bmitune.sh CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 192.168.4.225:5555]
2025/03/17 07:24:08 [IOINFO] Successfully copied 23312 bytes
2025/03/17 07:24:08 [IOINFO] Transfer speed: 1.215498096058997 Mbits/second
2025/03/17 07:24:08 Performing Close() for 192.168.4.225:5555
2025/03/17 07:24:08 [EXECUTE] Running [./scripts/firetv/dtvstream/stopbmitune.sh 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
2025/03/17 07:25:00 [EXECUTE] Stdout: 'Current PID for this script is 82
Not a special channel (exit nor reboot)
Current app in focus is com.amazon.tv.launcher
Active audio stream not yet detected -- loudness is -70.0 LUF. Continuing...
Active audio stream not yet detected -- loudness is -70.0 LUF. Continuing...
Active audio stream detected with -19.2 LUF.
Active audio stream detected with -25.2 LUF.
bmitune.sh is exiting for 192.168.4.225:5555 with exit code 0
'
2025/03/17 07:25:00 [EXECUTE] Stderr: '+ channelID='"CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428"'
+ specialID=CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ packageName=com.att.tv
+ m3uName=dtvstream.m3u
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.225
+ [[ -f 192.168.4.225/stream_stopped ]]
+ [[ -f 192.168.4.225/last_channel ]]
+ echo 82
+ echo 'Current PID for this script is 82'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 = exit ']'
+ '[' CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 = reboot ']'
+ [[ -f 192.168.4.225/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
++ cut -d / ++ grep -E mCurrentFocus
-f1
++ adb -s 192.168.4.225:5555 shell dumpsys window windows
++ sed 's/.* //g'
+ appFocus=com.amazon.tv.launcher
+ echo 'Current app in focus is com.amazon.tv.launcher'
+ activeAudioCheck 42 true 0 1
++ date +%s
+ local startTime=1742210648
+ local maxDuration=42
+ local minimumLoudness=-50
+ local sleepBeforeAudioCheck=0
+ local sleepAfterAudioCheck=1
+ local preTuneAudioCheck=true
+ true
+ sleep 0
++ awk '/I: /{print $2}'
++ ffmpeg -t 1 -i http://192.168.4.89:81/ts/1_0 -filter:a ebur128 -map 0:a -f null -hide_banner -
+ checkLoudness=-70.0
++ date +%s
+ (( 1742210655 - 1742210648 > 42 ))
++ echo '-70.0 > -50'
++ bc -l
+ (( 0 ))
+ echo 'Active audio stream not yet detected -- loudness is -70.0 LUF. Continuing...'
+ sleep 1
+ true
+ sleep 0
++ ffmpeg -t 1 ++ -i awk '/I: /{print $2}'
http://192.168.4.89:81/ts/1_0 -filter:a ebur128 -map 0:a -f null -hide_banner -
+ checkLoudness=-70.0
++ date +%s
+ (( 1742210663 - 1742210648 > 42 ))
++ bc -l
++ echo '-70.0 > -50'
+ (( 0 ))
+ echo 'Active audio stream not yet detected -- loudness is -70.0 LUF. Continuing...'
+ sleep 1
+ true
+ sleep 0
++ ffmpeg -t 1 -i ++ http://192.168.4.89:81/ts/1_0 awk '/I: /{print $2}'
-filter:a ebur128 -map 0:a -f null -hide_banner -
+ checkLoudness=-19.2
++ date +%s
+ (( 1742210670 - 1742210648 > 42 ))
++ bc -l
++ echo '-19.2 > -50'
+ (( 1 ))
+ echo 'Active audio stream detected with -19.2 LUF.'
+ break
+ tuneChannel
++ awk -F, '/channel-id="CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428"/ {print $2}' m3u/dtvstream.m3u
+ channelName=
++ sed 's/^/"/;s/$/"/'
++ echo
+ channelName='""'
+ numberOfBackspaces=25
++ (( i=0 ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
++ echo -n ' KEYCODE_MEDIA_REWIND'
++ (( i++ ))
++ (( i<25 ))
+ clearSearchBackspaces=' KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND'
+ directvMenu='input keyevent KEYCODE_MENU; sleep 6'
+ directvSearch='input keyevent KEYCODE_DPAD_LEFT; input keyevent KEYCODE_DPAD_UP; input keyevent KEYCODE_DPAD_CENTER; sleep 1; input keyevent KEYCODE_DPAD_CENTER; sleep 1'
+ directvClearSearch='input keyevent KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND'
+ directvTune='input keyevent KEYCODE_MEDIA_PLAY_PAUSE; sleep 1; input keyevent KEYCODE_DPAD_DOWN; input keyevent KEYCODE_DPAD_DOWN; input keyevent KEYCODE_DPAD_DOWN; input keyevent KEYCODE_DPAD_CENTER'
+ adb -s 192.168.4.225:5555 shell input keyevent 'KEYCODE_MENU;' sleep 6
+ adb -s 192.168.4.225:5555 shell input keyevent 'KEYCODE_DPAD_LEFT;' input keyevent 'KEYCODE_DPAD_UP;' input keyevent 'KEYCODE_DPAD_CENTER;' sleep '1;' input keyevent 'KEYCODE_DPAD_CENTER;' sleep 1
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND KEYCODE_MEDIA_REWIND
+ adb -s 192.168.4.225:5555 shell input text '""'
+ adb -s 192.168.4.225:5555 shell input keyevent 'KEYCODE_MEDIA_PLAY_PAUSE;' sleep '1;' input keyevent 'KEYCODE_DPAD_DOWN;' input keyevent 'KEYCODE_DPAD_DOWN;' input keyevent 'KEYCODE_DPAD_DOWN;' input keyevent KEYCODE_DPAD_CENTER
+ activeAudioCheck 24 false 5 1
++ date +%s
+ local startTime=1742210689
+ local maxDuration=24
+ local minimumLoudness=-50
+ local sleepBeforeAudioCheck=5
+ local sleepAfterAudioCheck=1
+ local preTuneAudioCheck=false
+ true
+ sleep 5
++ ffmpeg -t 1 -i http://192.168.4.89:81/ts/1_0 ++ awk '/I: /{print $2}'-filter:a
ebur128 -map 0:a -f null -hide_banner -
+ checkLoudness=-25.2
++ date +%s
+ (( 1742210700 - 1742210689 > 24 ))
++ bc -l
++ echo '-25.2 > -50'
+ (( 1 ))
+ echo 'Active audio stream detected with -25.2 LUF.'
+ break
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.225:5555 with exit code 0'
'
2025/03/17 07:25:00 [EXECUTE] Finished running ./scripts/firetv/dtvstream/bmitune.sh in 53.025984273s
2025/03/17 07:25:05 [EXECUTE] Stdout: 'Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Waiting for bmitune.sh to complete...
Streaming stopped for 192.168.4.225:5555
Sleep initiated for 192.168.4.225:5555
192.168.4.225/stream_stopped written with epoch stop time
'
2025/03/17 07:25:05 [EXECUTE] Stderr: '+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=82
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ echo 'Waiting for bmitune.sh to complete...'
+ sleep 2
+ ps -p 82
+ adbStop
+ stop='am force-stop com.att.tv'
+ adb -s 192.168.4.225:5555 shell am force-stop com.att.tv
+ sleep 2
+ echo 'Streaming stopped for 192.168.4.225:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.225:5555'
+ date +%s
+ echo '192.168.4.225/stream_stopped written with epoch stop time'
'
2025/03/17 07:25:05 [EXECUTE] Finished running ./scripts/firetv/dtvstream/stopbmitune.sh in 57.119948552s
2025/03/17 07:25:05 [GIN-debug] Request: 172.18.0.1 GET /play/tuner/CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428, latency: 59.264167527s, status: 200
2025/03/17 07:37:51 [GIN-debug] Request: 172.18.0.1 GET /logs, latency: 177.545794ms, status: 200

As I said, I haven't been maintaining the version you're using here -- which tunes via remote control emulation.

I'm looking for these same logs from you, using the deeplink approach. Deeplinks are the best way to go, now that we have them, and I'd be happy to help get you going.

One strange thing I noticed, is that you've specified the scripts that use remote control emulation, as shown by this env var.

But...

You're using a deeplink here.

You need to change the env var, so that you're using the correct deeplink scripts, with the correct M3U for deeplinks.

Thanks for your help so far, I still do not have this working. My encoder page stays blank when I try to tune a channel. I did set
STREAMER_APP=scripts/firetv/dtvstreamdeeplinks
Hope that is right?
Here is this AH4C log

43c5e8799428, latency: 6.967625198s, status: 200
2025/03/17 12:12:39 [GIN-debug] Request: 172.18.0.1 GET /favicon.ico, latency: 25.329792ms, status: 200
2025/03/17 12:12:40 [GIN-debug] Request: 172.18.0.1 GET /logs, latency: 1.323941ms, status: 200
2025/03/17 12:13:59 [START] ah4c is starting
2025/03/17 12:13:59 [ENV] Not loading env
2025/03/17 12:13:59 [ENV] IPADDRESS 192.168.4.35:7654
2025/03/17 12:13:59 [ENV] ALERT_SMTP_SERVER
2025/03/17 12:13:59 [ENV] ALERT_AUTH_SERVER
2025/03/17 12:13:59 [ENV] ALERT_EMAIL_FROM
2025/03/17 12:13:59 [ENV] ALERT_EMAIL_PASS
2025/03/17 12:13:59 [ENV] ALERT_EMAIL_TO
2025/03/17 12:13:59 [ENV] ALERT_WEBHOOK_URL
2025/03/17 12:13:59 [ENV] ALLOW_DEBUG_VIDEO_PREVIEW
2025/03/17 12:13:59 [ENV] Creating tuner 1
2025/03/17 12:13:59 [ENV] ENCODER1_URL http://192.168.4.89:81/ts/1_0
2025/03/17 12:13:59 [ENV] TUNER1_IP 192.168.4.225:5555
2025/03/17 12:13:59 [ENV] CMD1
2025/03/17 12:13:59 [ENV] TEECMD1
2025/03/17 12:13:59 [ENV] PRE SCRIPT ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh
2025/03/17 12:13:59 [ENV] START SCRIPT ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh
2025/03/17 12:13:59 [ENV] STOP SCRIPT ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh
2025/03/17 12:13:59 [ENV] REBOOT SCRIPT ./scripts/firetv/dtvstreamdeeplinks/reboot.sh
2025/03/17 12:13:59 [START] ah4c is ready
2025/03/17 12:14:25 Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
2025/03/17 12:14:25 [EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
2025/03/17 12:14:26 [EXECUTE] Stdout: 'already connected to 192.168.4.225:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Confirming com.att.tv on 192.168.4.225:5555
prebmitune.sh is exiting for 192.168.4.225:5555 with exit code 0
'
2025/03/17 12:14:26 [EXECUTE] Stderr: '+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ mkdir -p 192.168.4.225
+ trap finish EXIT
+ main
+ adbConnect
+ adb connect 192.168.4.225:5555
+ local -i adbMaxRetries=2
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break
+ adbWake
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.225:5555 shell pidof com.att.tv
+ packagePID=26383
+ '[' '!' -z 26383 ']'
+ adb -s 192.168.4.225:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
Warning: Activity not started, its current task has been brought to the front
+ echo 'Confirming com.att.tv on 192.168.4.225:5555'
+ touch 192.168.4.225/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.225:5555 with exit code 0'
'
2025/03/17 12:14:26 [EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh in 982.721678ms
2025/03/17 12:14:26 [EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/bmitune.sh CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 192.168.4.225:5555]
2025/03/17 12:14:26 [EXECUTE] Stdout: 'Current PID for this script is 81
Not a special channel (exit nor reboot)
Starting: Intent { act=android.intent.action.VIEW (has data) cmp=com.att.tv/com.clientapp.MainActivity }
bmitune.sh is exiting for 192.168.4.225:5555 with exit code 0
'
2025/03/17 12:14:26 [EXECUTE] Stderr: '++ awk -F~ '{print $2}'
++ echo CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ channelID=d3603aea-f5d8-e789-786c-43c5e8799428
++ awk -F~ '{print $1}'
++ echo CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ channelName=CNNHD
+ specialID=CNNHD
+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ packageName=com.att.tv
+ packageAction=com.clientapp.MainActivity
+ [[ '' == '' ]]
+ speedMode=true
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.225
+ [[ -f 192.168.4.225/stream_stopped ]]
+ [[ -f 192.168.4.225/last_channel ]]
+ echo 81
+ echo 'Current PID for this script is 81'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' CNNHD = exit ']'
+ '[' CNNHD = reboot ']'
+ [[ -f 192.168.4.225/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
+ launchDelay
+ local lastChannel
+ local lastAwake
+ local timeNow
+ local timeElapsed
+ local maxTime=14400
+ lastChannel=CNNHD
+ lastAwake=1742227162
++ date +%s
+ timeNow=1742228066
+ timeElapsed=904
+ '[' -f 192.168.4.225/adbAppRunning ']'
+ (( 904 < 14400 ))
+ rm 192.168.4.225/adbAppRunning
+ echo CNNHD
+ tuneChannel
+ adb -s 192.168.4.225:5555 shell am start -n com.att.tv/com.clientapp.MainActivity dtvnow://deeplink.directvnow.com/play/channel/CNNHD/d3603aea-f5d8-e789-786c-43c5e8799428
Warning: Activity not started, intent has been delivered to currently running top-most instance.
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.225:5555 with exit code 0'
'
2025/03/17 12:14:26 [EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh in 283.925661ms
2025/03/17 12:14:27 [IOINFO] Successfully copied 25192 bytes
2025/03/17 12:14:27 [IOINFO] Transfer speed: 0.15934719252936438 Mbits/second
2025/03/17 12:14:27 Performing Close() for 192.168.4.225:5555
2025/03/17 12:14:27 [EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh 192.168.4.225:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
2025/03/17 12:14:32 [EXECUTE] Stdout: 'Streaming stopped for 192.168.4.225:5555
Sleep initiated for 192.168.4.225:5555
192.168.4.225/stream_stopped written with epoch stop time
'
2025/03/17 12:14:32 [EXECUTE] Stderr: '+ streamerIP=192.168.4.225:5555
+ streamerNoPort=192.168.4.225
+ adbTarget='adb -s 192.168.4.225:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=81
+ ps -p 81
+ adbStop
+ stop='input keyevent KEYCODE_BACK; input keyevent KEYCODE_HOME'
+ adb -s 192.168.4.225:5555 shell input keyevent 'KEYCODE_BACK;' input keyevent KEYCODE_HOME
+ sleep 2
+ echo 'Streaming stopped for 192.168.4.225:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.225:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.225:5555'
+ date +%s
+ echo '192.168.4.225/stream_stopped written with epoch stop time'
'
2025/03/17 12:14:32 [EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 4.74062557s
2025/03/17 12:14:32 [GIN-debug] Request: 172.18.0.1 GET /play/tuner/CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428, latency: 6.996857397s, status: 200

So you never see anything when looking at your encoder's WebUI? If you're not seeing the DirecTV app launching, then the problem is much more fundamental than tuning. Maybe your encoder URL is wrong?

What type of encoder is this? I don't recognize the URL structure...

Also, I would like to see the Portainer-Log for the ah4c container. Go into Portainer-Containers and click the "Quick Actions" button for the log. Then change the number of lines to 100000 and wait a tick. Turn off Auto-refresh logs, and then copy a single tuning event.

Ideally, if you could restart the container, and then do a single tune -- followed by the above to capture everything back to container start...

There are characters in that log that prevent posting, I deleted them.

[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 5.526940072s
[GIN-debug] Request: 172.18.0.1 GET /play/tuner/CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428, latency: 40.233618847s, status: 200
Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
[EXECUTE] Stdout: 'already connected to 192.168.4.220:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Confirming com.att.tv on 192.168.4.220:5555
prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ mkdir -p 192.168.4.220
+ trap finish EXIT
+ main

+ adbConnect
+ adb connect 192.168.4.220:5555
+ local -i adbMaxRetries=2
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break

e
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.220:5555 shell pidof com.att.tv
+ packagePID=7901
+ '[' '!' -z 7901 ']'
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
Warning: Activity not started, its current task has been brought to the front
+ echo 'Confirming com.att.tv on 192.168.4.220:5555'
+ touch 192.168.4.220/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh in 1.304014181s
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/bmitune.sh CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 192.168.4.220:5555]
[EXECUTE] Stdout: 'Current PID for this script is 153
Not a special channel (exit nor reboot)
Starting: Intent { act=android.intent.action.VIEW (has data) cmp=com.att.tv/com.clientapp.MainActivity }
bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '++ awk -F~ '{print $2}'
++ echo CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ channelID=d3603aea-f5d8-e789-786c-43c5e8799428
++ awk -F~ '{print $1}'
++ echo CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ channelName=CNNHD
+ specialID=CNNHD
+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ packageAction=com.clientapp.MainActivity
+ [[ '' == '' ]]
+ speedMode=true
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.220
+ [[ -f 192.168.4.220/stream_stopped ]]
+ [[ -f 192.168.4.220/last_channel ]]
+ echo 153
+ echo 'Current PID for this script is 153'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' CNNHD = exit ']'
+ '[' CNNHD = reboot ']'
+ [[ -f 192.168.4.220/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
+ launchDelay
+ local lastChannel
+ local lastAwake
+ local timeNow
+ local timeElapsed
+ local maxTime=14400
+ lastChannel=CNNHD
+ lastAwake=1742231087
++ date +%s
+ timeNow=1742231170
+ timeElapsed=83
+ '[' -f 192.168.4.220/adbAppRunning ']'
+ ((  83 < 14400  ))
+ rm 192.168.4.220/adbAppRunning

+ echo CNNHD
+ tuneChannel
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity dtvnow://deeplink.directvnow.com/play/channel/CNNHD/d3603aea-f5d8-e789-786c-43c5e8799428
Warning: Activity not started, intent has been delivered to currently running top-most instance.
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh in 367.049366ms
[IOINFO] Successfully copied 27072 bytes
[IOINFO] Transfer speed: 0.1891792637200288 Mbits/second
Performing Close() for 192.168.4.220:5555
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
[EXECUTE] Stdout: 'Streaming stopped for 192.168.4.220:5555
Sleep initiated for 192.168.4.220:5555
192.168.4.220/stream_stopped written with epoch stop time
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=153
+ ps -p 153

p
+ stop='input keyevent KEYCODE_BACK;         input keyevent KEYCODE_HOME'
+ adb -s 192.168.4.220:5555 shell input keyevent 'KEYCODE_BACK;' input keyevent KEYCODE_HOME

2
+ echo 'Streaming stopped for 192.168.4.220:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.220:5555'
+ date +%s
+ echo '192.168.4.220/stream_stopped written with epoch stop time'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 4.709110685s
[GIN-debug] Request: 172.18.0.1 GET /play/tuner/CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428, latency: 7.179433708s, status: 200
[GIN-debug] Loaded HTML Templates (11): 

	- edit.html
	- editm3u.html
	- index.html

	- m3us.html
	- status.html
	- 
	- config.html

	- logs.html
	- routes.html
	- status_and_logs.html
	- stream.html
[GIN-debug] Request: 172.18.0.1 GET /, latency: 44.794927ms, status: 200
[GIN-debug] Request: 172.18.0.1 GET /static/logos/androidhdmi-for-channels.jpeg, latency: 108.778551ms, status: 200
[GIN-debug] Request: 172.18.0.1 GET /favicon.ico, latency: 501.919µs, status: 200
[GIN-debug] Request: 172.18.0.1 GET /logs, latency: 69.538233ms, status: 200
[GIN-debug] Request: 172.18.0.1 GET /status/andlogs, latency: 519.623µs, status: 200
[GIN-debug] Request: 172.18.0.1 GET /status, latency: 1.901583ms, status: 200
[GIN-debug] Request: 172.18.0.1 GET /logs?notime, latency: 984.644µs, status: 200
Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
[EXECUTE] Stdout: 'already connected to 192.168.4.220:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Confirming com.att.tv on 192.168.4.220:5555
prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ mkdir -p 192.168.4.220
+ trap finish EXIT
+ main

+ adbConnect
+ adb connect 192.168.4.220:5555
+ local -i adbMaxRetries=2
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break

e
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.220:5555 shell pidof com.att.tv
+ packagePID=7901
+ '[' '!' -z 7901 ']'
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
Warning: Activity not started, its current task has been brought to the front
+ echo 'Confirming com.att.tv on 192.168.4.220:5555'
+ touch 192.168.4.220/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh in 1.143980514s
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/bmitune.sh CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 192.168.4.220:5555]
[EXECUTE] Stdout: 'Current PID for this script is 191
Not a special channel (exit nor reboot)
Starting: Intent { act=android.intent.action.VIEW (has data) cmp=com.att.tv/com.clientapp.MainActivity }
bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '++ awk -F~ '{print $2}'
++ echo CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ channelID=d3603aea-f5d8-e789-786c-43c5e8799428
++ awk -F~ '{print $1}'
++ echo CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ channelName=CNNHD
+ specialID=CNNHD
+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ packageAction=com.clientapp.MainActivity
+ [[ '' == '' ]]
+ speedMode=true
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.220
+ [[ -f 192.168.4.220/stream_stopped ]]
+ [[ -f 192.168.4.220/last_channel ]]
+ echo 191
+ echo 'Current PID for this script is 191'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' CNNHD = exit ']'
+ '[' CNNHD = reboot ']'
+ [[ -f 192.168.4.220/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
+ launchDelay
+ local lastChannel
+ local lastAwake
+ local timeNow
+ local timeElapsed
+ local maxTime=14400
+ lastChannel=CNNHD
+ lastAwake=1742231176
++ date +%s
+ timeNow=1742231291
+ timeElapsed=115
+ '[' -f 192.168.4.220/adbAppRunning ']'
+ ((  115 < 14400  ))
+ rm 192.168.4.220/adbAppRunning

+ echo CNNHD
+ tuneChannel
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity dtvnow://deeplink.directvnow.com/play/channel/CNNHD/d3603aea-f5d8-e789-786c-43c5e8799428
Warning: Activity not started, intent has been delivered to currently running top-most instance.
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh in 130.928119ms
[IOINFO] Successfully copied 23312 bytes
[IOINFO] Transfer speed: 0.1872143784513504 Mbits/second
Performing Close() for 192.168.4.220:5555
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
[EXECUTE] Stdout: 'Streaming stopped for 192.168.4.220:5555
Sleep initiated for 192.168.4.220:5555
192.168.4.220/stream_stopped written with epoch stop time
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=191
+ ps -p 191

p
+ stop='input keyevent KEYCODE_BACK;         input keyevent KEYCODE_HOME'
+ adb -s 192.168.4.220:5555 shell input keyevent 'KEYCODE_BACK;' input keyevent KEYCODE_HOME

2
+ echo 'Streaming stopped for 192.168.4.220:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.220:5555'
+ date +%s
+ echo '192.168.4.220/stream_stopped written with epoch stop time'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 4.967697537s
[GIN-debug] Request: 172.18.0.1 GET /play/tuner/CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428, latency: 7.117058522s, status: 200
Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.220:5555 GET~23f0fc84-d285-c4a1-a4c9-dfb383ed77db 
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh 192.168.4.220:5555 GET~23f0fc84-d285-c4a1-a4c9-dfb383ed77db]
[EXECUTE] Stdout: 'already connected to 192.168.4.220:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Confirming com.att.tv on 192.168.4.220:5555
prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ mkdir -p 192.168.4.220
+ trap finish EXIT
+ main

+ adbConnect
+ adb connect 192.168.4.220:5555
+ local -i adbMaxRetries=2
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break

e
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.220:5555 shell pidof com.att.tv
+ packagePID=7901
+ '[' '!' -z 7901 ']'
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
Warning: Activity not started, its current task has been brought to the front
+ echo 'Confirming com.att.tv on 192.168.4.220:5555'
+ touch 192.168.4.220/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh in 977.015986ms
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/bmitune.sh GET~23f0fc84-d285-c4a1-a4c9-dfb383ed77db 192.168.4.220:5555]
[EXECUTE] Stdout: 'Current PID for this script is 230
Not a special channel (exit nor reboot)
Starting: Intent { act=android.intent.action.VIEW (has data) cmp=com.att.tv/com.clientapp.MainActivity }
bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '++ awk -F~ '{print $2}'
++ echo GET~23f0fc84-d285-c4a1-a4c9-dfb383ed77db
+ channelID=23f0fc84-d285-c4a1-a4c9-dfb383ed77db
++ awk -F~ '{print $1}'
++ echo GET~23f0fc84-d285-c4a1-a4c9-dfb383ed77db
+ channelName=GET
+ specialID=GET
+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ packageAction=com.clientapp.MainActivity
+ [[ '' == '' ]]
+ speedMode=true
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.220
+ [[ -f 192.168.4.220/stream_stopped ]]
+ [[ -f 192.168.4.220/last_channel ]]
+ echo 230
+ echo 'Current PID for this script is 230'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' GET = exit ']'
+ '[' GET = reboot ']'
+ [[ -f 192.168.4.220/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
+ launchDelay
+ local lastChannel
+ local lastAwake
+ local timeNow
+ local timeElapsed
+ local maxTime=14400
+ lastChannel=CNNHD
+ lastAwake=1742231297
++ date +%s
+ timeNow=1742231316
+ timeElapsed=19
+ '[' -f 192.168.4.220/adbAppRunning ']'
+ ((  19 < 14400  ))
+ rm 192.168.4.220/adbAppRunning
+ echo GET
+ tuneChannel
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity dtvnow://deeplink.directvnow.com/play/channel/GET/23f0fc84-d285-c4a1-a4c9-dfb383ed77db
Warning: Activity not started, intent has been delivered to currently running top-most instance.
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh in 114.098179ms
[IOINFO] Successfully copied 22560 bytes
[IOINFO] Transfer speed: 0.16395096804298584 Mbits/second
Performing Close() for 192.168.4.220:5555
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh 192.168.4.220:5555 GET~23f0fc84-d285-c4a1-a4c9-dfb383ed77db]
[EXECUTE] Stdout: 'Streaming stopped for 192.168.4.220:5555
Sleep initiated for 192.168.4.220:5555
192.168.4.220/stream_stopped written with epoch stop time
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=230
+ ps -p 230

p
+ stop='input keyevent KEYCODE_BACK;         input keyevent KEYCODE_HOME'
+ adb -s 192.168.4.220:5555 shell input keyevent 'KEYCODE_BACK;' input keyevent KEYCODE_HOME

2
+ echo 'Streaming stopped for 192.168.4.220:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.220:5555'
+ date +%s
+ echo '192.168.4.220/stream_stopped written with epoch stop time'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 4.950536413s
[GIN-debug] Request: 172.18.0.1 GET /play/tuner/GET~23f0fc84-d285-c4a1-a4c9-dfb383ed77db, latency: 7.036770829s, status: 200
Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.220:5555 foodHD~7822f08f-c09d-d890-2b46-948766f9f571 
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh 192.168.4.220:5555 foodHD~7822f08f-c09d-d890-2b46-948766f9f571]
[EXECUTE] Stdout: 'already connected to 192.168.4.220:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Confirming com.att.tv on 192.168.4.220:5555
prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ mkdir -p 192.168.4.220
+ trap finish EXIT
+ main

+ adbConnect
+ adb connect 192.168.4.220:5555
+ local -i adbMaxRetries=2
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break

e
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.220:5555 shell pidof com.att.tv
+ packagePID=7901
+ '[' '!' -z 7901 ']'
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
Warning: Activity not started, its current task has been brought to the front
+ echo 'Confirming com.att.tv on 192.168.4.220:5555'
+ touch 192.168.4.220/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh in 1.02599347s
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/bmitune.sh foodHD~7822f08f-c09d-d890-2b46-948766f9f571 192.168.4.220:5555]
[EXECUTE] Stdout: 'Current PID for this script is 267
Not a special channel (exit nor reboot)
Starting: Intent { act=android.intent.action.VIEW (has data) cmp=com.att.tv/com.clientapp.MainActivity }
bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '++ awk -F~ '{print $2}'
++ echo foodHD~7822f08f-c09d-d890-2b46-948766f9f571
+ channelID=7822f08f-c09d-d890-2b46-948766f9f571
++ awk -F~ '{print $1}'
++ echo foodHD~7822f08f-c09d-d890-2b46-948766f9f571
+ channelName=foodHD
+ specialID=foodHD
+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ packageAction=com.clientapp.MainActivity
+ [[ '' == '' ]]
+ speedMode=true
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.220
+ [[ -f 192.168.4.220/stream_stopped ]]
+ [[ -f 192.168.4.220/last_channel ]]
+ echo 267
+ echo 'Current PID for this script is 267'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' foodHD = exit ']'
+ '[' foodHD = reboot ']'
+ [[ -f 192.168.4.220/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
+ launchDelay
+ local lastChannel
+ local lastAwake
+ local timeNow
+ local timeElapsed
+ local maxTime=14400
+ lastChannel=GET
+ lastAwake=1742231322
++ date +%s
+ timeNow=1742231334
+ timeElapsed=12
+ '[' -f 192.168.4.220/adbAppRunning ']'
+ ((  12 < 14400  ))
+ rm 192.168.4.220/adbAppRunning
+ echo foodHD
+ tuneChannel
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity dtvnow://deeplink.directvnow.com/play/channel/foodHD/7822f08f-c09d-d890-2b46-948766f9f571
Warning: Activity not started, intent has been delivered to currently running top-most instance.
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh in 261.545525ms
[IOINFO] Successfully copied 24440 bytes
[IOINFO] Transfer speed: 0.1593590544922141 Mbits/second
Performing Close() for 192.168.4.220:5555
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh 192.168.4.220:5555 foodHD~7822f08f-c09d-d890-2b46-948766f9f571]
[EXECUTE] Stdout: 'Streaming stopped for 192.168.4.220:5555
Sleep initiated for 192.168.4.220:5555
192.168.4.220/stream_stopped written with epoch stop time
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=267
+ ps -p 267

p
+ stop='input keyevent KEYCODE_BACK;         input keyevent KEYCODE_HOME'
+ adb -s 192.168.4.220:5555 shell input keyevent 'KEYCODE_BACK;' input keyevent KEYCODE_HOME

2
+ echo 'Streaming stopped for 192.168.4.220:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.220:5555'
+ date +%s
+ echo '192.168.4.220/stream_stopped written with epoch stop time'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 5.127452577s
[GIN-debug] Request: 172.18.0.1 GET /play/tuner/foodHD~7822f08f-c09d-d890-2b46-948766f9f571, latency: 7.389183775s, status: 200
Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.220:5555 SyfyHD~148e9301-574b-e202-9f1d-5eaac40731ac 
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh 192.168.4.220:5555 SyfyHD~148e9301-574b-e202-9f1d-5eaac40731ac]
[EXECUTE] Stdout: 'already connected to 192.168.4.220:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Confirming com.att.tv on 192.168.4.220:5555
prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ mkdir -p 192.168.4.220
+ trap finish EXIT
+ main

+ adbConnect
+ adb connect 192.168.4.220:5555
+ local -i adbMaxRetries=2
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break

e
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.220:5555 shell pidof com.att.tv
+ packagePID=7901
+ '[' '!' -z 7901 ']'
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
Warning: Activity not started, its current task has been brought to the front
+ echo 'Confirming com.att.tv on 192.168.4.220:5555'
+ touch 192.168.4.220/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh in 1.071399245s
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/bmitune.sh SyfyHD~148e9301-574b-e202-9f1d-5eaac40731ac 192.168.4.220:5555]
[EXECUTE] Stdout: 'Current PID for this script is 308
Not a special channel (exit nor reboot)
Starting: Intent { act=android.intent.action.VIEW (has data) cmp=com.att.tv/com.clientapp.MainActivity }
bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '++ awk -F~ '{print $2}'
++ echo SyfyHD~148e9301-574b-e202-9f1d-5eaac40731ac
+ channelID=148e9301-574b-e202-9f1d-5eaac40731ac
++ echo SyfyHD~148e9301-574b-e202-9f1d-5eaac40731ac++ 
awk -F~ '{print $1}'
+ channelName=SyfyHD
+ specialID=SyfyHD
+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ packageAction=com.clientapp.MainActivity
+ [[ '' == '' ]]
+ speedMode=true
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.220
+ [[ -f 192.168.4.220/stream_stopped ]]
+ [[ -f 192.168.4.220/last_channel ]]
+ echo 308
+ echo 'Current PID for this script is 308'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' SyfyHD = exit ']'
+ '[' SyfyHD = reboot ']'
+ [[ -f 192.168.4.220/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
+ launchDelay
+ local lastChannel
+ local lastAwake
+ local timeNow
+ local timeElapsed
+ local maxTime=14400
+ lastChannel=foodHD
+ lastAwake=1742231340
++ date +%s
+ timeNow=1742231370
+ timeElapsed=30
+ '[' -f 192.168.4.220/adbAppRunning ']'
+ ((  30 < 14400  ))
+ rm 192.168.4.220/adbAppRunning
+ echo SyfyHD
+ tuneChannel
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity dtvnow://deeplink.directvnow.com/play/channel/SyfyHD/148e9301-574b-e202-9f1d-5eaac40731ac
Warning: Activity not started, intent has been delivered to currently running top-most instance.
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh in 238.588837ms
[IOINFO] Successfully copied 22560 bytes
[IOINFO] Transfer speed: 0.18518738803251972 Mbits/second
Performing Close() for 192.168.4.220:5555
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh 192.168.4.220:5555 SyfyHD~148e9301-574b-e202-9f1d-5eaac40731ac]
[EXECUTE] Stdout: 'Streaming stopped for 192.168.4.220:5555
Sleep initiated for 192.168.4.220:5555
192.168.4.220/stream_stopped written with epoch stop time
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=308
+ ps -p 308

p
+ stop='input keyevent KEYCODE_BACK;         input keyevent KEYCODE_HOME'
+ adb -s 192.168.4.220:5555 shell input keyevent 'KEYCODE_BACK;' input keyevent KEYCODE_HOME

2
+ echo 'Streaming stopped for 192.168.4.220:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.220:5555'
+ date +%s
+ echo '192.168.4.220/stream_stopped written with epoch stop time'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 5.084773498s
[GIN-debug] Request: 172.18.0.1 GET /play/tuner/SyfyHD~148e9301-574b-e202-9f1d-5eaac40731ac, latency: 7.139412366s, status: 200
Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.220:5555 OXGNHD~a7ee26db-54eb-601b-b8df-1a67ad0cff4d 
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh 192.168.4.220:5555 OXGNHD~a7ee26db-54eb-601b-b8df-1a67ad0cff4d]
[EXECUTE] Stdout: 'already connected to 192.168.4.220:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Confirming com.att.tv on 192.168.4.220:5555
prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ mkdir -p 192.168.4.220
+ trap finish EXIT
+ main

+ adbConnect
+ adb connect 192.168.4.220:5555
+ local -i adbMaxRetries=2
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break

e
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.220:5555 shell pidof com.att.tv
+ packagePID=7901
+ '[' '!' -z 7901 ']'
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
Warning: Activity not started, its current task has been brought to the front
+ echo 'Confirming com.att.tv on 192.168.4.220:5555'
+ touch 192.168.4.220/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh in 1.117804334s
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/bmitune.sh OXGNHD~a7ee26db-54eb-601b-b8df-1a67ad0cff4d 192.168.4.220:5555]
[EXECUTE] Stdout: 'Current PID for this script is 346
Not a special channel (exit nor reboot)
Starting: Intent { act=android.intent.action.VIEW (has data) cmp=com.att.tv/com.clientapp.MainActivity }
bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0
'
[EXECUTE] Stderr: '++ awk -F~ '{print $2}'
++ echo OXGNHD~a7ee26db-54eb-601b-b8df-1a67ad0cff4d
+ channelID=a7ee26db-54eb-601b-b8df-1a67ad0cff4d
++ ++ echo OXGNHD~a7ee26db-54eb-601b-b8df-1a67ad0cff4d
awk -F~ '{print $1}'
+ channelName=OXGNHD
+ specialID=OXGNHD
+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ packageAction=com.clientapp.MainActivity
+ [[ '' == '' ]]
+ speedMode=true
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.220
+ [[ -f 192.168.4.220/stream_stopped ]]
+ [[ -f 192.168.4.220/last_channel ]]
+ echo 346
+ echo 'Current PID for this script is 346'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' OXGNHD = exit ']'
+ '[' OXGNHD = reboot ']'
+ [[ -f 192.168.4.220/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
+ launchDelay
+ local lastChannel
+ local lastAwake
+ local timeNow
+ local timeElapsed
+ local maxTime=14400
+ lastChannel=SyfyHD
+ lastAwake=1742231376
++ date +%s
+ timeNow=1742231390
+ timeElapsed=14
+ '[' -f 192.168.4.220/adbAppRunning ']'
+ ((  14 < 14400  ))
+ rm 192.168.4.220/adbAppRunning
+ echo OXGNHD
+ tuneChannel
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity dtvnow://deeplink.directvnow.com/play/channel/OXGNHD/a7ee26db-54eb-601b-b8df-1a67ad0cff4d
Warning: Activity not started, intent has been delivered to currently running top-most instance.
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh in 160.608166ms
[IOINFO] Successfully copied 24064 bytes
[IOINFO] Transfer speed: 0.17763214051768225 Mbits/second
Performing Close() for 192.168.4.220:5555
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh 192.168.4.220:5555 OXGNHD~a7ee26db-54eb-601b-b8df-1a67ad0cff4d]
[EXECUTE] Stdout: 'Streaming stopped for 192.168.4.220:5555
Sleep initiated for 192.168.4.220:5555
192.168.4.220/stream_stopped written with epoch stop time
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=346
+ ps -p 346

p
+ stop='input keyevent KEYCODE_BACK;         input keyevent KEYCODE_HOME'
+ adb -s 192.168.4.220:5555 shell input keyevent 'KEYCODE_BACK;' input keyevent KEYCODE_HOME

2
+ echo 'Streaming stopped for 192.168.4.220:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.220:5555'
+ date +%s
+ echo '192.168.4.220/stream_stopped written with epoch stop time'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 4.665585128s
[GIN-debug] Request: 172.18.0.1 GET /play/tuner/OXGNHD~a7ee26db-54eb-601b-b8df-1a67ad0cff4d, latency: 6.875720598s, status: 200
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::	ip6-localnet
ff00::	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.18.0.2	ah4c
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
connected to 192.168.4.220:5555
No existing ./scripts/firetv/directv/prebmitune.sh found or UPDATE_SCRIPTS set to true
No existing ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh found or UPDATE_SCRIPTS set to true
No existing ./scripts/firetv/directv/bmitune.sh found or UPDATE_SCRIPTS set to true
No existing ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh found or UPDATE_SCRIPTS set to true
No existing ./scripts/firetv/directv/stopbmitune.sh found or UPDATE_SCRIPTS set to true
No existing ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh found or UPDATE_SCRIPTS set to true
Existing directv.m3u found, and will be preserved
Existing dtvdeeplinks.m3u found, and will be preserved
Existing dtvosprey.m3u found, and will be preserved
Existing dtvstream.m3u found, and will be preserved
Existing dtvstreamdeeplinks.m3u found, and will be preserved
Existing foo-fighters.m3u found, and will be preserved
Existing fubo.m3u found, and will be preserved
Existing hulu.m3u found, and will be preserved
Existing livetv.m3u found, and will be preserved
Existing nbc.m3u found, and will be preserved
Existing npo.m3u found, and will be preserved
Existing pbs-seatac.m3u found, and will be preserved
Existing pbs-worcester.m3u found, and will be preserved
Existing silicondust.m3u found, and will be preserved
Existing sling.m3u found, and will be preserved
Existing spectrum.m3u found, and will be preserved
Existing xfinity.m3u found, and will be preserved
Existing youtubetv_shield.m3u found, and will be preserved
Existing youtubetv.m3u found, and will be preserved
[START] ah4c is starting
[ENV] Not loading env
[ENV] IPADDRESS                  192.168.4.35:7654
[ENV] ALERT_SMTP_SERVER          
[ENV] ALERT_AUTH_SERVER          
[ENV] ALERT_EMAIL_FROM           
[ENV] ALERT_EMAIL_PASS           
[ENV] ALERT_EMAIL_TO             
[ENV] ALERT_WEBHOOK_URL          
[ENV] ALLOW_DEBUG_VIDEO_PREVIEW  
[ENV] Creating tuner             1
[ENV] ENCODER1_URL               http://192.168.4.89:81/ts/1_0
[ENV] TUNER1_IP                  192.168.4.220:5555
[ENV] CMD1                       
[ENV] TEECMD1                    
[ENV] PRE SCRIPT                 ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh
[ENV] START SCRIPT               ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh
[ENV] STOP SCRIPT                ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh
[ENV] REBOOT SCRIPT              ./scripts/firetv/dtvstreamdeeplinks/reboot.sh
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:	export GIN_MODE=release
 - using code:	gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET    /favicon.ico              --> github.com/gin-gonic/gin.(*RouterGroup).StaticFile.func1 (2 handlers)
[GIN-debug] HEAD   /favicon.ico              --> github.com/gin-gonic/gin.(*RouterGroup).StaticFile.func1 (2 handlers)
[GIN-debug] Loaded HTML Templates (11): 
	- status.html
	- status_and_logs.html
	- 

	- edit.html
	- editm3u.html
	- index.html

	- m3us.html
	- routes.html
	- stream.html
	- config.html

	- logs.html
[GIN-debug] GET    /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (2 handlers)
[GIN-debug] HEAD   /static/*filepath         --> github.com/gin-gonic/gin.(*RouterGroup).createStaticHandler.func1 (2 handlers)
[GIN-debug] GET    /                         --> main.run.func1 (2 handlers)
[GIN-debug] GET    /routes                   --> main.run.func2 (2 handlers)
[GIN-debug] GET    /play/tuner:tuner/:channel --> main.run.func3 (2 handlers)
[GIN-debug] GET    /m3u/:channel             --> main.run.func4 (2 handlers)
[GIN-debug] GET    /env                      --> main.run.func5 (2 handlers)
[GIN-debug] GET    /logs/text                --> main.run.func6 (2 handlers)
[GIN-debug] GET    /logs                     --> main.run.func7 (2 handlers)
[GIN-debug] GET    /status/andlogs           --> main.run.func8 (2 handlers)
[GIN-debug] GET    /logs/json                --> main.run.func9 (2 handlers)
[GIN-debug] GET    /video                    --> main.run.func10 (2 handlers)
[GIN-debug] GET    /status                   --> main.statusPageHandler (2 handlers)
[GIN-debug] GET    /api/status               --> main.apiStatusHandler (2 handlers)
[GIN-debug] GET    /stream                   --> main.run.func11 (2 handlers)
[GIN-debug] GET    /test/webhook             --> main.run.func12 (2 handlers)
[GIN-debug] GET    /test/email               --> main.run.func13 (2 handlers)
[GIN-debug] GET    /status/channelsactivity  --> main.run.func14 (2 handlers)
[GIN-debug] GET    /edit                     --> main.run.func15 (2 handlers)
[GIN-debug] POST   /save                     --> main.run.func16 (2 handlers)
[GIN-debug] POST   /m3usave/:file            --> main.run.func17 (2 handlers)
[GIN-debug] GET    /m3us                     --> main.run.func18 (2 handlers)
[GIN-debug] GET    /editm3u/:file            --> main.run.func19 (2 handlers)
[GIN-debug] GET    /config                   --> main.run.func20 (2 handlers)
[GIN-debug] POST   /configsave               --> main.run.func21 (2 handlers)
[START] ah4c is ready
[GIN-debug] Listening and serving HTTP on :7654
> ws-scrcpy@0.8.1-dev start
> node ./index.js
Listening on:
	http://ah4c:8000 http://localhost:8000
	http://127.0.0.1:8000 http://172.18.0.2:8000
	http://[::1]:8000
Attempting network tune for device http://192.168.4.89:81/ts/1_0 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
[EXECUTE] Stdout: 'already connected to 192.168.4.220:5555
Starting: Intent { cmp=com.att.tv/com.clientapp.MainActivity }
Confirming com.att.tv on 192.168.4.220:5555
prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0

[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ mkdir -p 192.168.4.220
+ trap finish EXIT
+ main

+ adbConnect
+ adb connect 192.168.4.220:5555
+ local -i adbMaxRetries=2
+ local -i adbCounter=0
+ true
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_WAKEUP
+ local adbEventSuccess=0
+ [[ 0 -eq 0 ]]
+ break

e
+ packageLaunch=com.clientapp.MainActivity
+ packageName=com.att.tv
++ adb -s 192.168.4.220:5555 shell pidof com.att.tv
+ packagePID=7901
+ '[' '!' -z 7901 ']'
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity
Warning: Activity not started, its current task has been brought to the front
+ echo 'Confirming com.att.tv on 192.168.4.220:5555'
+ touch 192.168.4.220/adbAppRunning
+ finish
+ echo 'prebmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'

[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/prebmitune.sh in 1.018557794s
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/bmitune.sh CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428 192.168.4.220:5555]
[EXECUTE] Stdout: 'Current PID for this script is 89
Not a special channel (exit nor reboot)
Starting: Intent { act=android.intent.action.VIEW (has data) cmp=com.att.tv/com.clientapp.MainActivity }
bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0

[EXECUTE] Stderr: '++ echo ++ CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
awk -F~ '{print $2}'
+ channelID=d3603aea-f5d8-e789-786c-43c5e8799428
++ awk -F~ '{print $1}'
++ echo CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428
+ channelName=CNNHD
+ specialID=CNNHD
+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ packageAction=com.clientapp.MainActivity
+ [[ '' == '' ]]
+ speedMode=true
+ trap finish EXIT
+ main
+ updateReferenceFiles
+ mkdir -p 192.168.4.220
+ [[ -f 192.168.4.220/stream_stopped ]]
+ [[ -f 192.168.4.220/last_channel ]]

9
+ echo 'Current PID for this script is 89'
+ matchEncoderURL
+ case "$streamerIP" in
+ encoderURL=http://192.168.4.89:81/ts/1_0
+ specialChannels
+ '[' CNNHD = exit ']'
+ '[' CNNHD = reboot ']'
+ [[ -f 192.168.4.220/adbCommunicationFail ]]
+ echo 'Not a special channel (exit nor reboot)'
+ launchDelay
+ local lastChannel
+ local lastAwake
+ local timeNow
+ local timeElapsed
+ local maxTime=14400
+ lastChannel=OXGNHD
+ lastAwake=1742231396
++ date +%s
+ timeNow=1742231595
+ timeElapsed=199
+ '[' -f 192.168.4.220/adbAppRunning ']'
+ ((  199 < 14400  ))
+ rm 192.168.4.220/adbAppRunning

+ echo CNNHD
+ tuneChannel
+ adb -s 192.168.4.220:5555 shell am start -n com.att.tv/com.clientapp.MainActivity dtvnow://deeplink.directvnow.com/play/channel/CNNHD/d3603aea-f5d8-e789-786c-43c5e8799428
Warning: Activity not started, intent has been delivered to currently running top-most instance.
+ finish
+ echo 'bmitune.sh is exiting for 192.168.4.220:5555 with exit code 0'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/bmitune.sh in 192.719487ms
[IOINFO] Successfully copied 24816 bytes
[IOINFO] Transfer speed: 0.1630691102130814 Mbits/second
Performing Close() for 192.168.4.220:5555
[EXECUTE] Running [./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh 192.168.4.220:5555 CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428]
[EXECUTE] Stdout: 'Streaming stopped for 192.168.4.220:5555
Sleep initiated for 192.168.4.220:5555
192.168.4.220/stream_stopped written with epoch stop time
'
[EXECUTE] Stderr: '+ streamerIP=192.168.4.220:5555
+ streamerNoPort=192.168.4.220
+ adbTarget='adb -s 192.168.4.220:5555'
+ packageName=com.att.tv
+ main
+ bmituneDone
+ bmitunePID=89
+ ps -p 89

p
+ stop='input keyevent KEYCODE_BACK;         input keyevent KEYCODE_HOME'
+ adb -s 192.168.4.220:5555 shell input keyevent 'KEYCODE_BACK;' input keyevent KEYCODE_HOME

2
+ echo 'Streaming stopped for 192.168.4.220:5555'
+ adbSleep
+ sleep='input keyevent KEYCODE_SLEEP'
+ adb -s 192.168.4.220:5555 shell input keyevent KEYCODE_SLEEP
+ echo 'Sleep initiated for 192.168.4.220:5555'
+ date +%s
+ echo '192.168.4.220/stream_stopped written with epoch stop time'
'
[EXECUTE] Finished running ./scripts/firetv/dtvstreamdeeplinks/stopbmitune.sh in 4.931756741s
[GIN-debug] Request: 172.18.0.1 GET /play/tuner/CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428, latency: 7.176593956s, status: 200

It is an EXVIST it shows the stream in the device page. The encoder page did show what was happening before I switched to deep links

Are you updating your CDVR Custom Channel Source to reflect the change in M3U with the different methods? Including reloading the M3U? What are you seeing in the CDVR log itself related to this tuning activity?

After leaving this for a bit, I came back and I did see the stream start. Almost as soon as the channel opened, AH4C shut it down.
Channels log

2025/03/17 14:07:23.789621 [TNR] Opened connection to M3U-AH4C for ch11477 CNNHD
2025/03/17 14:07:23.789621 [HLS] Starting live stream for channel 11477 from 192.168.4.35
2025/03/17 14:07:23.817811 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [mpegts @ 000001b29e34fac0] Packet corrupt (stream = 0, dts = 369148500), dropping it.
2025/03/17 14:07:23.817811 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hevc @ 000001b29e35eb00] Invalid NAL unit 4, skipping.
2025/03/17 14:07:23.817811 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:      Last message repeated 2 times
2025/03/17 14:07:23.817811 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [extract_extradata @ 000001b29e36c000] Invalid NAL unit 4, skipping.
2025/03/17 14:07:23.817811 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:      Last message repeated 2 times
2025/03/17 14:07:23.817811 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hevc @ 000001b29e35eb00] Invalid NAL unit 4, skipping.
2025/03/17 14:07:23.819372 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:      Last message repeated 2 times
2025/03/17 14:07:23.819372 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hevc @ 000001b29e35eb00] Could not find ref with POC 0
2025/03/17 14:07:23.822489 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hevc @ 000001b29e35eb00] Invalid NAL unit 4, skipping.
2025/03/17 14:07:23.822489 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:      Last message repeated 27 times
2025/03/17 14:07:23.822489 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [mpegts @ 000001b29e34fac0] Packet corrupt (stream = 0, dts = 369238500), dropping it.
2025/03/17 14:07:23.822489 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hevc @ 000001b29e35eb00] Invalid NAL unit 4, skipping.
2025/03/17 14:07:23.822489 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:      Last message repeated 29 times
2025/03/17 14:07:23.822489 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [mpegts @ 000001b29e34fac0] Packet corrupt (stream = 0, dts = 369328500), dropping it.
2025/03/17 14:07:23.822489 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hevc @ 000001b29e35eb00] Invalid NAL unit 4, skipping.
2025/03/17 14:07:23.823007 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:      Last message repeated 29 times
2025/03/17 14:07:23.823007 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [mpegts @ 000001b29e34fac0] Packet corrupt (stream = 0, dts = 369418500), dropping it.
2025/03/17 14:07:23.823007 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hevc @ 000001b29e35eb00] Invalid NAL unit 4, skipping.
2025/03/17 14:07:24.037624 [HLS] Probed live stream in 247.4983ms: hevc 1920x1080 progressive 146310bps
2025/03/17 14:07:30.397797 [TNR] Closed connection to M3U-AH4C for ch11477 CNNHD
2025/03/17 14:07:30.397797 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:      Last message repeated 29 times
2025/03/17 14:07:30.397797 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [mpegts @ 000001b29e34fac0] Packet corrupt (stream = 0, dts = 369508500), dropping it.
2025/03/17 14:07:30.398303 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hevc @ 000001b29e35eb00] Invalid NAL unit 4, skipping.
2025/03/17 14:07:30.398303 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:      Last message repeated 8 times
2025/03/17 14:07:30.398303 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [mpegts @ 000001b29e34fac0] Could not find codec parameters for stream 1 (Unknown: none ([255][0][0][0] / 0x00FF)): unknown codec
2025/03/17 14:07:30.398303 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (8000000) options
2025/03/17 14:07:30.399953 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  [hls @ 000001b29e36b5c0] Stream HEVC is not hvc1, you should use tag:v hvc1 to set it.
2025/03/17 14:07:30.428500 [HLS] Stopping transcoder session ch11477-dANY-ip192.168.4.35 (out=0s finished=true first_seq=0 last_seq=-1)
2025/03/17 14:07:30.428500 [SNR] Buffer statistics for ch11477 CNNHD: buf=0% drop=0%
2025/03/17 14:07:31.453859 [TNR] Opened connection to M3U-AH4C for ch11477 CNNHD
2025/03/17 14:07:31.453859 [HLS] Starting live stream for channel 11477 from 192.168.4.35
2025/03/17 14:07:38.491346 [TNR] Closed connection to M3U-AH4C for ch11477 CNNHD
2025/03/17 14:07:38.491346 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  Output file #0 does not contain any stream
2025/03/17 14:07:38.495722 [HLS] Stopping transcoder session ch11477-dANY-ip192.168.4.35 (out=0s finished=true first_seq=0 last_seq=-1)
2025/03/17 14:07:38.496228 [ERR] Probe cancelled for live stream after 7.0418021s and 0 bytes
2025/03/17 14:07:40.198932 [TNR] Opened connection to M3U-AH4C for ch11477 CNNHD
2025/03/17 14:07:40.198932 [HLS] Starting live stream for channel 11477 from 192.168.4.35
2025/03/17 14:07:46.095436 [TNR] Closed connection to M3U-AH4C for ch11477 CNNHD
2025/03/17 14:07:46.095436 [HLS] ffmpeg: ch11477-dANY-ip192.168.4.35-remux:  Output file #0 does not contain any stream
2025/03/17 14:07:46.099591 [HLS] Stopping transcoder session ch11477-dANY-ip192.168.4.35 (out=0s finished=true first_seq=0 last_seq=-1)
2025/03/17 14:07:46.099591 [ERR] Probe cancelled for live stream after 5.9001002s and 0 bytes
2025/03/17 14:07:47.412094 [TNR] Opened connection to M3U-AH4C for ch11477 CNNHD
2025/03/17 14:07:47.412094 [HLS] Starting live stream for channel 11477 from 192.168.4.35
2025/03/17 14:07:49.101371 [HLS] Stopping transcoder session ch11477-dANY-ip192.168.4.35 (out=0s finished=false first_seq=0 last_seq=-1)
2025/03/17 14:07:49.101932 [TNR] Closed connection to M3U-AH4C for ch11477 CNNHD
2025/03/17 14:07:49.102564 [ERR] Probe cancelled for live stream after 1.6899334s and 0 bytes
2025/03/17 14:07:49.105399 [SNR] Buffer statistics for ch11477 CNNHD: buf=0% drop=0%

What do you see in VLC when you tune to this network stream:

http://192.168.4.89:81/ts/1_0

Also, what do you see in VLC when tuning to:

http://192.168.4.35:7654/play/tuner/CNNHD~d3603aea-f5d8-e789-786c-43c5e8799428

I see the home page in the firestick with the first one.
The second opens and plays CNN

Just what we'd expect, and indicates ah4c is working properly. This suggests something is amiss with your CDVR Custom Channels source. Could you post a screenshot of it please?

Your screenshot looks correct.

Maybe Channels doesn't like your HEVC stream? Try changing it to H.264...

If you mean this setting in the Advanced page, it was not checked. Otherwise, you lost me.

Use HEVC for transcoding

Use HEVC (H.265) for transcoding instead of H.264 for streaming to client apps. Requires hardware that can handle encoding HEVC.

Unless Channels is misidentifying the stream coming from your encoder, it's HEVC. Check if that's the case in your encoder's settings, and try H.264 if it is.

Yes, it was 265, I set it to 264 and rebooted the encoder. Now when I try a channel, I briefly see the home page of the Fire Stick, then it goes blank. I really thought you had it!

Maybe try some different encoding bitrates in the ~8000 range, and try CBR instead of VBR. You should probably search the forum to see what others with an EXVIST encoder are using for settings. I'm not familiar with it.

Based on the errors in CDVR log, the stream itself seems like where the issue lies. VLC can handle the stream as-is, but Channels doesn't seem to like it.

As long as you can use ah4c with VLC, you can be pretty confident the problem is somewhere other than ah4c. You can test other callsign~resourceid values from the M3U to confirm they work with VLC.