Opened 6 years ago

Closed 18 months ago

#5811 closed defect (worksforme)

live_start_index option doesn't work.

Reported by: smalukav Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: hls
Cc: nick20080808@gmail.com Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

This bug occurs when you try to copy live hls stream from start. ffmpeg has an option to set the segment number where it must start reading.

ffmpeg -h full
-live_start_index  <int>        .D...... segment index to start live streams at (negative values are from the end) (from INT_MIN to INT_MAX) (default -3)

But this option is totally broken, and ffmpeg always starts at the third last segment.

This happens because function select_cur_seq_no in hls.c uses c->live_start_index before ffmpeg sets its value to the specified by user.

Let's look to the call stack:
avformat_open_input --> s->iformat->read_header(s) --> hls_read_header --> pls->cur_seq_no = select_cur_seq_no(c, pls); --> select_cur_seq_no (here options was readed from HLSContext struct).

Because all options changes should occur after avformat_open_input call, there's no way to change this option value.

Looks like somebody tried to fix it and made AVFMT_FLAG_PRIV_OPT flag, which would eliminate s->iformat->read_header call in avformat_open_input. But as of today this flag isn't work (and it is unlikely will be worked in the future).

How to reproduce:

ffmpeg -re -i some_video.mp4 -c copy -hls_time 10 -hls_list_size 0 hls_stream/stream.m3u8 &
sleep 100
ffmpeg -i hls_stream/stream.m3u8 -live_start_index 0 new_video.mp4

Despite -live_start_index 0 option, ffmpeg dropped the first few segments.

Change History (15)

comment:1 by Carl Eugen Hoyos, 6 years ago

Keywords: hls added
Resolution: worksforme
Status: newclosed

Works for me as documented, your analysis is definitely wrong, see for example mov_read_header() which reads a context variable mapped from a user option on the top of the function.
Feel free to reopen this ticket if you can provide the failing command line(s) together with the complete, uncut console output.

comment:2 by smalukav, 6 years ago

Resolution: worksforme
Status: closedreopened

Ok, just look what happens when you try to copy live hls stream.
Firstly, create live stream with option -re.

$ /opt/ffmpeg/bin/ffmpeg -re -i http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_2160p_60fps_normal.mp4 -c copy -hls_time 10 -hls_list_size 0 hls_stream/stream.m3u8
ffmpeg version N-81495-g11a631d Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --enable-rpath --prefix=/opt/ffmpeg --toolchain=hardened --enable-shared --enable-gpl --enable-nonfree --enable-openssl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libebur128
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.101 / 57. 54.101
  libavformat    57. 48.101 / 57. 48.101
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 58.100 /  6. 58.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_2160p_60fps_normal.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2013-12-17T16:40:26.000000Z
    title           : Big Buck Bunny, Sunflower version
    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
    genre           : Animation
    composer        : Sacha Goedegebure
  Duration: 00:10:34.53, start: 0.000000, bitrate: 8487 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 8002 kb/s, 60 fps, 60 tbr, 60k tbn, 120 tbc (default)
    Metadata:
      creation_time   : 2013-12-17T16:40:26.000000Z
      handler_name    : GPAC ISO Video Handler
    Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, s16p, 160 kb/s (default)
    Metadata:
      creation_time   : 2013-12-17T16:40:28.000000Z
      handler_name    : GPAC ISO Audio Handler
    Stream #0:2(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 320 kb/s (default)
    Metadata:
      creation_time   : 2013-12-17T16:40:28.000000Z
      handler_name    : GPAC ISO Audio Handler
    Side data:
      audio service type: main
[hls @ 0xea7160] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
    Last message repeated 1 times
Output #0, hls, to 'hls_stream/stream.m3u8':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    composer        : Sacha Goedegebure
    title           : Big Buck Bunny, Sunflower version
    artist          : Blender Foundation 2008, Janus Bager Kristensen 2013
    comment         : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
    genre           : Animation
    encoder         : Lavf57.48.101
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 8002 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc (default)
    Metadata:
      creation_time   : 2013-12-17T16:40:26.000000Z
      handler_name    : GPAC ISO Video Handler
    Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), 320 kb/s (default)
    Metadata:
      creation_time   : 2013-12-17T16:40:28.000000Z
      handler_name    : GPAC ISO Audio Handler
    Side data:
      audio service type: main
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:2 -> #0:1 (copy)

Stream created. Wait when ffmpeg transcribe to local live stream a lot of segments.

$ cat hls_stream/stream.m3u8 
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:13
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:12.483333,
stream0.ts
#EXTINF:7.616667,
stream1.ts
#EXTINF:11.466667,
stream2.ts
#EXTINF:12.300000,
stream3.ts
#EXTINF:8.200000,
stream4.ts
#EXTINF:8.333333,
stream5.ts
#EXTINF:11.916667,
stream6.ts
#EXTINF:11.750000,
stream7.ts
#EXTINF:8.333333,
stream8.ts
#EXTINF:11.700000,
stream9.ts
#EXTINF:8.333333,
stream10.ts
#EXTINF:8.750000,
stream11.ts
#EXTINF:10.050000,
stream12.ts
#EXTINF:12.500000,
stream13.ts
#EXTINF:7.000000,
stream14.ts
#EXTINF:9.633333,
stream15.ts
#EXTINF:10.216667,
stream16.ts
#EXTINF:9.900000,
stream17.ts
#EXTINF:9.833333,
stream18.ts
#EXTINF:10.966667,
stream19.ts
#EXTINF:9.000000,
stream20.ts
#EXTINF:12.033333,
stream21.ts

And now try to copy local stream to new video starting from the first segment.

$ /opt/ffmpeg/bin/ffmpeg -i hls_stream/stream.m3u8 -c copy -live_start_index 0 -v 45 new_video.mp4
ffmpeg version N-81495-g11a631d Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --enable-rpath --prefix=/opt/ffmpeg --toolchain=hardened --enable-shared --enable-gpl --enable-nonfree --enable-openssl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libebur128
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.101 / 57. 54.101
  libavformat    57. 48.101 / 57. 48.101
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 58.100 /  6. 58.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Splitting the commandline.
Reading option '-i' ... matched as input file with argument 'hls_stream/stream.m3u8'.
Reading option '-c' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-live_start_index' ... matched as AVOption 'live_start_index' with argument '0'.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '99'.
Reading option 'new_video.mp4' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 99.
Successfully parsed a group of options.
Parsing a group of options: input file hls_stream/stream.m3u8.
Successfully parsed a group of options.
Opening an input file: hls_stream/stream.m3u8.
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream19.ts', offset 0, playlist 0
[h264 @ 0x1fb59a0] Reinit context to 3840x2160, pix_fmt: yuv420p
Input #0, hls,applehttp, from 'hls_stream/stream.m3u8':
  Duration: N/A, start: 191.736000, bitrate: N/A
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (High), 1 reference frame ([27][0][0][0] / 0x001B), yuv420p, 3840x2160 [SAR 1:1 DAR 16:9], 60 fps, 60 tbr, 90k tbn, 120 tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 320 kb/s
    Metadata:
      variant_bitrate : 0
[mp4 @ 0x1fa62a0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
    Last message repeated 1 times
[mp4 @ 0x1fa62a0] track 1: codec frame size is not set
Output #0, mp4, to 'new_video.mp4':
  Metadata:
    encoder         : Lavf57.48.101
    Stream #0:0: Video: h264 (High), 1 reference frame ([33][0][0][0] / 0x0021), yuv420p, 3840x2160 (0x0) [SAR 1:1 DAR 16:9], q=2-31, 60 fps, 60 tbr, 90k tbn, 90k tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, 5.1(side), 320 kb/s
    Metadata:
      variant_bitrate : 0
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream20.ts', offset 0, playlist 0
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream21.ts', offset 0, playlist 0
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream22.ts', offset 0, playlist 0
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream23.ts', offset 0, playlist 0   
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream24.ts', offset 0, playlist 0   
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream25.ts', offset 0, playlist 0   
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream26.ts', offset 0, playlist 0   
[hls,applehttp @ 0x1f92820] HLS request for url 'hls_stream/stream27.ts', offset 0, playlist 0

Despite -live_start_index option, ffmpeg start reading only from segment 19, not the first segment.
And if you change in source code the default option value to 0 (start from the first segment) and recompile ffmpeg, these commands will work as expected.

comment:3 by Carl Eugen Hoyos, 6 years ago

Please test with -f lavfi -i testsrc as input and -vcodec mpeg1video as codec so I can try to reproduce.
Is this only reproducible with -vcodec copy? It was not part of your original command line.

comment:4 by smalukav, 6 years ago

$ /opt/ffmpeg/bin/ffmpeg -re -f lavfi -i testsrc -vcodec mpeg1video -hls_time 10 -hls_list_size 0 hls_stream/stream.m3u8
ffmpeg version N-81495-g11a631d Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --enable-rpath --prefix=/opt/ffmpeg --toolchain=hardened --enable-shared --enable-gpl --enable-nonfree --enable-openssl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libebur128
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.101 / 57. 54.101
  libavformat    57. 48.101 / 57. 48.101
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 58.100 /  6. 58.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
Input #0, lavfi, from 'testsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
[hls @ 0x1010d80] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, hls, to 'hls_stream/stream.m3u8':
  Metadata:
    encoder         : Lavf57.48.101
    Stream #0:0: Video: mpeg1video, yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.54.101 mpeg1video
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg1video (native))
Press [q] to stop, [?] for help
$ cat hls_stream/stream.m3u8                                                                           
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.080000,
stream0.ts
#EXTINF:10.080000,
stream1.ts
#EXTINF:10.080000,
stream2.ts
#EXTINF:10.080000,
stream3.ts
#EXTINF:10.080000,
stream4.ts
#EXTINF:9.600000,
stream5.ts
#EXTINF:10.080000,
stream6.ts
#EXTINF:10.080000,
stream7.ts
#EXTINF:10.080000,
stream8.ts
#EXTINF:10.080000,
stream9.ts
#EXTINF:10.080000,
stream10.ts
#EXTINF:9.600000,
stream11.ts
#EXTINF:10.080000,
stream12.ts
#EXTINF:10.080000,
stream13.ts
#EXTINF:10.080000,
stream14.ts
$ /opt/ffmpeg/bin/ffmpeg -i hls_stream/stream.m3u8 -vcodec mpeg1video -live_start_index 0 -v 45 new_video.mp4           
ffmpeg version N-81495-g11a631d Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --enable-rpath --prefix=/opt/ffmpeg --toolchain=hardened --enable-shared --enable-gpl --enable-nonfree --enable-openssl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libebur128
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.101 / 57. 54.101
  libavformat    57. 48.101 / 57. 48.101
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 58.100 /  6. 58.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream12.ts', offset 0, playlist 0
Input #0, hls,applehttp, from 'hls_stream/stream.m3u8':
  Duration: N/A, start: 121.440000, bitrate: 104857 kb/s
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: mpeg1video, 1 reference frame ([2][0][0][0] / 0x0002), yuv420p(tv), 320x240 [SAR 1:1 DAR 4:3], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
    Metadata:
      variant_bitrate : 0
[graph 0 input from stream 0:0 @ 0x837540] w:320 h:240 pixfmt:yuv420p tb:1/90000 fr:25/1 sar:1/1 sws_param:flags=2
[mp4 @ 0x85c420] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, mp4, to 'new_video.mp4':
  Metadata:
    encoder         : Lavf57.48.101
    Stream #0:0: Video: mpeg1video, 1 reference frame (j[0][0][0] / 0x006A), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      variant_bitrate : 0
      encoder         : Lavc57.54.101 mpeg1video
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg1video (native) -> mpeg1video (native))
Press [q] to stop, [?] for help
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream13.ts', offset 0, playlist 0
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream14.ts', offset 0, playlist 0
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream15.ts', offset 0, playlist 0
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream16.ts', offset 0, playlist 0   
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream17.ts', offset 0, playlist 0   
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream18.ts', offset 0, playlist 0   
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream19.ts', offset 0, playlist 0   
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream20.ts', offset 0, playlist 0   
[hls,applehttp @ 0x837820] HLS request for url 'hls_stream/stream21.ts', offset 0, playlist 0   

Is this only reproducible with -vcodec copy?

No, it doesn't depend on the codec. I guess it's only demuxer problem.

comment:5 by Carl Eugen Hoyos, 6 years ago

Resolution: worksforme
Status: reopenedclosed
$ ffmpeg -v 45 -live_start_index 0 -i stream.m3u8 out.avi
ffmpeg version N-81473-gb2c6a11 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.100 / 57. 54.100
  libavformat    57. 48.100 / 57. 48.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 57.100 /  6. 57.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
[hls,applehttp @ 0x35c3440] HLS request for url 'stream0.ts', offset 0, playlist 0
Input #0, hls,applehttp, from 'stream.m3u8':
  Duration: N/A, start: 1.440000, bitrate: 104857 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: mpeg1video, 1 reference frame ([2][0][0][0] / 0x0002), yuv420p(tv), 320x240 [SAR 1:1 DAR 4:3], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
    Metadata:
      variant_bitrate : 0
[graph 0 input from stream 0:0 @ 0x361baa0] w:320 h:240 pixfmt:yuv420p tb:1/90000 fr:25/1 sar:1/1 sws_param:flags=2
[avi @ 0x35e8d00] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf57.48.100
    Stream #0:0: Video: mpeg4, 1 reference frame (FMP4 / 0x34504D46), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      variant_bitrate : 0
      encoder         : Lavc57.54.100 mpeg4
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg1video (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
[hls,applehttp @ 0x35c3440] HLS request for url 'stream1.ts', offset 0, playlist 0
[hls,applehttp @ 0x35c3440] HLS request for url 'stream2.ts', offset 0, playlist 0
[hls,applehttp @ 0x35c3440] HLS request for url 'stream3.ts', offset 0, playlist 0
[hls,applehttp @ 0x35c3440] HLS request for url 'stream4.ts', offset 0, playlist 0
frame= 1056 fps=0.0 q=9.4 Lsize=    1363kB time=00:00:42.24 bitrate= 264.3kbits/s speed= 140x
video:1332kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.320622%
Input file #0 (stream.m3u8):
  Input stream #0:0 (video): 1057 packets read (1382348 bytes); 1057 frames decoded;
  Total: 1057 packets (1382348 bytes) demuxed
Output file #0 (out.avi):
  Output stream #0:0 (video): 1056 frames encoded; 1056 packets muxed (1363729 bytes);
  Total: 1056 packets (1363729 bytes) muxed
$ ffmpeg -v 45 -live_start_index 11 -i stream.m3u8 out.avi
ffmpeg version N-81473-gb2c6a11 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.100 / 57. 54.100
  libavformat    57. 48.100 / 57. 48.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 57.100 /  6. 57.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
[hls,applehttp @ 0x2be1440] HLS request for url 'stream11.ts', offset 0, playlist 0
Input #0, hls,applehttp, from 'stream.m3u8':
  Duration: N/A, start: 111.840000, bitrate: 104857 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: mpeg1video, 1 reference frame ([2][0][0][0] / 0x0002), yuv420p(tv), 320x240 [SAR 1:1 DAR 4:3], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
    Metadata:
      variant_bitrate : 0
[graph 0 input from stream 0:0 @ 0x2bf6280] w:320 h:240 pixfmt:yuv420p tb:1/90000 fr:25/1 sar:1/1 sws_param:flags=2
[avi @ 0x2bf2640] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf57.48.100
    Stream #0:0: Video: mpeg4, 1 reference frame (FMP4 / 0x34504D46), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      variant_bitrate : 0
      encoder         : Lavc57.54.100 mpeg4
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg1video (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
[hls,applehttp @ 0x2be1440] HLS request for url 'stream12.ts', offset 0, playlist 0
[hls,applehttp @ 0x2be1440] HLS request for url 'stream13.ts', offset 0, playlist 0
[hls,applehttp @ 0x2be1440] HLS request for url 'stream14.ts', offset 0, playlist 0
[hls,applehttp @ 0x2be1440] HLS request for url 'stream15.ts', offset 0, playlist 0
frame= 1141 fps=0.0 q=7.6 Lsize=    1450kB time=00:00:45.64 bitrate= 260.3kbits/s speed= 152x
video:1417kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.321591%
Input file #0 (stream.m3u8):
  Input stream #0:0 (video): 1142 packets read (1160452 bytes); 1142 frames decoded;
  Total: 1142 packets (1160452 bytes) demuxed
Output file #0 (out.avi):
  Output stream #0:0 (video): 1141 frames encoded; 1141 packets muxed (1451289 bytes);
  Total: 1141 packets (1451289 bytes) muxed
$ ffmpeg -v 45 -live_start_index -15 -i stream.m3u8 out.avi
ffmpeg version N-81473-gb2c6a11 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      55. 29.100 / 55. 29.100
  libavcodec     57. 54.100 / 57. 54.100
  libavformat    57. 48.100 / 57. 48.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 57.100 /  6. 57.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100
[hls,applehttp @ 0x1ece440] HLS request for url 'stream24.ts', offset 0, playlist 0
Input #0, hls,applehttp, from 'stream.m3u8':
  Duration: N/A, start: 241.440000, bitrate: 104857 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: mpeg1video, 1 reference frame ([2][0][0][0] / 0x0002), yuv420p(tv), 320x240 [SAR 1:1 DAR 4:3], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
    Metadata:
      variant_bitrate : 0
[graph 0 input from stream 0:0 @ 0x1f0c780] w:320 h:240 pixfmt:yuv420p tb:1/90000 fr:25/1 sar:1/1 sws_param:flags=2
[avi @ 0x1ef41e0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf57.48.100
    Stream #0:0: Video: mpeg4, 1 reference frame (FMP4 / 0x34504D46), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      variant_bitrate : 0
      encoder         : Lavc57.54.100 mpeg4
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg1video (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
[hls,applehttp @ 0x1ece440] HLS request for url 'stream25.ts', offset 0, playlist 0
[hls,applehttp @ 0x1ece440] HLS request for url 'stream26.ts', offset 0, playlist 0
[hls,applehttp @ 0x1ece440] HLS request for url 'stream27.ts', offset 0, playlist 0
[hls,applehttp @ 0x1ece440] HLS request for url 'stream28.ts', offset 0, playlist 0
frame= 1119 fps=0.0 q=11.0 Lsize=    1423kB time=00:00:44.76 bitrate= 260.5kbits/s speed= 149x
video:1391kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.328217%
Input file #0 (stream.m3u8):
  Input stream #0:0 (video): 1120 packets read (1140142 bytes); 1120 frames decoded;
  Total: 1120 packets (1140142 bytes) demuxed
Output file #0 (out.avi):
  Output stream #0:0 (video): 1119 frames encoded; 1119 packets muxed (1424266 bytes);
  Total: 1119 packets (1424266 bytes) muxed

comment:6 by Gunnat, 5 years ago

Keywords: hls.c added; hls removed
Priority: normalcritical

just fixed the funny live_start_index bug.
At least fix for the server and stream I am interested in.
Turns out like this in my case (10s segments)

  • pls->start_seq_no, whatever segment is streamed "now" from stream server
  • pls->n_segments, the max OLD segments the server keeps available, 1438,FOUR HOURS
  • c->live_start_index, where ffmpeg puts the command argument I give it, 1400

Note, pls->n_segments is given as a positive number although it is kindo negative, how max cmaller one can make the segmentcounter. (the thought-bug?)

THat is, a funny thing, shld i use PLUS 1400 or MINUS 1400?
Note, when asking for old, smaller number segments!

(seems the existing code did the same thought-bug in both cases?? always did nothing?)

So I made it accept both but always GO BACKWARDS (earlier), both in time and segments


/* index If this is a LIVE stream, start live_start_index segments from the

  • start or end */

printf("\n start_seq_no %d n_segments %d live_start_index %d \n",pls->start_seq_no,pls->n_segments,c->live_start_index) ;

if (c->live_start_index < 0) /* user gives neg number, 5th grade -/+ math*/

/* take max of two negative numbers, hehe*/
/* 93abcd, - 1438(4 hours back), -1400*/

seq_gunnar = pls->start_seq_no + FFMAX((- pls->n_segments), c->live_start_index);

else /* user gives pos number, kindo simpler, just subtract the smaller*/

/* 1400, 1438 */

seq_gunnar = pls->start_seq_no - FFMIN(c->live_start_index, pls->n_segments);

printf("\n start_seq_no %d n_segments %d live_start_index %d gunnar %d\n",pls->start_seq_no,pls->n_segments,c->live_start_index,seq_gunnar) ;

return seq_gunnar;


bottom line, the negative of a cpl of negative or not negative numbers is funny

PS Forgot, disabled lots of checks of seqment numbers in read_data subroutine, esp the reload: part.
A mess at the moment, cant do other backwards numbers than the full 4 hours
But better than nothing at all.

Last edited 5 years ago by Gunnat (previous) (diff)

comment:7 by llogan, 5 years ago

Keywords: hls added; hls.c removed
Priority: criticalnormal

Please send patches to the ffmpeg-devel mailing list.

comment:8 by paul ruan, 3 years ago

I have encountered the same problem , it seems that if you put "-live_start_index" before the "-i" option, everything is ok, but if you put it after "-i", then it doesn't work, so I just put it before "-i" to avoid this annoyed problem. until version 4.1.1 this problem is still not fixed.

comment:9 by Nick Lai, 18 months ago

Cc: nick20080808@gmail.com added
Resolution: worksforme
Status: closedreopened

Coming from the youtube-dl project, I still cannot figure out how to fix this issue.

youtube-dl already placed -live_start_index before -i options but it stills starts at the point of execution for live streams. Values of option -live_start_index such as 0, -36000 and -180000 are tried but to no avail.

The following is the youtube-dl debug log (including ffmpeg output).

D:\>youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']
[debug] Encodings: locale cp950, fs mbcs, out cp950, pref cp950
[debug] youtube-dl version 2020.12.29
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
[debug] exe versions: ffmpeg 4.3.1-2020-11-19-essentials_build-www.gyan.dev, ffprobe 4.3.1-2020-11-19-essentials_build-www.gyan.dev
[debug] Proxy map: {}
[youtube] orNc3NwAmHY: Downloading webpage
[youtube] orNc3NwAmHY: Downloading m3u8 information
[youtube] orNc3NwAmHY: Downloading MPD manifest
[debug] Default format spec: best/bestvideo+bestaudio
[debug] Invoking downloader on 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/dover/11/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8'
[download] Destination:  瑪瑪信箱《第89集》-orNc3NwAmHY.ts
[debug] ffmpeg command line: ffmpeg -y -loglevel verbose -live_start_index -180000 -headers "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.63 Safari/537.36
Accept-Language: en-us,en;q=0.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
" -i "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/dover/11/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8" -c copy -f mpegts "file: 瑪瑪信箱《第89集》-orNc3NwAmHY.ts.part"
ffmpeg version 4.3.1-2020-11-19-essentials_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
[tcp @ 000001c051784a40] Starting connection attempt to 172.217.24.78 port 443
[tcp @ 000001c051784a40] Successfully connected to 172.217.24.78 port 443
[hls @ 000001c05177f580] Skip ('#EXT-X-VERSION:3')
[hls @ 000001c05177f580] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:6')
[hls @ 000001c05177f580] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-12-29T13:29:39.932+00:00')
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2315/goap/clen%3D43434%3Blmt%3D1609244637012210/govp/clen%3D693528%3Blmt%3D1609244637012213/dur/2.000/file/seg.ts', offset 0, playlist 0
[hls @ 000001c05177f580] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2315/goap/clen%3D43434%3Blmt%3D1609244637012210/govp/clen%3D693528%3Blmt%3D1609244637012213/dur/2.000/file/seg.ts' for reading
[tcp @ 000001c0517d9d00] Starting connection attempt to 182.239.95.108 port 443
[tcp @ 000001c0517d9d00] Successfully connected to 182.239.95.108 port 443
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2316/goap/clen%3D43345%3Blmt%3D1609244637012230/govp/clen%3D697632%3Blmt%3D1609244637012231/dur/2.000/file/seg.ts', offset 0, playlist 0
[hls @ 000001c05177f580] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2316/goap/clen%3D43345%3Blmt%3D1609244637012230/govp/clen%3D697632%3Blmt%3D1609244637012231/dur/2.000/file/seg.ts' for reading
[tcp @ 000001c051ea7d80] Starting connection attempt to 182.239.95.108 port 443
[tcp @ 000001c051ea7d80] Successfully connected to 182.239.95.108 port 443
[h264 @ 000001c0521862c0] Reinit context to 1280x720, pix_fmt: yuv420p
Input #0, hls, from 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/dover/11/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8':
  Duration: N/A, start: 4628.201356, bitrate: N/A
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Video: h264 (Main), 1 reference frame ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, left), 1280x720 [SAR 1:1 DAR 16:9], 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 0
[mpegts @ 000001c0527e6040] service 1 using PCR in pid=256, pcr_period=0ms
[mpegts @ 000001c0527e6040] muxrate VBR, sdt every 500 ms, pat/pmt every 100 ms
Output #0, mpegts, to 'file: 瑪瑪信箱《第89集》-orNc3NwAmHY.ts.part':
  Metadata:
    encoder         : Lavf58.45.100
    Stream #0:0: Video: h264 (Main), 1 reference frame ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, left), 1280x720 (0x0) [SAR 1:1 DAR 16:9], q=2-31, 30 tbr, 90k tbn, 90k tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2317/goap/clen%3D43330%3Blmt%3D1609244637012250/govp/clen%3D634115%3Blmt%3D1609244637012251/dur/2.000/file/seg.ts', offset 0, playlist 0
[https @ 000001c051d5edc0] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2317/goap/clen%3D43330%3Blmt%3D1609244637012250/govp/clen%3D634115%3Blmt%3D1609244637012251/dur/2.000/file/seg.ts' for reading
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2318/goap/clen%3D43617%3Blmt%3D1609244637012270/govp/clen%3D484229%3Blmt%3D1609244637012273/dur/2.000/file/seg.ts', offset 0, playlist 0
[https @ 000001c052022040] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2318/goap/clen%3D43617%3Blmt%3D1609244637012270/govp/clen%3D484229%3Blmt%3D1609244637012273/dur/2.000/file/seg.ts' for reading
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2319/goap/clen%3D43658%3Blmt%3D1609244637012290/govp/clen%3D402657%3Blmt%3D1609244637012291/dur/2.000/file/seg.ts', offset 0, playlist 0
[https @ 000001c051d5edc0] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2319/goap/clen%3D43658%3Blmt%3D1609244637012290/govp/clen%3D402657%3Blmt%3D1609244637012291/dur/2.000/file/seg.ts' for reading
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2320/goap/clen%3D43293%3Blmt%3D1609244637012310/govp/clen%3D361489%3Blmt%3D1609244637012311/dur/2.000/file/seg.ts', offset 0, playlist 0
[https @ 000001c052022040] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2320/goap/clen%3D43293%3Blmt%3D1609244637012310/govp/clen%3D361489%3Blmt%3D1609244637012311/dur/2.000/file/seg.ts' for reading
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2321/goap/clen%3D43537%3Blmt%3D1609244637012330/govp/clen%3D372263%3Blmt%3D1609244637012332/dur/2.000/file/seg.ts', offset 0, playlist 0
[https @ 000001c051d5edc0] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2321/goap/clen%3D43537%3Blmt%3D1609244637012330/govp/clen%3D372263%3Blmt%3D1609244637012332/dur/2.000/file/seg.ts' for reading
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2322/goap/clen%3D43118%3Blmt%3D1609244637012350/govp/clen%3D449656%3Blmt%3D1609244637012351/dur/2.000/file/seg.ts', offset 0, playlist 0
[https @ 000001c052022040] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2322/goap/clen%3D43118%3Blmt%3D1609244637012350/govp/clen%3D449656%3Blmt%3D1609244637012351/dur/2.000/file/seg.ts' for reading
[tcp @ 000001c0524b2900] Starting connection attempt to 172.217.24.78 port 443s/s speed= 6.7x
[tcp @ 000001c0524b2900] Successfully connected to 172.217.24.78 port 443
[hls @ 000001c05177f580] Skip ('#EXT-X-VERSION:3')
[hls @ 000001c05177f580] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:6')
[hls @ 000001c05177f580] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-12-29T13:29:43.932+00:00')
[hls @ 000001c05177f580] HLS request for url 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2323/goap/clen%3D43668%3Blmt%3D1609244637012370/govp/clen%3D373164%3Blmt%3D1609244637012371/dur/2.000/file/seg.ts', offset 0, playlist 0
[https @ 000001c051d5edc0] Opening 'https://r1---sn-jhi3-i3b6.googlevideo.com/videoplayback/id/orNc3NwAmHY.1/itag/95/source/yt_live_broadcast/expire/1609270213/ei/ZS_rX-_xBrGFlQSqz7uAAg/ip/161.81.183.103/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/r1---sn-jhi3-i3b6.googlevideo.com/playlist_duration/30/manifest_duration/30/vprv/1/playlist_type/DVR/initcwndbps/12470/mh/1B/mm/44/mn/sn-jhi3-i3b6/ms/lva/mv/m/mvi/1/pl/21/keepalive/yes/mt/1609248265/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,vprv,playlist_type/sig/AOq0QJ8wRgIhAPz6E7Ckttuwxoe7w1CmtnpRNg9pUMXj1jy-3vhjMWDjAiEA17cH6Uq6TufnMyIP5KxX2Vz8xG0g7xh9lNYN4CGLyDE%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgE2vGxUejKyhOjLtlgR0Q2qFNJ9XLcHZjonWha5qrPnkCIDMAOLbkN9BimlEKg4jvGgfuQbXZJTKg6mZOVUUIm8Cz/playlist/index.m3u8/sq/2323/goap/clen%3D43668%3Blmt%3D1609244637012370/govp/clen%3D373164%3Blmt%3D1609244637012371/dur/2.000/file/seg.ts' for reading

D:\>

in reply to:  9 comment:10 by Steven Liu, 18 months ago

Replying to nixklai:

Coming from the youtube-dl project, I still cannot figure out how to fix this issue.

youtube-dl already placed -live_start_index before -i options but it stills starts at the point of execution for live streams. Values of option -live_start_index such as 0, -36000 and -180000 are tried but to no avail.

The following is the youtube-dl debug log (including ffmpeg output).

D:\>youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']

How can i get the m3u8 link? i cannot get m3u8 list link as your way.

(base) bogon:ufbuild liuqi$ youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.12.09
[debug] Python version 3.7.4 (CPython) - Darwin-19.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg N-100475-gf1357274e9, ffprobe N-100475-gf1357274e9, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] orNc3NwAmHY: Downloading webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://r4---sn-i3b7kns6.googlevideo.com/videoplayback?expire=1609335041&ei=oSzsX8eAFLj-gAP2xrXQBQ&ip=156.236.120.141&id=o-ADkMEtrZuGdAyF1wHDGafJ37TyDH5KOVKZMT5A6QxvFa&itag=136&aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278&source=youtube&requiressl=yes&mh=1B&mm=31%2C26&mn=sn-i3b7kns6%2Csn-npoe7nes&ms=au%2Conr&mv=m&mvi=4&pl=24&initcwndbps=511250&vprv=1&mime=video%2Fmp4&ns=F4MXogtd9LysRC-IsoxGFO8F&gir=yes&clen=903201271&dur=8916.099&lmt=1609295101449811&mt=1609313085&fvip=4&keepalive=yes&c=WEB&txp=5432434&n=dUyNbuEOd40-MZl8&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAMY1H9bJN-b7MSFW76rqXjuXQb5kLz4Y5P8Es5XJEV4BAiBfgR34isOo7wVwhjB_CNZ7D3s3l8D-LjzbxFrh3Hs2HQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIhAInUG2MHzn5_tqcS2ngSyC8P4Op1W9Xp4Dav-JDMsT1CAiB0vE4amBCets-B7KknuQvxIPKkr4Wiva37_uEXZ30pXQ%3D%3D&ratebypass=yes'
[download] Resuming download at byte 233512091
[download] Destination: 孕婦的生產心聲!_ 瑪瑪信箱《第89集》-orNc3NwAmHY.ts.f136
[download]  26.6% of 861.36MiB at 641.81KiB/s ETA 16:49^C

in reply to:  9 ; comment:11 by Steven Liu, 18 months ago

Resolution: needs_more_info
Status: reopenedclosed

Replying to nixklai:

Coming from the youtube-dl project, I still cannot figure out how to fix this issue.

youtube-dl already placed -live_start_index before -i options but it stills starts at the point of execution for live streams. Values of option -live_start_index such as 0, -36000 and -180000 are tried but to no avail.

The following is the youtube-dl debug log (including ffmpeg output).

D:\>youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']

How can i get the m3u8 link? i cannot get m3u8 list link as your way.

(base) bogon:ufbuild liuqi$ youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.12.09
[debug] Python version 3.7.4 (CPython) - Darwin-19.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg N-100475-gf1357274e9, ffprobe N-100475-gf1357274e9, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] orNc3NwAmHY: Downloading webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://r4---sn-i3b7kns6.googlevideo.com/videoplayback?expire=1609335041&ei=oSzsX8eAFLj-gAP2xrXQBQ&ip=156.236.120.141&id=o-ADkMEtrZuGdAyF1wHDGafJ37TyDH5KOVKZMT5A6QxvFa&itag=136&aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278&source=youtube&requiressl=yes&mh=1B&mm=31%2C26&mn=sn-i3b7kns6%2Csn-npoe7nes&ms=au%2Conr&mv=m&mvi=4&pl=24&initcwndbps=511250&vprv=1&mime=video%2Fmp4&ns=F4MXogtd9LysRC-IsoxGFO8F&gir=yes&clen=903201271&dur=8916.099&lmt=1609295101449811&mt=1609313085&fvip=4&keepalive=yes&c=WEB&txp=5432434&n=dUyNbuEOd40-MZl8&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAMY1H9bJN-b7MSFW76rqXjuXQb5kLz4Y5P8Es5XJEV4BAiBfgR34isOo7wVwhjB_CNZ7D3s3l8D-LjzbxFrh3Hs2HQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIhAInUG2MHzn5_tqcS2ngSyC8P4Op1W9Xp4Dav-JDMsT1CAiB0vE4amBCets-B7KknuQvxIPKkr4Wiva37_uEXZ30pXQ%3D%3D&ratebypass=yes'
[download] Resuming download at byte 233512091
[download] Destination: 孕婦的生產心聲!_ 瑪瑪信箱《第89集》-orNc3NwAmHY.ts.f136
[download]  26.6% of 861.36MiB at 641.81KiB/s ETA 16:49^C

in reply to:  11 comment:12 by Nick Lai, 18 months ago

Resolution: needs_more_info
Status: closedreopened

Replying to stevenliu:

Replying to nixklai:

Coming from the youtube-dl project, I still cannot figure out how to fix this issue.

youtube-dl already placed -live_start_index before -i options but it stills starts at the point of execution for live streams. Values of option -live_start_index such as 0, -36000 and -180000 are tried but to no avail.

The following is the youtube-dl debug log (including ffmpeg output).

D:\>youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']

How can i get the m3u8 link? i cannot get m3u8 list link as your way.

(base) bogon:ufbuild liuqi$ youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.12.09
[debug] Python version 3.7.4 (CPython) - Darwin-19.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg N-100475-gf1357274e9, ffprobe N-100475-gf1357274e9, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] orNc3NwAmHY: Downloading webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://r4---sn-i3b7kns6.googlevideo.com/videoplayback?expire=1609335041&ei=oSzsX8eAFLj-gAP2xrXQBQ&ip=156.236.120.141&id=o-ADkMEtrZuGdAyF1wHDGafJ37TyDH5KOVKZMT5A6QxvFa&itag=136&aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278&source=youtube&requiressl=yes&mh=1B&mm=31%2C26&mn=sn-i3b7kns6%2Csn-npoe7nes&ms=au%2Conr&mv=m&mvi=4&pl=24&initcwndbps=511250&vprv=1&mime=video%2Fmp4&ns=F4MXogtd9LysRC-IsoxGFO8F&gir=yes&clen=903201271&dur=8916.099&lmt=1609295101449811&mt=1609313085&fvip=4&keepalive=yes&c=WEB&txp=5432434&n=dUyNbuEOd40-MZl8&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAMY1H9bJN-b7MSFW76rqXjuXQb5kLz4Y5P8Es5XJEV4BAiBfgR34isOo7wVwhjB_CNZ7D3s3l8D-LjzbxFrh3Hs2HQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIhAInUG2MHzn5_tqcS2ngSyC8P4Op1W9Xp4Dav-JDMsT1CAiB0vE4amBCets-B7KknuQvxIPKkr4Wiva37_uEXZ30pXQ%3D%3D&ratebypass=yes'
[download] Resuming download at byte 233512091
[download] Destination: 孕婦的生產心聲!_ 瑪瑪信箱《第89集》-orNc3NwAmHY.ts.f136
[download]  26.6% of 861.36MiB at 641.81KiB/s ETA 16:49^C

Since the URL is dynamically generated by YouTube and scrapped by youtube-dl, you may need a constant live stream. I believe the YouTube channel Cat Trumpet always has several live streams available, and you may use them with youtube-dl to get the URL like mine (https://***a-random-server***.googlevideo.com/videoplayback?...).

You can also try using a live stream demo URL from Akamai. The issue persists in this live stream as well. Please check this log for more information.

Both youtube-dl and Akamai live streams start download at the time of execution, but not the start of the stream.

in reply to:  11 ; comment:13 by Nick Lai, 18 months ago

Replying to stevenliu:

Replying to nixklai:

Coming from the youtube-dl project, I still cannot figure out how to fix this issue.

youtube-dl already placed -live_start_index before -i options but it stills starts at the point of execution for live streams. Values of option -live_start_index such as 0, -36000 and -180000 are tried but to no avail.

The following is the youtube-dl debug log (including ffmpeg output).

D:\>youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']

How can i get the m3u8 link? i cannot get m3u8 list link as your way.

(base) bogon:ufbuild liuqi$ youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.12.09
[debug] Python version 3.7.4 (CPython) - Darwin-19.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg N-100475-gf1357274e9, ffprobe N-100475-gf1357274e9, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] orNc3NwAmHY: Downloading webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://r4---sn-i3b7kns6.googlevideo.com/videoplayback?expire=1609335041&ei=oSzsX8eAFLj-gAP2xrXQBQ&ip=156.236.120.141&id=o-ADkMEtrZuGdAyF1wHDGafJ37TyDH5KOVKZMT5A6QxvFa&itag=136&aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278&source=youtube&requiressl=yes&mh=1B&mm=31%2C26&mn=sn-i3b7kns6%2Csn-npoe7nes&ms=au%2Conr&mv=m&mvi=4&pl=24&initcwndbps=511250&vprv=1&mime=video%2Fmp4&ns=F4MXogtd9LysRC-IsoxGFO8F&gir=yes&clen=903201271&dur=8916.099&lmt=1609295101449811&mt=1609313085&fvip=4&keepalive=yes&c=WEB&txp=5432434&n=dUyNbuEOd40-MZl8&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAMY1H9bJN-b7MSFW76rqXjuXQb5kLz4Y5P8Es5XJEV4BAiBfgR34isOo7wVwhjB_CNZ7D3s3l8D-LjzbxFrh3Hs2HQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIhAInUG2MHzn5_tqcS2ngSyC8P4Op1W9Xp4Dav-JDMsT1CAiB0vE4amBCets-B7KknuQvxIPKkr4Wiva37_uEXZ30pXQ%3D%3D&ratebypass=yes'
[download] Resuming download at byte 233512091
[download] Destination: 孕婦的生產心聲!_ 瑪瑪信箱《第89集》-orNc3NwAmHY.ts.f136
[download]  26.6% of 861.36MiB at 641.81KiB/s ETA 16:49^C

Since the URL is dynamically generated by YouTube and scrapped by youtube-dl, you may need a constant live stream. I believe the YouTube channel Cat Trumpet always has several live streams available, and you may use them with youtube-dl to get the URL like mine (https://***a-random-server***.googlevideo.com/videoplayback?...).

You can also try using a live stream demo URL from Akamai. The issue persists in this live stream as well. Please check this log for more information.

Both youtube-dl and Akamai live streams start download at the time of execution, but not the start of the stream.

in reply to:  13 comment:14 by Steven Liu, 18 months ago

Replying to nixklai:

Replying to stevenliu:

Replying to nixklai:

Coming from the youtube-dl project, I still cannot figure out how to fix this issue.

youtube-dl already placed -live_start_index before -i options but it stills starts at the point of execution for live streams. Values of option -live_start_index such as 0, -36000 and -180000 are tried but to no avail.

The following is the youtube-dl debug log (including ffmpeg output).

D:\>youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']

How can i get the m3u8 link? i cannot get m3u8 list link as your way.

(base) bogon:ufbuild liuqi$ youtube-dl --external-downloader-args "-live_start_index -180000" -v https://www.youtube.com/watch?v=orNc3NwAmHY --hls-use-mpegts --output "%(title)s-%(id)s.ts"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--external-downloader-args', '-live_start_index -180000', '-v', 'https://www.youtube.com/watch?v=orNc3NwAmHY', '--hls-use-mpegts', '--output', '%(title)s-%(id)s.ts']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.12.09
[debug] Python version 3.7.4 (CPython) - Darwin-19.6.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg N-100475-gf1357274e9, ffprobe N-100475-gf1357274e9, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] orNc3NwAmHY: Downloading webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://r4---sn-i3b7kns6.googlevideo.com/videoplayback?expire=1609335041&ei=oSzsX8eAFLj-gAP2xrXQBQ&ip=156.236.120.141&id=o-ADkMEtrZuGdAyF1wHDGafJ37TyDH5KOVKZMT5A6QxvFa&itag=136&aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278&source=youtube&requiressl=yes&mh=1B&mm=31%2C26&mn=sn-i3b7kns6%2Csn-npoe7nes&ms=au%2Conr&mv=m&mvi=4&pl=24&initcwndbps=511250&vprv=1&mime=video%2Fmp4&ns=F4MXogtd9LysRC-IsoxGFO8F&gir=yes&clen=903201271&dur=8916.099&lmt=1609295101449811&mt=1609313085&fvip=4&keepalive=yes&c=WEB&txp=5432434&n=dUyNbuEOd40-MZl8&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIhAMY1H9bJN-b7MSFW76rqXjuXQb5kLz4Y5P8Es5XJEV4BAiBfgR34isOo7wVwhjB_CNZ7D3s3l8D-LjzbxFrh3Hs2HQ%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIhAInUG2MHzn5_tqcS2ngSyC8P4Op1W9Xp4Dav-JDMsT1CAiB0vE4amBCets-B7KknuQvxIPKkr4Wiva37_uEXZ30pXQ%3D%3D&ratebypass=yes'
[download] Resuming download at byte 233512091
[download] Destination: 孕婦的生產心聲!_ 瑪瑪信箱《第89集》-orNc3NwAmHY.ts.f136
[download]  26.6% of 861.36MiB at 641.81KiB/s ETA 16:49^C

Since the URL is dynamically generated by YouTube and scrapped by youtube-dl, you may need a constant live stream. I believe the YouTube channel Cat Trumpet always has several live streams available, and you may use them with youtube-dl to get the URL like mine (https://***a-random-server***.googlevideo.com/videoplayback?...).

You can also try using a live stream demo URL from Akamai. The issue persists in this live stream as well. Please check this log for more information.

Both youtube-dl and Akamai live streams start download at the time of execution, but not the start of the stream.

Okay, i have get your point, eg. "-live_start_index 5", get segment start from the first segment count[1] + 4 = 5 position, but the description said it from from end of the list.

comment:15 by Steven Liu, 18 months ago

Resolution: worksforme
Status: reopenedclosed

works ok for me:

(base) liuqi05:ufbuild liuqi$ ./ffplay -live_start_index -5 https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/level_1.m3u8
ffplay version N-100494-g063ca801ca Copyright (c) 2003-2020 the FFmpeg developers
  built with Apple clang version 12.0.0 (clang-1200.0.32.28)
  configuration: --prefix=/usr/local/ --libdir=/usr/local/lib/ --cc=clang --quiet --enable-htmlpages --enable-libx264 --enable-libxml2 --enable-gpl --extra-ldflags='-I/usr/local/opt/openssl/include/ -O0 -g3 -fsanitize=address -Wno-error -fPIC -I/usr/local/include' --extra-ldflags='-O0 -g3 -fsanitize=address -Wno-error -fPIC -L/usr/local/lib -L/usr/local/opt/openssl/lib' --enable-libfreetype --enable-fontconfig --enable-libspeex --enable-libopus --enable-libzmq --enable-libx265 --enable-libass --enable-videotoolbox --disable-optimizations --enable-audiotoolbox --enable-opengl --disable-stripping --disable-avresample --samples=../../fate-suite/ --enable-encoder=hevc_videotoolbox --enable-hwaccel=hevc_videotoolbox --enable-hwaccel=h264_videotoolbox --enable-openssl --enable-nonfree
  libavutil      56. 62.100 / 56. 62.100
  libavcodec     58.115.102 / 58.115.102
  libavformat    58. 65.100 / 58. 65.100
  libavdevice    58. 11.103 / 58. 11.103
  libavfilter     7. 94.100 /  7. 94.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
[hls @ 0x61b00001ff80] Skip ('#EXT-X-VERSION:3')B sq=    0B f=0/0
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756023.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756029.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756035.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756041.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756047.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756053.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756059.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756065.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756071.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756077.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756083.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756089.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756095.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756101.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756107.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756113.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756119.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756125.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756131.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756137.ts')
pls->start_seq_no = [5284977], pls->n_segments = [20]Opening 'https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/segment_1_20210104_1609756113.ts' for reading
[hls @ 0x61b00001ff80] Opening 'https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/segment_1_20210104_1609756119.ts' for reading
[NULL @ 0x619000119e80] non-existing SPS 0 referenced in buffering period
[h264 @ 0x61900011b280] non-existing SPS 0 referenced in buffering period
Input #0, hls, from 'https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/level_1.m3u8':
  Duration: N/A, start: 22639.133522, bitrate: N/A
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 640x266 [SAR 399:400 DAR 12:5], 24 fps, 24 tbr, 90k tbn, 48 tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
^C(base) liuqi05:ufbuild liuqi$    22KB vq=   93KB sq=    0B f=0/0
(base) liuqi05:ufbuild liuqi$
(base) liuqi05:ufbuild liuqi$
(base) liuqi05:ufbuild liuqi$
(base) liuqi05:ufbuild liuqi$
(base) liuqi05:ufbuild liuqi$ ./ffplay -live_start_index 5 https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/level_1.m3u8
ffplay version N-100494-g063ca801ca Copyright (c) 2003-2020 the FFmpeg developers
  built with Apple clang version 12.0.0 (clang-1200.0.32.28)
  configuration: --prefix=/usr/local/ --libdir=/usr/local/lib/ --cc=clang --quiet --enable-htmlpages --enable-libx264 --enable-libxml2 --enable-gpl --extra-ldflags='-I/usr/local/opt/openssl/include/ -O0 -g3 -fsanitize=address -Wno-error -fPIC -I/usr/local/include' --extra-ldflags='-O0 -g3 -fsanitize=address -Wno-error -fPIC -L/usr/local/lib -L/usr/local/opt/openssl/lib' --enable-libfreetype --enable-fontconfig --enable-libspeex --enable-libopus --enable-libzmq --enable-libx265 --enable-libass --enable-videotoolbox --disable-optimizations --enable-audiotoolbox --enable-opengl --disable-stripping --disable-avresample --samples=../../fate-suite/ --enable-encoder=hevc_videotoolbox --enable-hwaccel=hevc_videotoolbox --enable-hwaccel=h264_videotoolbox --enable-openssl --enable-nonfree
  libavutil      56. 62.100 / 56. 62.100
  libavcodec     58.115.102 / 58.115.102
  libavformat    58. 65.100 / 58. 65.100
  libavdevice    58. 11.103 / 58. 11.103
  libavfilter     7. 94.100 /  7. 94.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
[hls @ 0x61b00001ff80] Skip ('#EXT-X-VERSION:3')B sq=    0B f=0/0
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756041.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756047.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756053.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756059.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756065.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756071.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756077.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756083.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756089.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756095.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756101.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756107.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756113.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756119.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756125.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756131.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756137.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756143.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756149.ts')
[hls @ 0x61b00001ff80] Segment url ('segment_1_20210104_1609756155.ts')
pls->start_seq_no = [5284980], pls->n_segments = [20]Opening 'https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/segment_1_20210104_1609756071.ts' for reading
[hls @ 0x61b00001ff80] Opening 'https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/segment_1_20210104_1609756077.ts' for reading
[NULL @ 0x6190000e9c80] non-existing SPS 0 referenced in buffering period
[h264 @ 0x6190000eb080] non-existing SPS 0 referenced in buffering period
Input #0, hls, from 'https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/level_1.m3u8':
  Duration: N/A, start: 22597.128622, bitrate: N/A
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 640x266 [SAR 399:400 DAR 12:5], 24 fps, 24 tbr, 90k tbn, 48 tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
22598.04 A-V: -0.034 fd=   0 aq=   28KB vq=  191KB sq=    0B f=0/0
(base) liuqi05:ufbuild liuqi$
Note: See TracTickets for help on using tickets.