[FFmpeg-user] ffmpeg seek for hls live stream.

Danie Van Der Walt dvdwalt at cointelvas.co.za
Wed Jun 15 16:48:41 CEST 2016


Hi Guys

I am having a bit of a problem seeking a HLS live stream.

I have a HLS live stream running, that can run up to 18 hours a day.
(For now with my test its just 10 minutes).
With this live stream I want to be able to say create a Video  by
specifying the start time and duration of the video I want to create.

For my Test, I want to start 10 seconds after the start of the Live
Stream and record for 10 seconds.
ffmpeg -y  -loglevel info -re   -ss -00:00:10.0 -i 
http://cdn.smartvideo.cointelvas.co.za//platform_3/Live/430A222A128A41CACEAC2E47986389E9/430A222A128A41CACEAC2E47986389E9_Main.m3u8  
-t 00:00:10.0 test.mp4

The command above works, but it starts recording from 10 seconds after I
started the command and not 10 seconds from the start of the stream.

Below is the output for my test.

Version:
ffmpeg version 2.8.6-1~wily Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.2.1 (Ubuntu 5.2.1-22ubuntu2) 20151010
  configuration: --prefix=/usr --extra-version='1~wily'
--libdir=/usr/lib/ffmpeg --shlibdir=/usr/lib/ffmpeg --enable-shared
--disable-static --disable-debug --toolchain=hardened --enable-pthreads
--enable-runtime-cpudetect --enable-d3d11va --enable-dxva2
--enable-vaapi --enable-vda --enable-vdpau --enable-gpl
--enable-version3 --enable-nonfree --enable-avisynth --enable-bzlib
--enable-fontconfig --enable-frei0r --enable-gnutls --enable-ladspa
--enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
--enable-libcdio --enable-libdc1394 --enable-libfaac --enable-libfdk-aac
--enable-libflite --enable-libfreetype --enable-libfribidi
--enable-libgme --enable-libgsm --enable-libiec61883 --enable-libmodplug
--enable-libmp3lame --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopencv --enable-libopenh264
--enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libquvi
--enable-librtmp --enable-libschroedinger --enable-libsmbclient
--enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh
--enable-libtheora --enable-libtwolame --enable-libv4l2
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxcb --enable-libxcb-shm
--enable-libxcb-xfixes --enable-libxcb-shape --enable-libxvid
--enable-openal --enable-opencl --enable-opengl
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
http://cdn.smartvideo.cointelvas.co.za//platform_3/Live/430A222A128A41CACEAC2E47986389E9/430A222A128A41CACEAC2E47986389E9_Main.m3u8:
could not seek to position 376.442
Input #0, hls,applehttp, from
'http://cdn.smartvideo.cointelvas.co.za//platform_3/Live/430A222A128A41CACEAC2E47986389E9/430A222A128A41CACEAC2E47986389E9_Main.m3u8':
  Duration: N/A, start: 376.441667, bitrate: N/A
  Program 0
    Metadata:
      variant_bitrate : 716800
    Stream #0:0: Video: h264 (Constrained Baseline) ([27][0][0][0] /
0x001B), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 90k tbn,
48 tbc
    Metadata:
      variant_bitrate : 716800
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz,
stereo, fltp, 60 kb/s
    Metadata:
      variant_bitrate : 716800
  Program 1
    Metadata:
      variant_bitrate : 1536000
    Stream #0:2: Video: h264 (Constrained Baseline) ([27][0][0][0] /
0x001B), yuv420p, 854x480 [SAR 32880:32879 DAR 137:77], 24 fps, 24 tbr,
90k tbn, 48 tbc
    Metadata:
      variant_bitrate : 1536000
    Stream #0:3: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz,
stereo, fltp, 60 kb/s
    Metadata:
      variant_bitrate : 1536000
  Program 2
    Metadata:
      variant_bitrate : 5218304
    Stream #0:4: Video: h264 (Constrained Baseline) ([27][0][0][0] /
0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 90k tbn,
48 tbc
    Metadata:
      variant_bitrate : 5218304
    Stream #0:5: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz,
stereo, fltp, 126 kb/s
    Metadata:
      variant_bitrate : 5218304
[libx264 @ 0x23dd780] using SAR=1/1
[libx264 @ 0x23dd780] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x23dd780] profile High, level 3.1
[libx264 @ 0x23dd780] 264 - core 146 r2555 0c21480 - H.264/MPEG-4 AVC
codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html -
options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7
psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1
8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6
lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250
keyint_min=24 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf
mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40
aq=1:1.00
Output #0, mp4, to 'test.mp4':
  Metadata:
    encoder         : Lavf56.40.101
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021),
yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 24 fps, 12288 tbn, 24 tbc
    Metadata:
      variant_bitrate : 5218304
      encoder         : Lavc56.60.100 libx264
    Stream #0:1: Audio: aac (libfaac) ([64][0][0][0] / 0x0040), 44100
Hz, stereo, s16, 128 kb/s
    Metadata:
      variant_bitrate : 716800
      encoder         : Lavc56.60.100 libfaac
Stream mapping:
  Stream #0:4 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (libfaac))


Is there any way I can force it to start at the start of the stream, and
not the current stream position?

Regards
Danie





More information about the ffmpeg-user mailing list