Opened 6 years ago

Closed 3 years ago

#7223 closed defect (fixed)

ffmpeg fails to get https over http proxy

Reported by: flaisob Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: http
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers

built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-nonfree --enable-openssl

---

ffmpeg fails to CONNECT through http proxy for https urls when using -http_proxy command line.

It does try to use the proxy when setting the http_proxy environment variable. But, then it fails.

My use case is to get get https m3u8 files and the https segment urls through the proxy, but here are simple examples:

Works without proxy:
ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico" f.ico

ffmpeg -i "https://twitter.com/favicon.ico" t.ico

Doesn't use proxy for https, it gets the file but not through the proxy:

ffmpeg -http_proxy http://127.0.0.1:3135 -i "https://twitter.com/favicon.ico" t.ico

Uses proxy for https but fails:

export http_proxy=http://127.0.0.1:1234

ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico" f.ico
segmentation fault (core dumped)

ffmpeg -i "https://twitter.com/favicon.ico" t.ico
[tls @ 0x2d4a4c0] error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
https://twitter.com/favicon.ico: Input/output error

Those urls work with curl using the same proxy.

Works:
curl -x http://localhost:1234 "https://twitter.com/favicon.ico"

Attachments (1)

gdb-valgrind.txt (18.2 KB ) - added by flaisob 6 years ago.
gdb valgrind log

Download all attachments as: .zip

Change History (12)

comment:1 by Carl Eugen Hoyos, 6 years ago

Keywords: http added

Please test current FFmpeg git head and provide the command line you tested together with the complete, uncut console output to make this a valid ticket.

comment:2 by flaisob, 6 years ago

uncut console output, for lastest ffmpeg stable release:

export http_proxy=http://127.0.0.1:1234
ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico" f.ico

ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers

built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-nonfree --enable-openssl
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100

zsh: segmentation fault (core dumped) ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico"

in reply to:  2 comment:3 by ryonsabouni, 6 years ago

See how it says "ffmpeg version 4.0 Copyright...." That means that you are on version 4.0 and not on git head. Disclaimer: Git head may also yield the same results.

Replying to flaisob:

uncut console output, for lastest ffmpeg stable release:

export http_proxy=http://127.0.0.1:1234
ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico" f.ico

ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers

built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-nonfree --enable-openssl
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100

zsh: segmentation fault (core dumped) ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico"

comment:4 by flaisob, 6 years ago

export http_proxy=​http://127.0.0.1:1234
./ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico" f.ico

ffmpeg version N-91146-gfe84f70 Copyright (c) 2000-2018 the FFmpeg developers

built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-nonfree --enable-openssl
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 19.102 / 58. 19.102
libavformat 58. 16.100 / 58. 16.100
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 24.100 / 7. 24.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100

zsh: segmentation fault (core dumped) ./ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico"

in reply to:  4 comment:5 by Carl Eugen Hoyos, 6 years ago

Replying to flaisob:

export http_proxy=​http://127.0.0.1:1234
./ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico" f.ico

ffmpeg version N-91146-gfe84f70 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
  configuration: --enable-gpl --enable-libx264 --enable-libx265 --enable-nonfree --enable-openssl
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 19.102 / 58. 19.102
  libavformat    58. 16.100 / 58. 16.100
  libavdevice    58.  4.100 / 58.  4.100
  libavfilter     7. 24.100 /  7. 24.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
zsh: segmentation fault (core dumped)  ./ffmpeg -i "https://img-prod-cms-rt-microsoft-com.akamaized.net/favicon.ico"

Please provide backtrace, disassembly and register dump (and / or valgrind output, it isn't known in advance which is more useful) as explained on https://ffmpeg.org/bugreports.html

by flaisob, 6 years ago

Attachment: gdb-valgrind.txt added

gdb valgrind log

comment:6 by Seven78, 5 years ago

Cc: adrien.micol@gmail.com added
Priority: normalcritical

Hi,

Problem still unsolved:

ffmpeg -http_proxy "http://xxxxxxx"

-i "https://live.webcam-hd.fr/64connections/biarritzwindsor.stream/chunklist.m3u8"

ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers

built with gcc 8.2.1 (GCC) 20181017
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfi

g --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-lib
freetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amr
wb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --
enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-l
ibwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --
enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --en
able-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --en
able-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --e
nable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enab
le-avisynth

libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100

[tcp @ 00000000004b6e80] Connection to tcp://live.webcam-hd.fr:443 failed: Error

number -138 occurred

https://live.webcam-hd.fr/64connections/biarritzwindsor.stream/chunklist.m3u8: U
nknown error

The same with current dev version

ffmpeg version N-93077-g075fd5ba45 Copyright (c) 2000-2019 the FFmpeg developers

built with gcc 8.2.1 (GCC) 20181201
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfi

g --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libb
luray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --e
nable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable
-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 -
-enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enab
le-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --en
able-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --en
able-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --e
nable-dxva2 --enable-avisynth --enable-libopenmpt

libavutil 56. 26.100 / 56. 26.100
libavcodec 58. 46.100 / 58. 46.100
libavformat 58. 26.100 / 58. 26.100
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 48.100 / 7. 48.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100

[tcp @ 0000000000567180] Connection to tcp://live.webcam-hd.fr:443 failed: Error

number -138 occurred

https://live.webcam-hd.fr/64connections/biarritzwindsor.stream/chunklist.m3u8: U
nknown error

comment:7 by Seven78, 5 years ago

Cc: adrien.micol@gmail.com removed

comment:8 by Carl Eugen Hoyos, 5 years ago

Priority: criticalnormal

So the crash was fixed?

in reply to:  8 comment:9 by Seven78, 5 years ago

Replying to cehoyos:

So the crash was fixed?

No, the bug bug is still present

comment:10 by Seven78, 5 years ago

Version: unspecifiedgit-master

comment:11 by Marton Balint, 3 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.