bastimeyer · GitHub

The format of the URLs that are supposed to be matched by the plugin's "stream" matcher have changed and incorrectly get matched by its "live" matcher, leading to a different API URL request that returns 404. The "stream" matcher needs a simple update and the "live" matcher must not match the format of the "stream" matcher.

$ HTTPS_PROXY=socks5://localhost:1920 ./script/test-plugin-urls.py tf1
:: https://lci.fr/direct
::  234p, 360p, 576p_alt, 576p, 720p, worst, best
:: https://tf1.fr/tf1/direct
::  234p, 360p, 576p_alt, 576p, 720p, worst, best
:: https://tf1info.fr/direct/
::  234p, 360p, 576p_alt, 576p, 720p, worst, best
:: https://www.lci.fr/direct
::  234p, 360p, 576p_alt, 576p, 720p, worst, best
:: https://www.tf1.fr/chante-69061019/direct
::  234p, 270p, 360p, 576p, worst, best
:: https://www.tf1.fr/tf1-series-films/direct
::  234p, 360p, 576p_alt, 576p, 720p, worst, best
:: https://www.tf1.fr/tf1/direct
::  234p, 360p, 576p_alt, 576p, 720p, worst, best
:: https://www.tf1.fr/tfx/direct
::  234p, 360p, 576p_alt, 576p, 720p, worst, best
:: https://www.tf1.fr/thriller-fiction-89242722/direct
::  234p, 270p, 360p, 576p, worst, best
:: https://www.tf1info.fr/direct/
::  234p, 360p, 576p_alt, 576p, 720p, worst, best
$ streamlink -l debug --http-proxy socks5h://localhost:1920 --tf1-email xoras36325@btcours.com --tf1-password Qwerty123! --tf1-purge-credentials https://www.tf1.fr/thriller-fiction-89242722/direct best
[cli][debug] OS:         Linux-6.13.3-1-git-x86_64-with-glibc2.41
[cli][debug] Python:     3.13.2
[cli][debug] OpenSSL:    OpenSSL 3.4.1 11 Feb 2025
[cli][debug] Streamlink: 7.1.3+1.g75ed38e2
[cli][debug] Dependencies:
[cli][debug]  certifi: 2025.1.31
[cli][debug]  isodate: 0.7.2
[cli][debug]  lxml: 5.3.1
[cli][debug]  pycountry: 24.6.1
[cli][debug]  pycryptodome: 3.21.0
[cli][debug]  PySocks: 1.7.1
[cli][debug]  requests: 2.32.3
[cli][debug]  trio: 0.29.0
[cli][debug]  trio-websocket: 0.11.1
[cli][debug]  urllib3: 2.3.0
[cli][debug]  websocket-client: 1.8.0
[cli][debug] Arguments:
[cli][debug]  url=https://www.tf1.fr/thriller-fiction-89242722/direct
[cli][debug]  stream=['best']
[cli][debug]  --loglevel=debug
[cli][debug]  --player=/usr/bin/mpv
[cli][debug]  --http-proxy=socks5h://localhost:1920
[cli][debug]  --webbrowser-headless=True
[cli][debug]  --tf1-email=xoras36325@btcours.com
[cli][debug]  --tf1-password=********
[cli][debug]  --tf1-purge-credentials=True
[cli][info] Found matching plugin tf1 for URL https://www.tf1.fr/thriller-fiction-89242722/direct
[plugins.tf1][debug] Found channel thriller-fiction-89242722 (L_FAST_v2l-thriller-fiction-89242722)
[plugins.tf1][info] Removing cached user-authentication token...
[plugins.tf1][info] Acquiring new user-authentication token...
[plugins.tf1][debug] uid='955496d149b342ac8c077abafcd79926' uid_signature='RKKFFt8F3d8+0ub2MXeDYrku2nk=' signature_timestamp='1739918358'
[utils.l10n][debug] Language code: en_US
[stream.ffmpegmux][debug] ffmpeg version n7.1 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 14.2.1 (GCC) 20240910
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libdvdnav --enable-libdvdread --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan
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
[stream.hls][debug] Using external audio tracks for stream 576p (language=fr, name=French)
[stream.hls][debug] Using external audio tracks for stream 360p (language=fr, name=French)
[stream.hls][debug] Using external audio tracks for stream 270p (language=fr, name=French)
[stream.hls][debug] Using external audio tracks for stream 234p (language=fr, name=French)
[cli][info] Available streams: 234p (worst), 270p, 360p, 576p (best)
[cli][info] Opening stream: 576p (hls-multi)
[cli][info] Starting player: /usr/bin/mpv
[stream.ffmpegmux][debug] Opening hls substream
[stream.hls][debug] Reloading playlist
[stream.ffmpegmux][debug] Opening hls substream
[stream.hls][debug] Reloading playlist
[utils.named_pipe][info] Creating pipe streamlinkpipe-214112-1-6149
[utils.named_pipe][info] Creating pipe streamlinkpipe-214112-2-9315
[stream.ffmpegmux][debug] ffmpeg command: ['/usr/bin/ffmpeg', '-y', '-nostats', '-loglevel', 'info', '-i', '/tmp/streamlinkpipe-214112-1-6149', '-i', '/tmp/streamlinkpipe-214112-2-9315', '-c:v', 'copy', '-c:a', 'copy', '-map', '0:v?', '-map', '0:a?', '-map', '1:a', '-f', 'mpegts', 'pipe:1']
[stream.ffmpegmux][debug] Starting copy to pipe: /tmp/streamlinkpipe-214112-1-6149
[stream.ffmpegmux][debug] Starting copy to pipe: /tmp/streamlinkpipe-214112-2-9315
[cli][debug] Pre-buffering 8192 bytes
[stream.hls][debug] First Sequence: 13160638; Last Sequence: 13160652
[stream.hls][debug] Start offset: 0; Duration: None; Start Sequence: 13160650; End Sequence: None
[stream.hls][debug] Adding segment 13160650 to queue
[stream.hls][debug] Adding segment 13160651 to queue
[stream.hls][debug] Adding segment 13160652 to queue
[stream.hls][debug] First Sequence: 13160638; Last Sequence: 13160652
[stream.hls][debug] Start offset: 0; Duration: None; Start Sequence: 13160650; End Sequence: None
[stream.hls][debug] Adding segment 13160650 to queue
[stream.hls][debug] Adding segment 13160651 to queue
[stream.hls][debug] Adding segment 13160652 to queue
[stream.hls][debug] Writing segment 13160650 to output
[stream.hls][debug] Segment 13160650 complete
[stream.hls][debug] Writing segment 13160651 to output
[stream.hls][debug] Segment 13160651 complete
[stream.hls][debug] Writing segment 13160652 to output
[stream.hls][debug] Segment 13160652 complete
[stream.hls][debug] Writing segment 13160650 to output
[stream.hls][debug] Segment 13160650 complete
[cli.output][debug] Opening subprocess: ['/usr/bin/mpv', '--force-media-title=https://www.tf1.fr/thriller-fiction-89242722/direct', '-']
[stream.hls][debug] Writing segment 13160651 to output
[stream.hls][debug] Segment 13160651 complete
[cli][debug] Writing stream to output
[stream.hls][debug] Writing segment 13160652 to output
[stream.hls][debug] Segment 13160652 complete
[cli][info] Player closed
[stream.ffmpegmux][debug] Closing ffmpeg thread
[stream.segmented][debug] Closing worker thread
[stream.segmented][debug] Closing writer thread
[stream.segmented][debug] Closing worker thread
[stream.ffmpegmux][debug] Pipe copy complete: /tmp/streamlinkpipe-214112-1-6149
[stream.segmented][debug] Closing writer thread
[stream.segmented][debug] Closing writer thread
[stream.ffmpegmux][debug] Pipe copy complete: /tmp/streamlinkpipe-214112-2-9315
[stream.ffmpegmux][debug] Closed all the substreams
[cli][info] Stream ended
[cli][info] Closing currently open stream...

Read the original on github.com ↗