Opened 18 months ago
Last modified 18 months ago
#9552 new defect
Dropping query parameters of url in live m3u8
Reported by: | Amin Vakil | Owned by: | |
---|---|---|---|
Priority: | important | Component: | undetermined |
Version: | 4.4.3 | Keywords: | m3u8 streaming |
Cc: | Amin Vakil | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
I have a m3u8 which includes (verified by curl)
... stream-1019.ts?foo=bar ...
and server denies if the query parameter has not been set or set incorrectly. Currently ffprobe does not append query parameters retrieved from m3u8 to ts (and key) files and therefore stream cannot be viewed.
How to reproduce:
ffprobe -v debug -i "https://example.org/stream.m3u8?foo=bar" ffprobe version n4.4.1 Copyright (c) 2007-2021 the FFmpeg developers built with gcc 11.1.0 (GCC) configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3 libavutil 56. 70.100 / 56. 70.100 libavcodec 58.134.100 / 58.134.100 libavformat 58. 76.100 / 58. 76.100 libavdevice 58. 13.100 / 58. 13.100 libavfilter 7.110.100 / 7.110.100 libswscale 5. 9.100 / 5. 9.100 libswresample 3. 9.100 / 3. 9.100 libpostproc 55. 9.100 / 55. 9.100 [NULL @ 0x28258aee400] Opening 'https://example.org/stream.m3u8?foo=bar' for reading [https @ 0x28258aeec80] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy' [tcp @ 0x28258af2180] Original list of addresses: [tcp @ 0x28258af2180] Address 1.1.1.1 port 443 [tcp @ 0x28258af2180] Interleaved list of addresses: [tcp @ 0x28258af2180] Address 1.1.1.1 port 443 [tcp @ 0x28258af2180] Starting connection attempt to 1.1.1.1 port 443 [tcp @ 0x28258af2180] Successfully connected to 1.1.1.1 port 443 [https @ 0x28258aeec80] request: GET /stream.m3u8?foo=bar HTTP/1.1 User-Agent: Lavf/58.76.100 Accept: */* Range: bytes=0- Connection: close Host: example.org Icy-MetaData: 1 [hls @ 0x28258aee400] Format hls probed with size=2048 and score=100 [hls @ 0x28258aee400] Skip ('#EXT-X-VERSION:3') [hls @ 0x28258aee400] HLS request for url 'https://example.org/stream-1033.ts', offset 0, playlist 0 [hls @ 0x28258aee400] Opening 'https://example.org/stream-1030.key' for reading [tcp @ 0x282590acac0] Original list of addresses: [tcp @ 0x282590acac0] Address 1.1.1.1 port 443 [tcp @ 0x282590acac0] Interleaved list of addresses: [tcp @ 0x282590acac0] Address 1.1.1.1 port 443 [tcp @ 0x282590acac0] Starting connection attempt to 1.1.1.1 port 443 [tcp @ 0x282590acac0] Successfully connected to 1.1.1.1 port 443 [https @ 0x282590abb80] request: GET /stream-1030.key HTTP/1.1 User-Agent: Lavf/58.76.100 Accept: */* Range: bytes=0- Connection: keep-alive Host: example.org Icy-MetaData: 1 [https @ 0x282590abb80] HTTP error 403 Forbidden
Note:
See TracTickets
for help on using tickets.
Please note I don't have this problem on static m3u8 files for static movies. (It appends query parameters correctly)