Opened 4 years ago

Last modified 4 years ago

#2619 new enhancement

Unable to play HLS urls from uplynk.com

Reported by: kyl416 Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: hls
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
ABC's O&O's recently switched to a new streaming provider for their live news streams. iOS can play these urls fine, but FFmpeg fails with a bunch of errors about cookies
How to reproduce:

ffmpeg -i http://content.uplynk.com/channel/ext/72750b711f704e4a94b5cfe6dc99f5e1/WABCLive1.m3u8
ffmpeg version N-53690-g2886e80 Copyright (c) 2000-2013 the FFmpeg developers
  built on May 30 2013 15:49:51 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. 34.100 / 52. 34.100
  libavcodec     55. 12.102 / 55. 12.102
  libavformat    55.  8.100 / 55.  8.100
  libavdevice    55.  2.100 / 55.  2.100
  libavfilter     3. 73.100 /  3. 73.100
  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
[http @ 0x1f75400] Invalid cookie found, no value, path or domain specified
[http @ 0x1f7e840] Invalid cookie found, no value, path or domain specified
    Last message repeated 4 times
[https @ 0x1f7e840] Invalid cookie found, no value, path or domain specified
[http @ 0x1ffd3a0] Invalid cookie found, no value, path or domain specified
[http @ 0x20299e0] Invalid cookie found, no value, path or domain specified
[http @ 0x2055ca0] Invalid cookie found, no value, path or domain specified
    Last message repeated 2 times
[http @ 0x2082160] Invalid cookie found, no value, path or domain specified
[http @ 0x2098300] Invalid cookie found, no value, path or domain specified
    Last message repeated 2 times
[http @ 0x20da820] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x20f09e0] Invalid cookie found, no value, path or domain specified
[http @ 0x2106ba0] Invalid cookie found, no value, path or domain specified
[http @ 0x211cc60] Invalid cookie found, no value, path or domain specified
[http @ 0x2132fc0] Invalid cookie found, no value, path or domain specified
[http @ 0x2149220] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x215f340] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x218b7e0] Invalid cookie found, no value, path or domain specified
[mpegts @ 0x1f774a0] max_analyze_duration 5000000 reached at 5034667 microseconds
[mpegts @ 0x1f774a0] 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
[http @ 0x22596e0] Invalid cookie found, no value, path or domain specified
skipping 14 segments ahead, expired from playlists
[https @ 0x22ae740] Invalid cookie found, no value, path or domain specified
[http @ 0x22a5ba0] Invalid cookie found, no value, path or domain specified
[http @ 0x2233d40] Invalid cookie found, no value, path or domain specified
[http @ 0x22978a0] Invalid cookie found, no value, path or domain specified
[http @ 0x9bd6a20] Invalid cookie found, no value, path or domain specified
[http @ 0xbe69420] Invalid cookie found, no value, path or domain specified
[mpegts @ 0x22adf00] max_analyze_duration 5000000 reached at 5034667 microseconds
[mpegts @ 0x22adf00] 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
[http @ 0x23c00a0] Invalid cookie found, no value, path or domain specified
skipping 19 segments ahead, expired from playlists
[https @ 0x23c00a0] Invalid cookie found, no value, path or domain specified
[http @ 0x23c00a0] Invalid cookie found, no value, path or domain specified
skipping 1 segments ahead, expired from playlists
[http @ 0x23c00a0] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x40cda80] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[mpegts @ 0x2421800] max_analyze_duration 5000000 reached at 5034667 microseconds
[mpegts @ 0x2421800] 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
[http @ 0x23b0460] Invalid cookie found, no value, path or domain specified
skipping 25 segments ahead, expired from playlists
[https @ 0x23b0460] Invalid cookie found, no value, path or domain specified
[http @ 0x238b340] Invalid cookie found, no value, path or domain specified
skipping 1 segments ahead, expired from playlists
[http @ 0x238b340] Invalid cookie found, no value, path or domain specified
[mpegts @ 0x1f83880] max_analyze_duration 5000000 reached at 5034667 microseconds
[mpegts @ 0x1f83880] 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
[http @ 0x2367f80] Invalid cookie found, no value, path or domain specified
skipping 30 segments ahead, expired from playlists
[https @ 0x2367f80] Invalid cookie found, no value, path or domain specified
[http @ 0xe0c09a0] Invalid cookie found, no value, path or domain specified
    Last message repeated 3 times
[http @ 0x408c760] Invalid cookie found, no value, path or domain specified
[http @ 0x409ae00] Invalid cookie found, no value, path or domain specified
[http @ 0x2482a00] Invalid cookie found, no value, path or domain specified
[http @ 0x2491140] Invalid cookie found, no value, path or domain specified
    Last message repeated 2 times
[http @ 0x2327a20] Invalid cookie found, no value, path or domain specified
[http @ 0x2335ee0] Invalid cookie found, no value, path or domain specified
[http @ 0x2344580] Invalid cookie found, no value, path or domain specified
    Last message repeated 6 times
[http @ 0x1d7fbae0] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x1e949440] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x1f1f0380] Invalid cookie found, no value, path or domain specified
[http @ 0x1fa970c0] Invalid cookie found, no value, path or domain specified
[http @ 0x2033dd80] Invalid cookie found, no value, path or domain specified
[http @ 0x20be4c40] Invalid cookie found, no value, path or domain specified
    Last message repeated 2 times
[http @ 0x21d328e0] Invalid cookie found, no value, path or domain specified
[http @ 0x225d9700] Invalid cookie found, no value, path or domain specified
[http @ 0x22e80540] Invalid cookie found, no value, path or domain specified
[http @ 0x23727360] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x23fce180] Invalid cookie found, no value, path or domain specified
[http @ 0x24874fa0] Invalid cookie found, no value, path or domain specified
[http @ 0x2511bd00] Invalid cookie found, no value, path or domain specified
[http @ 0x259c2a60] Invalid cookie found, no value, path or domain specified
[http @ 0x26269880] Invalid cookie found, no value, path or domain specified
[http @ 0x26b107c0] Invalid cookie found, no value, path or domain specified
[http @ 0x273b7680] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x28505160] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x28dabec0] Invalid cookie found, no value, path or domain specified
[http @ 0x29652c60] Invalid cookie found, no value, path or domain specified
[http @ 0x29ef98e0] Invalid cookie found, no value, path or domain specified
[http @ 0x2a7a0700] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x2b047520] Invalid cookie found, no value, path or domain specified
[http @ 0x2b8ee280] Invalid cookie found, no value, path or domain specified
[http @ 0x2c195140] Invalid cookie found, no value, path or domain specified
[http @ 0x2ca3bf60] Invalid cookie found, no value, path or domain specified
[http @ 0x2d2e2d80] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x2e4309e0] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x2ecd7740] Invalid cookie found, no value, path or domain specified
[http @ 0x2f57e4a0] Invalid cookie found, no value, path or domain specified
[http @ 0x2fe25360] Invalid cookie found, no value, path or domain specified
[http @ 0x306cc0a0] Invalid cookie found, no value, path or domain specified
[http @ 0x30f73000] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x31819d60] Invalid cookie found, no value, path or domain specified
[http @ 0x320c0b80] Invalid cookie found, no value, path or domain specified
[http @ 0x32967980] Invalid cookie found, no value, path or domain specified
[http @ 0x3320e7a0] Invalid cookie found, no value, path or domain specified
[http @ 0x33ab5660] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x3435c5a0] Invalid cookie found, no value, path or domain specified
[http @ 0x34c031c0] Invalid cookie found, no value, path or domain specified
[http @ 0x354aa0c0] Invalid cookie found, no value, path or domain specified
[http @ 0x35d50ce0] Invalid cookie found, no value, path or domain specified
[http @ 0x365f7ba0] Invalid cookie found, no value, path or domain specified
[http @ 0x36e9e9c0] Invalid cookie found, no value, path or domain specified
[http @ 0x37745760] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x37fec6e0] Invalid cookie found, no value, path or domain specified
[http @ 0x38893300] Invalid cookie found, no value, path or domain specified
[http @ 0x3913a120] Invalid cookie found, no value, path or domain specified
[http @ 0x399e1020] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x3a287e40] Invalid cookie found, no value, path or domain specified
[http @ 0x3ab2eba0] Invalid cookie found, no value, path or domain specified
[http @ 0x3b3d5a60] Invalid cookie found, no value, path or domain specified
[http @ 0x3bc7c880] Invalid cookie found, no value, path or domain specified
[http @ 0x3c523540] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x3cdca2c0] Invalid cookie found, no value, path or domain specified
[mpegts @ 0x251b560] max_analyze_duration 5000000 reached at 5034667 microseconds
[mpegts @ 0x251b560] 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
[http @ 0x3d9bd9e0] Invalid cookie found, no value, path or domain specified
skipping 106 segments ahead, expired from playlists
[https @ 0x3d9bd9e0] Invalid cookie found, no value, path or domain specified
[http @ 0x12c1e240] Invalid cookie found, no value, path or domain specified
[http @ 0x33dfce0] Invalid cookie found, no value, path or domain specified
    Last message repeated 3 times
[http @ 0x466a0d80] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x4892a6c0] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x49a6f4a0] Invalid cookie found, no value, path or domain specified
[http @ 0x4abb4380] Invalid cookie found, no value, path or domain specified
[http @ 0x4bcf9360] Invalid cookie found, no value, path or domain specified
[http @ 0x4ce3e140] Invalid cookie found, no value, path or domain specified
[http @ 0x4df830e0] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x4f0c80a0] Invalid cookie found, no value, path or domain specified
[http @ 0x5020cee0] Invalid cookie found, no value, path or domain specified
[http @ 0x51351da0] Invalid cookie found, no value, path or domain specified
[http @ 0x52496c80] Invalid cookie found, no value, path or domain specified
[http @ 0x535dbb40] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x54720b60] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x569aaa60] Invalid cookie found, no value, path or domain specified
[http @ 0x57aef9c0] Invalid cookie found, no value, path or domain specified
[http @ 0x58c34880] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x5aebe720] Invalid cookie found, no value, path or domain specified
    Last message repeated 1 times
[http @ 0x5c003720] Invalid cookie found, no value, path or domain specified
^C[mpegts @ 0x251cc00] max_analyze_duration 5000000 reached at 5034667 microseconds
[mpegts @ 0x251cc00] 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 @ 0x1f57ee0] 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 @ 0x1f57ee0] 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 @ 0x1f57ee0] 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 @ 0x1f57ee0] 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 @ 0x1f57ee0] 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 @ 0x1f57ee0] 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 @ 0x1f57ee0] 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.02, bitrate: 508 kb/s
  Program 0 
    Metadata:
      variant_bitrate : 398585
    Stream #0:0: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 78 kb/s
    Metadata:
      variant_bitrate : 398585
    Stream #0:1: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 416x234, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 398585
    Stream #0:2: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
    Metadata:
      variant_bitrate : 398585
  Program 1 
    Metadata:
      variant_bitrate : 682203
    Stream #0:3: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 96 kb/s
    Metadata:
      variant_bitrate : 682203
    Stream #0:4: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 704x396, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 682203
    Stream #0:5: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
    Metadata:
      variant_bitrate : 682203
  Program 2 
    Metadata:
      variant_bitrate : 1200819
    Stream #0:6: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 128 kb/s
    Metadata:
      variant_bitrate : 1200819
    Stream #0:7: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 896x504, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 1200819
    Stream #0:8: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
    Metadata:
      variant_bitrate : 1200819
  Program 3 
    Metadata:
      variant_bitrate : 2537877
    Stream #0:9: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 128 kb/s
    Metadata:
      variant_bitrate : 2537877
    Stream #0:10: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 2537877
    Stream #0:11: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
    Metadata:
      variant_bitrate : 2537877
  Program 4 
    Metadata:
      variant_bitrate : 114966
    Stream #0:12: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 30 kb/s
    Metadata:
      variant_bitrate : 114966
    Stream #0:13: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 192x108, 15 tbr, 90k tbn, 30 tbc
    Metadata:
      variant_bitrate : 114966
    Stream #0:14: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
    Metadata:
      variant_bitrate : 114966
  Program 5 
    Metadata:
      variant_bitrate : 220310
    Stream #0:15: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 48 kb/s
    Metadata:
      variant_bitrate : 220310
    Stream #0:16: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 256x144, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 220310
    Stream #0:17: Audio: mp3 ([21][0][0][0] / 0x0015), 0 channels, s16p
    Metadata:
      variant_bitrate : 220310
At least one output file must be specified
Received signal 2: terminating.

The output is flooded non-stop with error messages about invalid cookies and unable to find codec parameters. The details about the stream didn't show up until I terminated the process with Ctrl+C.

Attachments (3)

patchcookiedomain.diff (444 bytes) - added by cehoyos 4 years ago.
segment.ts (206.2 KB) - added by kyl416 4 years ago.
TS segment
aes.key (16 bytes) - added by kyl416 4 years ago.
AES Key

Download all attachments as: .zip

Change History (10)

comment:1 Changed 4 years ago by cehoyos

  • Keywords hls added

Changed 4 years ago by cehoyos

comment:2 Changed 4 years ago by cehoyos

Does attached hack allow playback for you?

comment:3 Changed 4 years ago 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.

comment:4 Changed 4 years ago by cehoyos

The original issue - that the cookies were not accepted - should be fixed, the remaining issue with probesize and analyzeduration is a duplicate of ticket #1291 afaict. Maybe you can force smaller values with av_dict_set()?

comment:5 follow-up: Changed 4 years ago by kyl416

I see it as more of a general issue related to streams from uplynk and the cookies were just one part of it, since even without the cookie support in the original output, the error about the unplayable mp3 stream still appeared.

In cases like this though shouldn't it just reject the unplayable stream automatically instead of hanging while it tries to probe it and then playing what it can play? As I said I'm not too familiar with how the probing works, so I don't know if there's a way to know that the stream is unplayable immediately and to ignore it, or if the 0 channels and "unspecified frame size" error only shows up after it gives up on trying to probe it.

Also, is it a duplicate? That's ticket is related to the flags not being passed in the chain from the m3u8 container to the individual ts streams, which if fixed would possibly provide a workaround, but it wouldn't be that practical in situations where you don't know where the hls playlist is coming from in advanced (i.e. a mobile app that uses libavformat and takes streams from multiple sources)

comment:6 in reply to: ↑ 5 Changed 4 years ago by cehoyos

Replying to kyl416:

In cases like this though shouldn't it just reject the unplayable stream automatically instead of hanging while it tries to probe it and then playing what it can play?

How would FFmpeg know which streams are unplayable without probing them?

It is of course possible that there is a bug - that FFmpeg should know these are not playable streams: Did you already download one of the segments and run ffmpeg -i on it?

Changed 4 years ago by kyl416

TS segment

Changed 4 years ago by kyl416

AES Key

comment:7 Changed 4 years ago by kyl416

I'm not familiar with what the probing process is doing in that time. Does it detect the zero channels right away, or is that just what's output by default after the timeout period?

It's going to take some work to get the actual ts segments since it uses AES encryption. I attached one of the .ts files and the downloaded key file if you or anyone else can knows how to do it manually.

Note: See TracTickets for help on using tickets.