[FFmpeg-trac] #2619(avformat:new): Unable to play HLS urls from uplynk.com
FFmpeg
trac at avcodec.org
Thu Jun 6 22:11:35 CEST 2013
#2619: Unable to play HLS urls from uplynk.com
-------------------------------------+------------------------------------
Reporter: kyl416 | Owner:
Type: enhancement | Status: new
Priority: normal | Component: avformat
Version: git-master | Resolution:
Keywords: hls | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+------------------------------------
Comment (by kyl416):
That took care of the cookies problem, however there seems to be another
issue preventing playback, the underlying .ts files for whatever reason
have an undecodable mp3 stream and ffmpeg hangs when trying to probe the
m3u8 playlist for all the variant bitrates, while iOS just ignores them:
{{{
ffmpeg -i
http://content.uplynk.com/channel/ext/72750b711f704e4a94b5cfe6dc99f5e1/WABCLive1.m3u8
ffmpeg version N-53878-g00f4998 Copyright (c) 2000-2013 the FFmpeg
developers
built on Jun 6 2013 15:30:27 with gcc 4.7 (Ubuntu/Linaro
4.7.3-1ubuntu1)
configuration: --prefix=/usr --enable-gpl --enable-version3 --enable-
nonfree --enable-shared --enable-postproc --enable-libx264 --enable-frei0r
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394
--enable-libmp3lame --enable-libtheora --enable-libopenjpeg --enable-
libvpx --enable-libgsm --enable-libschroedinger --enable-libspeex
--enable-libvorbis --enable-libxvid --enable-libfaac --cpu=amdfam10
--enable-x11grab --enable-libxavs --enable-libfreetype --enable-libvo-
aacenc --enable-libvo-amrwbenc --enable-libcelt --enable-openal --enable-
libcdio --enable-libaacplus --enable-libmodplug --enable-libpulse
--enable-openssl --enable-libv4l2 --enable-libass --enable-libbluray
--enable-avresample --enable-libiec61883 --enable-libopus --enable-libcaca
--enable-libfdk-aac --enable-libilbc --enable-libtwolame --enable-librtmp
--enable-libsoxr --disable-stripping --enable-libaacplus --enable-opencl
--enable-libflite --enable-libquvi
libavutil 52. 35.100 / 52. 35.100
libavcodec 55. 15.100 / 55. 15.100
libavformat 55. 8.102 / 55. 8.102
libavdevice 55. 2.100 / 55. 2.100
libavfilter 3. 75.101 / 3. 75.101
libavresample 1. 1. 0 / 1. 1. 0
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
[mpegts @ 0x17164a0] max_analyze_duration 5000000 reached at 5034667
microseconds
[mpegts @ 0x17164a0] Could not find codec parameters for stream 2 (Audio:
mp3 ([21][0][0][0] / 0x0015), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
skipping 9 segments ahead, expired from playlists
[mpegts @ 0x19f2080] max_analyze_duration 5000000 reached at 5034667
microseconds
[mpegts @ 0x19f2080] Could not find codec parameters for stream 2 (Audio:
mp3 ([21][0][0][0] / 0x0015), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
skipping 15 segments ahead, expired from playlists
[mpegts @ 0x1b9ae20] max_analyze_duration 5000000 reached at 5034667
microseconds
[mpegts @ 0x1b9ae20] Could not find codec parameters for stream 2 (Audio:
mp3 ([21][0][0][0] / 0x0015), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
skipping 20 segments ahead, expired from playlists
skipping 1 segments ahead, expired from playlists
[mpegts @ 0xd274a40] max_analyze_duration 5000000 reached at 5034667
microseconds
[mpegts @ 0xd274a40] Could not find codec parameters for stream 2 (Audio:
mp3 ([21][0][0][0] / 0x0015), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
skipping 24 segments ahead, expired from playlists
[mpegts @ 0xd263b20] max_analyze_duration 5000000 reached at 5034667
microseconds
[mpegts @ 0xd263b20] Could not find codec parameters for stream 2 (Audio:
mp3 ([21][0][0][0] / 0x0015), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
skipping 75 segments ahead, expired from playlists
[mpegts @ 0x38e85ac0] max_analyze_duration 5000000 reached at 5034667
microseconds
[mpegts @ 0x38e85ac0] Could not find codec parameters for stream 2 (Audio:
mp3 ([21][0][0][0] / 0x0015), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[hls,applehttp @ 0x16f6ee0] max_analyze_duration 5000000 reached at
5034667 microseconds
[hls,applehttp @ 0x16f6ee0] Could not find codec parameters for stream 2
(Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p): unspecified frame
size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[hls,applehttp @ 0x16f6ee0] Could not find codec parameters for stream 5
(Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p): unspecified frame
size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[hls,applehttp @ 0x16f6ee0] Could not find codec parameters for stream 8
(Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p): unspecified frame
size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[hls,applehttp @ 0x16f6ee0] Could not find codec parameters for stream 11
(Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p): unspecified frame
size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[hls,applehttp @ 0x16f6ee0] Could not find codec parameters for stream 14
(Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p): unspecified frame
size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[hls,applehttp @ 0x16f6ee0] Could not find codec parameters for stream 17
(Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p): unspecified frame
size
Consider increasing the value for the 'analyzeduration' and 'probesize'
options
[hls,applehttp @ 0x16f6ee0] Estimating duration from bitrate, this may be
inaccurate
Input #0, hls,applehttp, from
'http://content.uplynk.com/channel/ext/72750b711f704e4a94b5cfe6dc99f5e1/WABCLive1.m3u8':
Duration: 00:00:00.05, start: 124.330667, bitrate: 227 kb/s
Program 0
Metadata:
variant_bitrate : 407383
Stream #0:0: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo,
fltp, 79 kb/s
Metadata:
variant_bitrate : 407383
Stream #0:1: Video: h264 (Constrained Baseline) ([27][0][0][0] /
0x001B), yuv420p, 416x234, 15 fps, 29.97 tbr, 90k tbn, 60 tbc
Metadata:
variant_bitrate : 407383
Stream #0:2: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
Metadata:
variant_bitrate : 407383
Program 1
Metadata:
variant_bitrate : 691241
Stream #0:3: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo,
fltp, 96 kb/s
Metadata:
variant_bitrate : 691241
Stream #0:4: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p,
704x396, 15 fps, 29.97 tbr, 90k tbn, 60 tbc
Metadata:
variant_bitrate : 691241
Stream #0:5: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
Metadata:
variant_bitrate : 691241
Program 2
Metadata:
variant_bitrate : 1197955
Stream #0:6: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo,
fltp, 127 kb/s
Metadata:
variant_bitrate : 1197955
Stream #0:7: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p,
896x504, 15 fps, 29.97 tbr, 90k tbn, 60 tbc
Metadata:
variant_bitrate : 1197955
Stream #0:8: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
Metadata:
variant_bitrate : 1197955
Program 3
Metadata:
variant_bitrate : 2513383
Stream #0:9: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo,
fltp, 128 kb/s
Metadata:
variant_bitrate : 2513383
Stream #0:10: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p,
1280x720, 15 fps, 29.97 tbr, 90k tbn, 60 tbc
Metadata:
variant_bitrate : 2513383
Stream #0:11: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
Metadata:
variant_bitrate : 2513383
Program 4
Metadata:
variant_bitrate : 115526
Stream #0:12: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo,
fltp, 35 kb/s
Metadata:
variant_bitrate : 115526
Stream #0:13: Video: h264 (Constrained Baseline) ([27][0][0][0] /
0x001B), yuv420p, 192x108, 7.50 fps, 14.99 tbr, 90k tbn, 30 tbc
Metadata:
variant_bitrate : 115526
Stream #0:14: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
Metadata:
variant_bitrate : 115526
Program 5
Metadata:
variant_bitrate : 229098
Stream #0:15: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo,
fltp, 48 kb/s
Metadata:
variant_bitrate : 229098
Stream #0:16: Video: h264 (Constrained Baseline) ([27][0][0][0] /
0x001B), yuv420p, 256x144, 15 fps, 29.97 tbr, 90k tbn, 60 tbc
Metadata:
variant_bitrate : 229098
Stream #0:17: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
Metadata:
variant_bitrate : 229098
At least one output file must be specified
}}}
It appears that the long probing before it gives up on the mp3 streams,
combined with the nature of HLS's dynamic playlists where it needs refetch
the individual playlists for the variant bitrates as by the time it
reaches the next playlist enough time has passed so the last mpegts
segment expired results in the hang. Timing it, it took about 5 minutes
before it probed every variant bitrate.
I tried using the analyzeduration flag to shorten the probe time, however
the value only affects the time it takes to probe the container itself
(the m3u8 playlist) while it ignores the flag when probing the underlying
mpegts files.
Maybe some type of hack is needed to skip these streams right away instead
of continuing to attempt to probe them until max_analyze_duration is
reached. I'm not fully familiar with the probing process, so I don't know
which came first in the probing process, the 0 channels, the "unspecified
frame size" error or if that's what is always shown if it can't decode the
stream after the max_analyze_duration is reached.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2619#comment:3>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list