[FFmpeg-trac] #9552(undetermined:new): Dropping query parameters of url in live m3u8

FFmpeg trac at avcodec.org
Sun Dec 12 17:38:22 EET 2021


#9552: Dropping query parameters of url in live m3u8
-------------------------------------+-------------------------------------
             Reporter:  Amin Vakil   |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:               |                  Version:  4.4.1
  undetermined                       |
             Keywords:  m3u8         |               Blocked By:
  streaming                          |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 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

 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9552>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list