Hello. I've read dozens of topics on this forum regarding pipes so i wanted to try it out (as i have serious issues with buffering, lags, kicks from stream etc.) so i tried to apply this one. I think it worked at first but then i realised i was using the direct stream path from IPTV Simple Client in Kodi. Then i switched to TVHeadEnd addon with proper credentials and none of the channels loaded. So i headed into tvheadend's container logs and found those:
2025-03-15 10:28:39.037 [ INFO] htsp: Got connection from 192.168.1.20
2025-03-15 10:28:39.037 [ INFO] htsp: 192.168.1.20: Welcomed client software: Kodi Media Center (HTSPv35)
2025-03-15 10:28:39.039 [ INFO] htsp: 192.168.1.20 [ Kodi Media Center ]: Identified as user 'tv'
2025-03-15 10:28:39.039 [ INFO] htsp: 192.168.1.20 [ tv | Kodi Media Center ]: Privileges updated
2025-03-15 10:28:47.191 [ INFO] mpegts: m3u - Markiza FHD in IPTV - tuning on IPTV #1
2025-03-15 10:28:47.200 [ INFO] spawn: Executing "/usr/bin/ffmpeg"
2025-03-15 10:28:47.201 [ INFO] subscription: 01D3: "192.168.1.20 [ tv | Kodi Media Center ]" subscribing on channel "Markiza FHD", weight: 100, adapter: "IPTV #1", network: "IPTV", mux: "m3u - Markiza FHD", provider: "FFmpeg", service: "Service01", profile="htsp", hostname="192.168.1.20", username="tv", client="Kodi Media Center"
2025-03-15 10:28:47.275 [ ERROR] spawn: ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
2025-03-15 10:28:47.275 [ ERROR] spawn: built with gcc 13.2.1 (Alpine 13.2.1_git20240309) 20240309
2025-03-15 10:28:47.275 [ ERROR] spawn: configuration: --prefix=/usr --disable-librtmp --disable-lzma --disable-static --disable-stripping --enable-avfilter --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libmp3lame --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librist --enable-libsoxr --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-lto=auto --enable-lv2 --enable-openssl --enable-pic --enable-postproc --enable-pthreads --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-vulkan --optflags=-O3 --enable-libjxl --enable-libsvtav1 --enable-libvpl
2025-03-15 10:28:47.275 [ ERROR] spawn: libavutil 58. 29.100 / 58. 29.100
2025-03-15 10:28:47.275 [ ERROR] spawn: libavcodec 60. 31.102 / 60. 31.102
2025-03-15 10:28:47.275 [ ERROR] spawn: libavformat 60. 16.100 / 60. 16.100
2025-03-15 10:28:47.275 [ ERROR] spawn: libavdevice 60. 3.100 / 60. 3.100
2025-03-15 10:28:47.275 [ ERROR] spawn: libavfilter 9. 12.100 / 9. 12.100
2025-03-15 10:28:47.275 [ ERROR] spawn: libswscale 7. 5.100 / 7. 5.100
2025-03-15 10:28:47.275 [ ERROR] spawn: libswresample 4. 12.100 / 4. 12.100
2025-03-15 10:28:47.275 [ ERROR] spawn: libpostproc 57. 3.100 / 57. 3.100
2025-03-15 10:28:47.783 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:48.893 [ ERROR] spawn: Last message repeated 1 times
2025-03-15 10:28:48.893 [ ERROR] spawn: mime type is not rfc8216 compliant
2025-03-15 10:28:48.893 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:48.893 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:48.893 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:48.893 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:48.893 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:48.894 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:48.894 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:48.894 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:48.894 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:49.462 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:49.462 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:49.462 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:49.462 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:50.016 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:50.016 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:50.016 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:50.016 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:50.575 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:50.575 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:50.575 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:50.575 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:51.133 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:51.133 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:51.133 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:51.133 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:51.734 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:51.734 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:51.734 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:51.734 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:52.297 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:52.297 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:52.297 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:52.297 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:52.875 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:52.875 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:52.875 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:52.875 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:53.443 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:53.443 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:53.443 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:53.443 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:53.988 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:53.989 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:53.989 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:53.989 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:54.000 [ INFO] xmltv: /usr/bin/tv_grab_url: grab /usr/bin/tv_grab_url
2025-03-15 10:28:54.003 [ INFO] spawn: Executing "/usr/bin/tv_grab_url"
2025-03-15 10:28:54.551 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:54.551 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:54.551 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:54.551 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:55.096 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXTM3U')
2025-03-15 10:28:55.096 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-VERSION:3')
2025-03-15 10:28:55.096 [ ERROR] spawn: [hls @ 0x7f2bed3a8600] Skip ('#EXT-X-ALLOW-CACHE:YES')
2025-03-15 10:28:55.096 [ ERROR] spawn: [http @ 0x7f2befb77e80] Will reconnect at 1015 in 0 second(s), error=End of file.
2025-03-15 10:28:55.544 [ INFO] subscription: 01D3: "192.168.1.20 [ tv | Kodi Media Center ]" unsubscribing from "Markiza FHD", hostname="192.168.1.20", username="tv", client="Kodi Media Center"
2025-03-15 10:29:02.359 [ INFO] htsp: 192.168.1.20 [ tv | Kodi Media Center ]: Disconnected
The actual stream url looks like this (redacted): http://{PublicIP}:{port}/play/{encrypted_string}/m3u8
and the whole playlist url looks like: http://{PublicIP}:{port}/playlist/{username}/{password}/m3u_plus?output=hls
Did someone resolved similar issue? I even found that Linuxserver's image should have ffmpeg pre-installed and when i went to /usr/bin, i found the ffmpeg executable there. So it couldn't be caused by not having ffmpeg installed.
Thank you for all your replies.