Jump to content

Recommended Posts

Posted

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]

image.thumb.png.f5210893d11e886d2e7a630dde645689.png

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

Posted

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!

Posted

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:

image.thumb.png.f5210893d11e886d2e7a630dde645689.png

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?

Posted

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.

Posted
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

  • 1 month later...
Posted

If you add -sn to your ffmpeg command line after the input, does that resolve it? That will tell it to ignore subtitles.

sk222
Posted
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

 

Posted

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
Posted

@sk222
I was able to workaround this issue by updating to the latest ffmpeg and putting xteve in between.

BR

  • Like 2
sk222
Posted (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 by sk222
Posted

Right I was just asking because I think knowing that answer would be one of the first troubleshooting steps.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...