Opened 8 years ago
Closed 8 years ago
#2765 closed defect (fixed)
brightcove hls streams fail to play
Reported by: | adammw | Owned by: | |
---|---|---|---|
Priority: | minor | Component: | avformat |
Version: | git-master | Keywords: | hls https |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug: brightcove hls streams fail to play
Using any m3u8 file with ffplay or ffmpeg produces a Protocol not found error.
How to reproduce:
$ ffplay -v 9 -loglevel 99 "http://c.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId=2516468435001" ffplay version 1.2.1 Copyright (c) 2003-2013 the FFmpeg developers built on Jul 10 2013 02:44:54 with Apple clang version 4.1 (tags/Apple/clang-421.11.65) (based on LLVM 3.1svn) configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp --enable-ffplay --enable-libspeex --enable-libopus libavutil 52. 18.100 / 52. 18.100 libavcodec 54. 92.100 / 54. 92.100 libavformat 54. 63.104 / 54. 63.104 libavdevice 54. 3.103 / 54. 3.103 libavfilter 3. 42.103 / 3. 42.103 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 [hls,applehttp @ 0x7f9e01031a00] Format hls,applehttp probed with size=2048 and score=100 [AVIOContext @ 0x7f9e022402c0] Statistics: 1550 bytes read, 0 seeks http://c.brightcove.com/services/mobile/streaming/index/master.m3u8?videoId=2516468435001: Protocol not found nan A-V: 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Protocols enabled:
$ ffmpeg -protocols ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers built on Jul 10 2013 02:44:54 with Apple clang version 4.1 (tags/Apple/clang-421.11.65) (based on LLVM 3.1svn) configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp --enable-ffplay --enable-libspeex --enable-libopus libavutil 52. 18.100 / 52. 18.100 libavcodec 54. 92.100 / 54. 92.100 libavformat 54. 63.104 / 54. 63.104 libavdevice 54. 3.103 / 54. 3.103 libavfilter 3. 42.103 / 3. 42.103 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Supported file protocols: Input: applehttp cache concat crypto data file gopher hls http httpproxy mmsh mmst pipe rtp srtp tcp udp rtmp rtmpe rtmps rtmpt rtmpte Output: file gopher http httpproxy md5 pipe rtp srtp tcp udp rtmp rtmpe rtmps rtmpt rtmpte
Change History (7)
comment:1 follow-up: ↓ 2 Changed 8 years ago by cehoyos
comment:2 in reply to: ↑ 1 ; follow-up: ↓ 3 Changed 8 years ago by adammw
Replying to cehoyos:
Which application plays the stream?
Both iOS devices and Apple's QuickTime? Player support playing the stream without error.
Trying the same stream with ffplay yields the error shown above.
comment:3 in reply to: ↑ 2 Changed 8 years ago by cehoyos
Replying to adammw:
Replying to cehoyos:
Which application plays the stream?
Both iOS devices and Apple's QuickTime? Player support playing the stream without error.
The reason I asked was that it fails here on iOS.
comment:4 Changed 8 years ago by adammw
I think the content must be geo-restricted to Australia.
I've debugged the issue a bit more, and it appears to be that my version of ffmpeg cannot open HTTPS urls, however none of the logs make that very clear. (Ie. Protocol not found error is listed against the original HTTP url, not the actual rendition/variant URL of the second m3u8 file).
Downloading the segments with another (HTTPS-supporting) program and rewriting the URLs makes it work fine with ffplay.
comment:5 Changed 8 years ago by adammw
Yes, this is a bug in Homebrew which caused --enable-openssl not to be declared in the configure script, and hence the resulting binary did not support HTTPS.
Please close this ticket.
comment:6 Changed 8 years ago by cehoyos
- Component changed from undetermined to avformat
- Keywords https added
- Priority changed from normal to minor
- Reproduced by developer set
- Status changed from new to open
- Version changed from unspecified to git-master
Patch sent that improves the console output.
comment:7 Changed 8 years ago by cehoyos
- Resolution set to fixed
- Status changed from open to closed
libavformat now prints a warning if https protocol was requested but not configured, thank you for the report and the analysis!
Which application plays the stream?