sk222 4 Posted January 11 Posted January 11 Hi there! For some reason, I'm not able to play the "Das Erste" stream on Firefox, Chrome and Chromecast, but it appears to be working in the Emby Android app. The error message I'm getting most of the time is: "No compatible streams are currently available. Please try again later or contact your system administrator for details." Another error that I'm getting sometimes (couldn't figure out when) is: "Invalid URI: The format of the URI could not be determined." My m3u tuner file looks like this: #EXTM3U #EXTINF:10.000000,TVG-ID="Cubavisión Internacional" tvg-name="Cubavisión Internacional" tvg-logo="",Cubavisión Internacional https://cdn.teveo.cu/live/video/A36pWmuWvZBQskuZ/ngrp:gppfydfzpSUn9Udy.stream/playlist.m3u8 #EXTINF:10.000000,TVG-ID="Das Erste" tvg-name="Das Erste" tvg-logo="https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/daserstehd.png",Das Erste https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master.m3u8 #EXTINF:10.000000,TVG-ID="teleSUR" tvg-name="teleSUR" tvg-logo="",teleSUR https://cdnesmain.telesur.ultrabase.net/mbliveMain/hd/playlist.m3u8 Out of this list, the teleSUR stream works on all devices; Cubavisión Internacional returns "Forbidden" (I assume I'll need to set the "Referrer" header), but I can't figure out what exactly might be wrong with the Das Erste stream. It works fine with mpv, which also correctly detects the tracks of the stream, which Emby for Android fails to do correctly: ○ Video --vid=1 (h264 640x360 50 fps 2147 kbps) ● Video --vid=2 (h264 1920x1080 50 fps 8501 kbps) ○ Video --vid=3 (h264 1280x720 50 fps 5491 kbps) ○ Video --vid=4 (h264 960x540 50 fps 2816 kbps) ○ Video --vid=5 (h264 480x270 50 fps 1311 kbps) ● Audio --aid=1 --alang=de (aac 2ch 48000 Hz 128 kbps) [default] ○ Audio --aid=2 --alang=de (aac 2ch 48000 Hz 128 kbps) ○ Audio --aid=3 --alang=de 'visual impaired' (aac 2ch 48000 Hz 128 kbps) [visual-impaired] Can you help me with this? I've restarted the server (for a log rotation), enabled debug logging and tried to stream the TV channels on various devices (see more-logs.zip); ffmpeg-transcode-7e7018ff-430f-4419-bb42-e3b0599612d2_1.txt is just my last attempt streaming Das Erste with Firefox; with the User-Agent string set to Chrome's embyserver.txt
sk222 4 Posted January 13 Author Posted January 13 Update: I was able to pinpoint the problem to the presence of this line inside https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master.m3u8: #EXT-X-MEDIA:TYPE=SUBTITLES,NAME="Deutsch",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="de",GROUP-ID="subs",URI="mastersubs.m3u8" By creating a custom `das-erste-debug.m3u8` that doesn't have this line, and having the `iptv.m3u` point to it, instead of the upstream Das Erste `master.m3u8`, I'm able to verify that the stream works without the subtitles track: iptv.m3u #EXTINF:10.000000,TVG-ID="Das Erste" tvg-name="Das Erste" tvg-logo="https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/daserstehd.png",Das Erste https://my-server/das-erste-debug.m3u8 https://my-server/das-erste-debug.m3u8 #EXTM3U #EXT-X-VERSION:4 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-STREAM-INF:BANDWIDTH=2147200,AVERAGE-BANDWIDTH=1460800,VIDEO-RANGE=SDR,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master360p1200.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=8500800,AVERAGE-BANDWIDTH=5640800,VIDEO-RANGE=SDR,CODECS="avc1.64002a,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master1080p5000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=5491200,AVERAGE-BANDWIDTH=3660800,VIDEO-RANGE=SDR,CODECS="avc1.640020,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master720p3200.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2816000,AVERAGE-BANDWIDTH=1900800,VIDEO-RANGE=SDR,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=960x540,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master540p1600.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=1311200,AVERAGE-BANDWIDTH=910800,VIDEO-RANGE=SDR,CODECS="avc1.4d401e,mp4a.40.2",RESOLUTION=480x270,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master270p700.m3u8 #EXT-X-MEDIA:TYPE=AUDIO,LANGUAGE="de",NAME="Deutsch",AUTOSELECT=YES,DEFAULT=YES,GROUP-ID="program_audio",URI="https://daserste-live.ard-mcdn.de/daserste/live/hls/int/masteraudio1.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,LANGUAGE="de",NAME="Klare Sprache",AUTOSELECT=YES,DEFAULT=NO,GROUP-ID="program_audio",URI="https://daserste-live.ard-mcdn.de/daserste/live/hls/int/masteraudio2.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,LANGUAGE="de",NAME="Audiodeskription",CHARACTERISTICS="public.accessibility.describes-video",AUTOSELECT=YES,DEFAULT=NO,GROUP-ID="program_audio",URI="https://daserste-live.ard-mcdn.de/daserste/live/hls/int/masteraudio3.m3u8" The removed line with expanded URL (https://daserste-live.ard-mcdn.de/daserste/live/hls/int/mastersubs.m3u8 #EXT-X-MEDIA:TYPE=SUBTITLES,NAME="Deutsch",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="de",GROUP-ID="subs",URI="https://daserste-live.ard-mcdn.de/daserste/live/hls/int/mastersubs.m3u8" This isn't a fix, but a workaround – Emby should probably be able to handle this error and show the stream anyway. Note that, when opening the m3u8 with mpv, I'm getting this ffmpeg warning (mpv starts playing the stream anyway, but without subtitles): [ffmpeg/demuxer] hls: Can't support the subtitle(uri: https://daserste-live.ard-mcdn.de/daserste/live/hls/int/mastersubs.m3u8) VLC seems to support the subtitle track. If anyone from the Emby team wants to debug this – I hope this information helps. Let me know if I can provide anything else!
sk222 4 Posted January 13 Author Posted January 13 This reply is only tangentially related to this thread's topic. Also, it seems like the other resolutions aren't supported: #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-STREAM-INF:BANDWIDTH=2147200,AVERAGE-BANDWIDTH=1460800,VIDEO-RANGE=SDR,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=640x360,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master360p1200.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=8500800,AVERAGE-BANDWIDTH=5640800,VIDEO-RANGE=SDR,CODECS="avc1.64002a,mp4a.40.2",RESOLUTION=1920x1080,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master1080p5000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=5491200,AVERAGE-BANDWIDTH=3660800,VIDEO-RANGE=SDR,CODECS="avc1.640020,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master720p3200.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2816000,AVERAGE-BANDWIDTH=1900800,VIDEO-RANGE=SDR,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=960x540,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master540p1600.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=1311200,AVERAGE-BANDWIDTH=910800,VIDEO-RANGE=SDR,CODECS="avc1.4d401e,mp4a.40.2",RESOLUTION=480x270,FRAME-RATE=50.000,AUDIO="program_audio",SUBTITLES="subs",HDCP-LEVEL=NONE https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master270p700.m3u8 I assume Emby uses the first one of these, and the "Quality" menu options are just the transcoding settings? This would explain my confusion in the original post: On 1/11/2025 at 5:48 PM, sk222 said: It works fine with mpv, which also correctly detects the tracks of the stream, which Emby for Android fails to do correctly: Meaning, to make proper use of this M3U8, I have to download and customize it anyway and remove all but one video stream? The three audio tracks seem to be supported, though! #EXT-X-MEDIA:TYPE=AUDIO,LANGUAGE="de",NAME="Deutsch",AUTOSELECT=YES,DEFAULT=YES,GROUP-ID="program_audio",URI="https://daserste-live.ard-mcdn.de/daserste/live/hls/int/masteraudio1.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,LANGUAGE="de",NAME="Klare Sprache",AUTOSELECT=YES,DEFAULT=NO,GROUP-ID="program_audio",URI="https://daserste-live.ard-mcdn.de/daserste/live/hls/int/masteraudio2.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,LANGUAGE="de",NAME="Audiodeskription",CHARACTERISTICS="public.accessibility.describes-video",AUTOSELECT=YES,DEFAULT=NO,GROUP-ID="program_audio",URI="https://daserste-live.ard-mcdn.de/daserste/live/hls/int/masteraudio3.m3u8" But that's a different problem anyway and has nothing to do with the subtitle track apparently crashing ffmpeg. Should I open a separate thread?
Luke 40144 Posted January 15 Posted January 15 Hi, have you tried running this through a standalone build of ffmpeg 7.1? It's possible it may have been resolved there by now.
sk222 4 Posted January 15 Author Posted January 15 2 hours ago, Luke said: Hi, have you tried running this through a standalone build of ffmpeg 7.1? It's possible it may have been resolved there by now. I just downloaded the latest nightly auto-build from https://github.com/BtbN/FFmpeg-Builds/releases (following a link from https://ffmpeg.org/download.html)… ffmpeg version N-118315-g4f3c9f2f03-20250115 Copyright (c) 2000-2025 the FFmpeg developers built with gcc 14.2.0 (crosstool-NG 1.26.0.120_4d36f27) configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-ffbuild-linux-gnu- --arch=x86_64 --target-os=linux --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-libxml2 --enable-openssl --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --enable-libpulse --enable-libvmaf --enable-libxcb --enable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-libzmq --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --disable-schannel --enable-sdl2 --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --disable-libvvenc --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs='-ldl -lgomp' --extra-ldflags=-pthread --extra-ldexeflags=-pie --cc=x86_64-ffbuild-linux-gnu-gcc --cxx=x86_64-ffbuild-linux-gnu-g++ --ar=x86_64-ffbuild-linux-gnu-gcc-ar --ranlib=x86_64-ffbuild-linux-gnu-gcc-ranlib --nm=x86_64-ffbuild-linux-gnu-gcc-nm --extra-version=20250115 …and running `ffprobe -i https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master.m3u8` unfortunately outputs the same warning: [hls @ 0x563572b6c700] Can't support the subtitle(uri: mastersubs.m3u8) I've attached the full command output log below. By the way, `ffplay https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master.m3u8` doesn't crash, but rather plays the compatible streams anyway (just like with `mpv https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master.m3u8`) – maybe it would make sense for Emby to gracefully handle this too? (I have no idea how the error is detected in the first place, so I don't know if this is even feasible) ffprobe.log
Luke 40144 Posted March 6 Posted March 6 If you add -sn to your ffmpeg command line after the input, does that resolve it? That will tell it to ignore subtitles.
sk222 4 Posted March 6 Author Posted March 6 17 hours ago, Luke said: If you add -sn to your ffmpeg command line after the input, does that resolve it? That will tell it to ignore subtitles. running `ffmpeg -i https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master.m3u8 -sn out.mp4 &> ffmpeg.txt` and looking at the first few lines of `ffmpeg.txt`, i see the same warning: ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers built with gcc 14 (GCC) configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --enable-chromaprint --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-lcms2 --enable-libaom --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libass --enable-libbluray --enable-libbs2b --enable-libcodec2 --enable-libcdio --enable-libdrm --enable-libjack --enable-libjxl --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libilbc --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-libplacebo --enable-librsvg --enable-librav1e --enable-librubberband --enable-libqrencode --enable-libsmbclient --enable-version3 --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libshaderc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-avfilter --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libvpl --enable-runtime-cpudetect libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.100 / 61. 19.100 libavformat 61. 7.100 / 61. 7.100 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 4.100 / 10. 4.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 [hls @ 0x56127344a600] Skip ('#EXT-X-VERSION:4') [hls @ 0x56127344a600] Skip ('#EXT-X-INDEPENDENT-SEGMENTS') [hls @ 0x56127344a600] Can't support the subtitle(uri: mastersubs.m3u8) [hls @ 0x56127344a600] Opening 'https://daserste-live.ard-mcdn.de/daserste/live/hls/int/master360p1200.m3u8' for reading
Luke 40144 Posted March 7 Posted March 7 Does it download mastersubs.m3u8 and then find something in there that it doesn't like? Or does it not even download it at all?
horstepipe 377 Posted March 7 Posted March 7 @sk222 I was able to workaround this issue by updating to the latest ffmpeg and putting xteve in between. BR 2
sk222 4 Posted March 8 Author Posted March 8 (edited) On 3/7/2025 at 3:20 AM, Luke said: Does it download mastersubs.m3u8 and then find something in there that it doesn't like? Or does it not even download it at all? I don't know, but I do know that the warning doesn't show up when pointing the M3U tuner to a custom M3U8 file with the reference to the subtitles removed, as laid out in my first reply. The file that it's pointing to (mastersubs.m3u8) seems to exist and it looks fine to me, but I don't know how subtitles are supposed to work in HLS: https://daserste-live.ard-mcdn.de/daserste/live/hls/int/mastersubs.m3u8, so I don't know what ffmpeg is up to. For what it's worth, it doesn't matter too much to me that this doesn't work (out of the box, at least – I haven't tried with or heard of xTeVe, thanks for the tip @horstepipe!), so there's no pressure from my end, although it would certainly be nice to see this fixed (which should happen on ffmpeg's end, if I understand correctly) Edited March 8 by sk222
Luke 40144 Posted March 8 Posted March 8 Right I was just asking because I think knowing that answer would be one of the first troubleshooting steps.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now