fyi at least on the osprey's you may have a stack of adb authorizations build up in the background (usually you can see them by pressing menu) but in your current state they may be there, but not showing. they need power cycled. then when their up, start/restart ah4c/adbtuner and make sure the current saved key is authorized.
This did it, thank you!!
Which "this" did it? Are you now running ah4c or ADBTuner?
I’m on ADBTuner and so far it’s working perfectly
@bnhf
Looking to move from Channel Numbers to deeplinks on my Osprey's in ah4c. I utilized Olive Tin Action to gather the m3u deeplinks data (P1C is great). Below are my current compose and environmental variables. What changes do I need to facilitate?
I have already made a backup of my channel number m3u's in case I need to revert.
version: '3.9'
services:
# 2024.10.30
# GitHub home for this project with setup instructions: https://github.com/sullrich/ah4c
# Docker Hub home for this project: https://hub.docker.com/repository/docker/bnhf/ah4c
ah4c:
image: bnhf/ah4c:${TAG}
container_name: ah4c
hostname: ah4c
dns_search: ${DOMAIN} # Specify the name of your LAN's domain, usually local or localdomain
ports:
- ${ADBS_PORT}:5037 # Port used by adb-server
- ${HOST_PORT}:7654 # Port used by this ah4c proxy
- ${WSCR_PORT}:8000 # Port used by ws-scrcpy
environment:
- IPADDRESS=${IPADDRESS} # Hostname or IP address of this ah4c 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, 4, 5, 6, 7, 8 or 9 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
- TUNER5_IP=${TUNER5_IP} # Streaming device #5 with adb port in the form hostname:port or ip:port
- TUNER6_IP=${TUNER6_IP} # Streaming device #6 with adb port in the form hostname:port or ip:port
- TUNER7_IP=${TUNER7_IP} # Streaming device #7 with adb port in the form hostname:port or ip:port
- TUNER8_IP=${TUNER8_IP} # Streaming device #8 with adb port in the form hostname:port or ip:port
- TUNER9_IP=${TUNER9_IP} # Streaming device #9 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
- ENCODER5_URL=${ENCODER5_URL} # Full URL for tuner #5 in the form http://hostname/stream or http://ip/stream
- ENCODER6_URL=${ENCODER6_URL} # Full URL for tuner #6 in the form http://hostname/stream or http://ip/stream
- ENCODER7_URL=${ENCODER7_URL} # Full URL for tuner #7 in the form http://hostname/stream or http://ip/stream
- ENCODER8_URL=${ENCODER8_URL} # Full URL for tuner #8 in the form http://hostname/stream or http://ip/stream
- ENCODER9_URL=${ENCODER9_URL} # Full URL for tuner #9 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=${ALERT_SMTP_SERVER} # The domainname:port of the SMTP server you'll be using like smtp.gmail.com:587. This is for sending ah4c alerts if tuning fails.
- ALERT_AUTH_SERVER=${ALERT_AUTH_SERVER} # The auth server for the e-mail you'll be using like smtp.gmail.com
- ALERT_EMAIL_FROM=${ALERT_EMAIL_FROM} # The e-mail address you'd like your ah4c failure alert e-mails to show as being from.
- ALERT_EMAIL_PASS=${ALERT_EMAIL_PASS} # Gmail and Yahoo both support the creation of app-specific e-mail passwords, and this is the way to go! It's NOT recommended to use your everyday e-mail password.
- ALERT_EMAIL_TO=${ALERT_EMAIL_TO} # The e-mail address you'd like your alert e-mails sent to.
#- ALERT_WEBHOOK_URL=""
- LIVETV_ATTEMPTS=${LIVETV_ATTEMPTS} # For FireTV Live Guide tuning only, set maximum number of attempts at finding the desired channel
- CREATE_M3US=${CREATE_M3US} # Set to true to create device-specific M3Us for use with Amazon Prime Premium channels -- requires a FireTV device
- UPDATE_SCRIPTS=${UPDATE_SCRIPTS} # Set to true if you'd like the sample scripts and STREAMER_APP scripts updated whether they exist or not
- UPDATE_M3US=${UPDATE_M3US} # Set to true if you'd like the sample m3us updated whether they exist or not
- TZ=${TZ} # Your local timezone in Linux "tz" format
- SPEED_MODE=${SPEED_MODE} # Set to false if you'd like the target streaming app to be closed after each tuning cycle (limited script support).
- KEEP_WATCHING=${KEEP_WATCHING} # In supported scripts, set the delay before resending a tuning deeplink to prevent "Are you still watching?" type messages. Examples: Use 4h for 4 hours or 240m for 240 minutes.
volumes:
- ${HOST_DIR}/ah4c/scripts:/opt/scripts # pre/stop/bmitune.sh scripts will be stored in this bound host directory under streamer/app
- ${HOST_DIR}/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
- ${HOST_DIR}/ah4c/adb:/root/.android # Persistent data directory for adb keys
restart: unless-stopped
**strong text**
TAG=latest
DOMAIN=local
ADBS_PORT=5037
HOST_PORT=7654
WSCR_PORT=7655
IPADDRESS=10.0.1.65:7654
NUMBER_TUNERS=3
TUNER1_IP=10.0.1.76:5555
ENCODER1_URL=http://10.0.1.34:8090/stream0
TUNER2_IP=10.0.1.29:5555
ENCODER2_URL=http://10.0.1.34:8090/stream1
TUNER3_IP=10.0.1.77:5555
ENCODER3_URL=http://10.0.1.34:8090/stream2
TUNER4_IP=
ENCODER4_URL=
TUNER5_IP=
ENCODER5_URL=
STREAMER_APP=scripts/osprey/directv
CHANNELSIP=10.0.1.65
ALERT_SMTP_SERVER=
ALERT_AUTH_SERVER=
ALERT_EMAIL_FROM=
ALERT_EMAIL_PASS=
ALERT_EMAIL_TO=
UPDATE_SCRIPTS=true
UPDATE_M3US=false
TZ=US/CENTRAL
SPEED_MODE=false
KEEP_WATCHING=4h
HOST_DIR=/volume1/data
scripts/osprey/dtvospreydeeplinks
Which m3u file is this using? Want to make sure I put my info in the correct file.
that isn't an m3u file. that's the script location.
update the script location, drop your new m3u in the bind mount m3u folder, name it whatever.m3u and point channels at it.
Got it figured out. I added dtvospreydeeplinks.m3u to the m3u folder and changed the CDR source to the new m3u file and all is working right now.
So you need to also update the .env file.
STREAMER_APP=scripts/osprey/dtvospreydeeplinks
Did that first from your earlier post. Added my m3u file but had forgot to change the CDR source url so it sent me to wrong stations. Once I changed that, everything was good. My tuning is now about 8-9 secs versus 11-13 secs with the channel numbers.
My biggest issue was getting the m3u data from Chrome. DTV would lock me out every time I tried to log on thru Chrome and make me reset password. I finally used Chrome to reset (vs my normal browser) and was able to grab the data. One thing that I did notice is that you can use the old password when resetting which I thought odd.
I find it odd that companies feel the need to keep a record of the old password. (my bank keeps last 10)
alot has changed in the ~30yrs of cybersecurity, but the #1 rule has never changed, and they are finally realizing it again. the most secure password is the one you remember.
I mean this is the company that has you use email and SMS for 2FA and doesn't support TOTP or really passkeys or anything. Security-wise, it's a data breach waiting to happen.
A post was merged into an existing topic: ADBTuner: A "channel tuning" application for networked Google TV / Android TV devices