I'm confused; that is exactly what the SLM Stream Address setting is. You set that and it uses that address/port in all the STRM files. In my Docker test, all I had to do was change the default value to my host machine's IP address and the mapped port, and then everything worked. Am I missing something?
You've made me paranoid, so I just tested again, and all is well:
Docker environment variables and showing Docker internal IP Address
Setting the 'SLM Stream Address' to host machine IP and mapped port
Creating a SLM Stream Video
Generated Stream File is using the SLM Stream Address
Video plays in Channels client and third-party tools like VLC
Client Logs
04-24 10:01:36.582 13902 13902 I mpv : command: loadfile http://10.255.1.144:5001/playlists/streams/stream?url=https://www.youtube.com/watch?v=Ke6XX8FHOHM replace start=none,pause=no,sid=no
04-24 10:01:36.614 13902 13968 I mpv : event: start-file
04-24 10:01:36.616 13902 13968 D mpv : [global] config path: 'watch_later' -> '/data/user/0/com.getchannels.dvr.app/files/mpv/watch_later'
04-24 10:01:36.616 13902 13968 V mpv : [cplayer] Setting option 'start' = 'none' (flags = 16)
04-24 10:01:36.622 13902 13968 V mpv : [cplayer] Setting option 'pause' = 'no' (flags = 16)
04-24 10:01:36.622 13902 13968 V mpv : [cplayer] Setting option 'sid' = 'no' (flags = 16)
04-24 10:01:36.626 13902 13968 V mpv : [ffmpeg] Opening http://10.255.1.144:5001/playlists/streams/stream?url=https://www.youtube.com/watch?v=Ke6XX8FHOHM
04-24 10:01:36.636 13902 13983 I OpenGLRenderer: Davey! duration=1182ms; Flags=1, IntendedVsync=4249757671261539, Vsync=4249758638894853, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=4249758651512687, AnimationStart=4249758651544812, PerformTraversalsStart=4249758651871979, DrawStart=4249758847527187, SyncQueued=4249758847575646, SyncStart=4249758848035646, IssueDrawCommandsStart=4249758848140646, SwapBuffers=4249758852955812, FrameCompleted=4249758853989937, DequeueBufferDuration=185000, QueueBufferDuration=359000,
04-24 10:01:36.638 13902 13968 D mpv : [ffmpeg] tcp: Starting connection attempt to 10.255.1.144 port 5001
04-24 10:01:36.647 13902 13968 D mpv : [ffmpeg] tcp: Successfully connected to 10.255.1.144 port 5001
SLM Logs
2025-04-24 10:11:53.539556: INFO: Starting to retrieve manifest for https://www.youtube.com/watch?v=Ke6XX8FHOHM.
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out missing (logger) (No ANSI), error utf-8 (No ANSI), screen missing (logger) (No ANSI)
[debug] yt-dlp version [email protected] from yt-dlp/yt-dlp [5e457af57] (pip) API
[debug] params: {'verbose': True, 'no_warnings': False, 'format': 'all', 'retries': 0, 'fragment_retries': 0, 'logger': <__main__.YTDLLogger object at 0x7f0390428590>, 'extractor_args': {'youtube': {'player_client': ['web_safari'], 'formats': ['missing_pot'], 'player_skip': ['configs', 'webpage', 'js'], 'skip': ['dash', 'translated_subs']}}, 'compat_opts': set(), 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en-us,en;q=0.5', 'Sec-Fetch-Mode': 'navigate'}}
[debug] Python 3.12.10 (CPython x86_64 64bit) - Linux-5.15.146.1-microsoft-standard-WSL2-x86_64-with-glibc2.36 (OpenSSL 3.0.15 3 Sep 2024, glibc 2.36)
[debug] exe versions: none
[debug] Optional libraries: certifi-2025.01.31, requests-2.32.3, sqlite3-3.40.1, urllib3-2.3.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests
[debug] Plugin directories: none
[debug] Loaded 1850 extractors
2025-04-24 10:11:54.099140: INFO: Extracting info from https://www.youtube.com/watch?v=Ke6XX8FHOHM...
[youtube] Extracting URL: https://www.youtube.com/watch?v=Ke6XX8FHOHM
[WARNING] [youtube] No GVS PO Token provided for web_safari client, which may be required for working web_safari formats. This client will be deprioritized
[youtube] Ke6XX8FHOHM: Downloading web safari player API JSON
[WARNING] [youtube] Ke6XX8FHOHM: Cannot decrypt nsig without player_url: Some formats may be missing
[youtube] Ke6XX8FHOHM: Downloading m3u8 information
[youtube] Ke6XX8FHOHM: Downloading initial data API JSON
2025-04-24 10:11:55.961970: INFO: Extraction successful for https://www.youtube.com/watch?v=Ke6XX8FHOHM.
2025-04-24 10:11:55.962535: INFO: Found 10 formats.
2025-04-24 10:11:55.963014: INFO: Best format URL found using m3u8 protocol: https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1745525515/ei/q0YKaJe2E7OHkucPiv26mQE/ip/108.34.251.146/id/29ee975fc1473873/itag/96/source/youtube/requiressl/yes/ratebypass/yes/pfa/1/sgoap/clen%3D7519596%3Bdur%3D464.584%3Bgir%3Dyes%3Bitag%3D140%3Blmt%3D1739356584915052/sgovp/clen%3D76782351%3Bdur%3D464.533%3Bgir%3Dyes%3Bitag%3D137%3Blmt%3D1739360207622397/rqh/1/hls_chunk_host/rr6---sn-8xgp1vo-cvne.googlevideo.com/xpc/EgVo2aDSNQ%3D%3D/met/1745503915,/mh/Nq/mm/31,29/mn/sn-8xgp1vo-cvne,sn-8xgp1vo-ab5s/ms/au,rdu/mv/m/mvi/6/pl/17/rms/au,au/initcwndbps/5383750/bui/AccgBcPmZKxgmgYqyc7lPogACvZjKXJBQf7X2Suk1bvzyD2a_nnXC-cJy-pTUmc-QNtOhLWrLV-J-5s_/spc/_S3wKl46Dae1jjCmV8_TjXAWRP4yP-qm-aY9NIXm1rUSisLxSWgR54uTm9lyzRE0uJXqOz46ww/vprv/1/playlist_type/CLEAN/dover/11/txp/5532534/mt/1745503521/fvip/2/keepalive/yes/fexp/51355912/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,pfa,sgoap,sgovp,rqh,xpc,bui,spc,vprv,playlist_type/sig/AJfQdSswRAIgVlY3QY6J7Fc4NrAoVKQQgsDc7NH72P0wgfxNP3YdFnQCIFULUoL3fv0jVNpIgWsDkZ5rc1Tbab8zNoTHw3TBIjqh/lsparams/hls_chunk_host,met,mh,mm,mn,ms,mv,mvi,pl,rms,initcwndbps/lsig/ACuhMU0wRQIgfg10YhULww-zvkhf6a2vOUcTEu1r4rOeXDhcCvOb_E0CIQC5DpmxpcZP1_nkEdHO5-ND1QbuN4hAW_4pX35vhEwJFA%3D%3D/playlist/index.m3u8
[INFO | 2025-04-24 10:11:55,988] - 172.23.0.1 - - [24/Apr/2025 10:11:55] "GET /playlists/streams/stream?url=https://www.youtube.com/watch?v=Ke6XX8FHOHM HTTP/1.1" 200 -