I've updated the bnhf/ah4c:latest and bnhf/ah4c:test containers (they're the same currently) to the latest sullrich/ah4c (@KompilerDJ) code base. This includes the most recent m3u and scripts support for DirecTV and Sling TV.
Also, I've added UPDATE_SCRIPTS and UPDATE_M3US environment variables that can be used to force an overwrite of the m3u and script files in your persistent data directory. Normally these files are not overwritten if they already exist -- just in case you've added changes of your own.
Here's what it would look like in your Portainer environment variables section if you want to update the M3Us only to the latest versions from the repo. The files in question will be overwritten every time you launch or update the container, as long as the env var is set to true:
Also, for those that want to use a couple of encoder ports for one streaming service, and the remaining ports for another -- running two containers is an easy way to accomplish this.
Change the port mapping on the second container (7664 works well), and comment out the adb-server port (this is only needed for specialized scenarios). Also, the second ws-scrcpy needs its own port, so you can change that to 7665 (for example). The data directory bindings can typically stay the same.
As you can see below, the container_name and hostname values have been set to ah4c2.
The IPADDRESS env var would change from htpc6:7654 in my above screenshot to htpc6:7664 for the second container. Your second container's Custom Channels setup (on the Channels DVR Settings page) needs to reflect this alternate port number as well:
version: '3.9'
services:
ah4c:
image: bnhf/ah4c:latest
container_name: ah4c2
hostname: ah4c2
dns_search: localdomain # Specify the name of your LAN's domain, usually local or localdomain
ports:
#- 5037:5037 # Port used by adb-server
- 7664:7654 # Port used by this androidhdmi-for-channels proxy
- 7665:8000 # Port used by ws-scrcpy
environment:
- IPADDRESS=${IPADDRESS} # Hostname or IP address of this androidhdmi-for-channels extension to be used in M3U file (also add port number if not in M3U)
- NUMBER_TUNERS=${NUMBER_TUNERS} # Number of tuners you'd like defined 1, 2, 3 or 4 supported
- TUNER1_IP=${TUNER1_IP} # Streaming device #1 with adb port in the form hostname:port or ip:port
- TUNER2_IP=${TUNER2_IP} # Streaming device #2 with adb port in the form hostname:port or ip:port
- TUNER3_IP=${TUNER3_IP} # Streaming device #3 with adb port in the form hostname:port or ip:port
- TUNER4_IP=${TUNER4_IP} # Streaming device #4 with adb port in the form hostname:port or ip:port
- ENCODER1_URL=${ENCODER1_URL} # Full URL for tuner #1 in the form http://hostname/stream or http://ip/stream
- ENCODER2_URL=${ENCODER2_URL} # Full URL for tuner #2 in the form http://hostname/stream or http://ip/stream
- ENCODER3_URL=${ENCODER3_URL} # Full URL for tuner #3 in the form http://hostname/stream or http://ip/stream
- ENCODER4_URL=${ENCODER4_URL} # Full URL for tuner #4 in the form http://hostname/stream or http://ip/stream
- STREAMER_APP=${STREAMER_APP} # Streaming device name and streaming app you're using in the form scripts/streamer/app (use lowercase with slashes between as shown)
- CHANNELSIP=${CHANNELSIP} # Hostname or IP address of the Channels DVR server itself
#- ALERT_SMTP_SERVER="smtp.gmail.com:587"
#- ALERT_AUTH_SERVER="smtp.gmail.com"
#- ALERT_EMAIL_FROM=""
#- ALERT_EMAIL_PASS=""
#- ALERT_EMAIL_TO=""
#- ALERT_WEBHOOK_URL=""
- UPDATE_SCRIPTS=${UPDATE_SCRIPTS} # Set to true if you'd like the sample scripts and STREAMER_APP scripts updated whether they exist of not
- UPDATE_M3US=${UPDATE_M3US} # Set to true if you'd like the sample m3us updated whether they exist of not
- TZ=${TZ} # Your local timezone in Linux "tz" format
volumes:
- /data/ah4c/scripts:/opt/scripts # pre/stop/bmitune.sh scripts will be stored in this bound host directory under streamer/app
- /data/ah4c/m3u:/opt/m3u # m3u files will be stored here and hosted at http://<hostname or ip>:7654/m3u for use in Channels DVR - Custom Channels settings
- /data/ah4c/adb:/root/.android # Persistent data directory for adb keys
restart: unless-stopped