bash - 如果没有获得任何流更新,如何停止 ffmpeg m3u8 下载?

标签 bash ffmpeg

我正在制作一个 bash 脚本来使用 crontab 在特定时间下载 m3u8 流。

有时服务器发送的流 url 无效或流停止,因为服务器无法流式传输。
在这两种情况下,playlist.m3u8 和 chunk.m3u8 都是可下载的,但 chunk.m3u8 中的流文件片段不再更新。但是 ffmpeg 一直在下载“无”,因为 chunk.m3u8 文件包含任何新流。

输入指令:

ffmpeg -i 'https://link.to/playlist.m3u8' -c copy -o '~/filename.ts'

关于异常情况:
[generic] playlist: Requesting header
[generic] playlist: Downloading m3u8 information
[download] Destination: ~/filename.ts
ffmpeg version 4.2.2-1ubuntu1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-3ubuntu1)
  configuration: --prefix=/usr --extra-version=1ubuntu1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T08:39:03.510Z"')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T09:55:03.510Z')
[hls @ 0xaaaad4c595f0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/anmss0003/nsmu2pe5nj6lx4hhtmsv4fmlbam0a4qelq/1080p_754675733_1591264503510_4560_0_1520.ts' for reading
[hls @ 0xaaaad4c595f0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/anmss0003/nsmu2pe5nj6lx4hhtmsv4fmlbam0a4qelq/1080p_3899144139_1591264506510_4563_0_1521.ts' for reading
Input #0, hls, from 'https://now-livecloud.pstatic.net/lip2_kr/anmss0003/nsmu2pe5nj6lx4hhtmsv4fmlbam0a4qelq/chunklist_1080p.m3u8?_lsu_sa_=34293a1b681e3215730af2d06bd2331c0bf63558842b19103c567c089eb73f39a386cb3a3216e4f841953991fe21c6821af7de68487ee7832b07d8818204ea0d16305d82b0a6e32c815f1544c9b7ae73e8ff4b51b90a3efb7035fb3dabb087e9134cb2e39733138d4f353073864f335e15e0a250c7e3cb61d4aaf83615efe414&_lsu_et_=1591292344':
  Duration: N/A, start: 4560.000000, bitrate: N/A
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, smpte170m/bt709/bt709), 1080x1920 [SAR 1:1 DAR 9:16], 30 fps, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:2: Data: timed_id3 (ID3  / 0x20334449)
    Metadata:
      variant_bitrate : 0
Output #0, mp4, to 'file:~/filename.ts.part':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709), 1080x1920 [SAR 1:1 DAR 9:16], q=2-31, 30 fps, 30 tbr, 90k tbn, 90k tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 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
[https @ 0xaaaad4f28ae0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/anmss0003/nsmu2pe5nj6lx4hhtmsv4fmlbam0a4qelq/1080p_2058418743_1591264509510_4566_0_1522.ts' for reading
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T08:39:03.510Z"')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T09:55:03.510Z')
[https @ 0xaaaad55bfd50] Opening 'https://now-livecloud.pstatic.net/lip2_kr/anmss0003/nsmu2pe5nj6lx4hhtmsv4fmlbam0a4qelq/chunklist_1080p.m3u8?_lsu_sa_=34293a1b681e3215730af2d06bd2331c0bf63558842b19103c567c089eb73f39a386cb3a3216e4f841953991fe21c6821af7de68487ee7832b07d8818204ea0d16305d82b0a6e32c815f1544c9b7ae73e8ff4b51b90a3efb7035fb3dabb087e9134cb2e39733138d4f353073864f335e15e0a250c7e3cb61d4aaf83615efe414&_lsu_et_=1591292344' for reading
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T08:39:03.510Z"')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T09:55:03.510Z')
[https @ 0xaaaad55bfd50] Opening 'https://now-livecloud.pstatic.net/lip2_kr/anmss0003/nsmu2pe5nj6lx4hhtmsv4fmlbam0a4qelq/chunklist_1080p.m3u8?_lsu_sa_=34293a1b681e3215730af2d06bd2331c0bf63558842b19103c567c089eb73f39a386cb3a3216e4f841953991fe21c6821af7de68487ee7832b07d8818204ea0d16305d82b0a6e32c815f1544c9b7ae73e8ff4b51b90a3efb7035fb3dabb087e9134cb2e39733138d4f353073864f335e15e0a250c7e3cb61d4aaf83615efe414&_lsu_et_=1591292344' for reading
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T08:39:03.510Z"')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T09:55:03.510Z')
[https @ 0xaaaad55bfd50] Opening 'https://now-livecloud.pstatic.net/lip2_kr/anmss0003/nsmu2pe5nj6lx4hhtmsv4fmlbam0a4qelq/chunklist_1080p.m3u8?_lsu_sa_=34293a1b681e3215730af2d06bd2331c0bf63558842b19103c567c089eb73f39a386cb3a3216e4f841953991fe21c6821af7de68487ee7832b07d8818204ea0d16305d82b0a6e32c815f1544c9b7ae73e8ff4b51b90a3efb7035fb3dabb087e9134cb2e39733138d4f353073864f335e15e0a250c7e3cb61d4aaf83615efe414&_lsu_et_=1591292344' for reading
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T08:39:03.510Z"')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T09:55:03.510Z')
[https @ 0xaaaad55bfd50] Opening 'https://now-livecloud.pstatic.net/lip2_kr/anmss0003/nsmu2pe5nj6lx4hhtmsv4fmlbam0a4qelq/chunklist_1080p.m3u8?_lsu_sa_=34293a1b681e3215730af2d06bd2331c0bf63558842b19103c567c089eb73f39a386cb3a3216e4f841953991fe21c6821af7de68487ee7832b07d8818204ea0d16305d82b0a6e32c815f1544c9b7ae73e8ff4b51b90a3efb7035fb3dabb087e9134cb2e39733138d4f353073864f335e15e0a250c7e3cb61d4aaf83615efe414&_lsu_et_=1591292344' for reading
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T08:39:03.510Z"')
[hls @ 0xaaaad4c595f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T09:55:03.510Z')

...and still goes on until server stops serving playlist.m3u8 file.

在正常情况下:
[generic] playlist: Requesting header
[generic] playlist: Downloading m3u8 information
[download] Destination: ~/filename.ts
ffmpeg version 4.2.2-1ubuntu1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-3ubuntu1)
  configuration: --prefix=/usr --extra-version=1ubuntu1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:01.419Z')
[hls @ 0xaaaaded3a5f0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_2140588392_1591268161419_3627_0_1209.ts' for reading
[hls @ 0xaaaaded3a5f0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_1159973342_1591268164419_3630_0_1210.ts' for reading
Input #0, hls, from 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/chunklist_1080p.m3u8?_lsu_sa_=31b94f1b48b03755160d6263630248165b873b582123194d369663096e903e691d87ab6c3fb63dfd517e3cf1d320760604ceaed2b168d017061fe4d08822506a7314482b165f2011119469a5c2486518636d7a0eea9dba559babdca7edaf80bb087564aa35bf9df154fc6bb35f54dd397e99a576174fe805da71c8b5cc86feb4&_lsu_et_=1591298832':
  Duration: N/A, start: 3627.000000, bitrate: N/A
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, smpte170m/bt709/bt709), 1080x1920 [SAR 1:1 DAR 9:16], 30 fps, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:2: Data: timed_id3 (ID3  / 0x20334449)
    Metadata:
      variant_bitrate : 0
Output #0, mp4, to 'file:~/filename.ts.part':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709), 1080x1920 [SAR 1:1 DAR 9:16], q=2-31, 30 fps, 30 tbr, 90k tbn, 90k tbc
    Metadata:
      variant_bitrate : 0
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 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
[https @ 0xaaaadf009ae0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_3958358483_1591268167419_3633_0_1211.ts' for reading
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:04.419Z')
[https @ 0xaaaadf009ae0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_3853948217_1591268170419_3636_0_1212.ts' for reading
frame=  269 fps= 95 q=-1.0 size=    3072kB time=00:00:09.01 bitrate=2792.9kbits/s speed=3.18x    
[https @ 0xaaaadf6e02c0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/chunklist_1080p.m3u8?_lsu_sa_=31b94f1b48b03755160d6263630248165b873b582123194d369663096e903e691d87ab6c3fb63dfd517e3cf1d320760604ceaed2b168d017061fe4d08822506a7314482b165f2011119469a5c2486518636d7a0eea9dba559babdca7edaf80bb087564aa35bf9df154fc6bb35f54dd397e99a576174fe805da71c8b5cc86feb4&_lsu_et_=1591298832' for reading
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:07.419Z')
[https @ 0xaaaadf009ae0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_2889557048_1591268173419_3639_0_1213.ts' for reading
frame=  359 fps= 61 q=-1.0 size=    4096kB time=00:00:12.01 bitrate=2791.9kbits/s speed=2.04x    
[https @ 0xaaaadf6e02c0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/chunklist_1080p.m3u8?_lsu_sa_=31b94f1b48b03755160d6263630248165b873b582123194d369663096e903e691d87ab6c3fb63dfd517e3cf1d320760604ceaed2b168d017061fe4d08822506a7314482b165f2011119469a5c2486518636d7a0eea9dba559babdca7edaf80bb087564aa35bf9df154fc6bb35f54dd397e99a576174fe805da71c8b5cc86feb4&_lsu_et_=1591298832' for reading
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:10.419Z')
[https @ 0xaaaadf009ae0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_3485591329_1591268176419_3642_0_1214.ts' for reading
frame=  449 fps= 50 q=-1.0 size=    5120kB time=00:00:15.00 bitrate=2795.2kbits/s speed=1.67x    
[https @ 0xaaaadf6e02c0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/chunklist_1080p.m3u8?_lsu_sa_=31b94f1b48b03755160d6263630248165b873b582123194d369663096e903e691d87ab6c3fb63dfd517e3cf1d320760604ceaed2b168d017061fe4d08822506a7314482b165f2011119469a5c2486518636d7a0eea9dba559babdca7edaf80bb087564aa35bf9df154fc6bb35f54dd397e99a576174fe805da71c8b5cc86feb4&_lsu_et_=1591298832' for reading
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:13.419Z')
[https @ 0xaaaadf009ae0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_2256435886_1591268179419_3645_0_1215.ts' for reading
frame=  539 fps= 45 q=-1.0 size=    6144kB time=00:00:18.01 bitrate=2794.2kbits/s speed= 1.5x    
[https @ 0xaaaadf6e02c0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/chunklist_1080p.m3u8?_lsu_sa_=31b94f1b48b03755160d6263630248165b873b582123194d369663096e903e691d87ab6c3fb63dfd517e3cf1d320760604ceaed2b168d017061fe4d08822506a7314482b165f2011119469a5c2486518636d7a0eea9dba559babdca7edaf80bb087564aa35bf9df154fc6bb35f54dd397e99a576174fe805da71c8b5cc86feb4&_lsu_et_=1591298832' for reading
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:16.419Z')
[https @ 0xaaaadf009ae0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_1520430104_1591268182419_3648_0_1216.ts' for reading
frame=  629 fps= 42 q=-1.0 size=    7168kB time=00:00:21.02 bitrate=2793.4kbits/s speed=1.39x    
[https @ 0xaaaadf6e02c0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/chunklist_1080p.m3u8?_lsu_sa_=31b94f1b48b03755160d6263630248165b873b582123194d369663096e903e691d87ab6c3fb63dfd517e3cf1d320760604ceaed2b168d017061fe4d08822506a7314482b165f2011119469a5c2486518636d7a0eea9dba559babdca7edaf80bb087564aa35bf9df154fc6bb35f54dd397e99a576174fe805da71c8b5cc86feb4&_lsu_et_=1591298832' for reading
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:22.419Z')
[https @ 0xaaaadf009ae0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_2229049379_1591268185419_3651_0_1217.ts' for reading
[https @ 0xaaaadf02f510] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_2659945939_1591268188419_3654_0_1218.ts' for reading
frame=  719 fps= 40 q=-1.0 size=    8192kB time=00:00:24.00 bitrate=2795.3kbits/s speed=1.32x    
[https @ 0xaaaadf6e02c0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/chunklist_1080p.m3u8?_lsu_sa_=31b94f1b48b03755160d6263630248165b873b582123194d369663096e903e691d87ab6c3fb63dfd517e3cf1d320760604ceaed2b168d017061fe4d08822506a7314482b165f2011119469a5c2486518636d7a0eea9dba559babdca7edaf80bb087564aa35bf9df154fc6bb35f54dd397e99a576174fe805da71c8b5cc86feb4&_lsu_et_=1591298832' for reading
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:22.419Z')
[https @ 0xaaaadf6e02c0] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/chunklist_1080p.m3u8?_lsu_sa_=31b94f1b48b03755160d6263630248165b873b582123194d369663096e903e691d87ab6c3fb63dfd517e3cf1d320760604ceaed2b168d017061fe4d08822506a7314482b165f2011119469a5c2486518636d7a0eea9dba559babdca7edaf80bb087564aa35bf9df154fc6bb35f54dd397e99a576174fe805da71c8b5cc86feb4&_lsu_et_=1591298832' for reading
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-VERSION:3')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-ALLOW-CACHE:NO')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DISCONTINUITY-SEQUENCE:0')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-DATERANGE:ID="nmss-daterange",START-DATE="2020-06-04T09:55:34.419Z"')
[hls @ 0xaaaaded3a5f0] Skip ('#EXT-X-PROGRAM-DATE-TIME:2020-06-04T10:56:25.419Z')
[https @ 0xaaaadf02f510] Opening 'https://now-livecloud.pstatic.net/lip2_kr/cnmss0003/hbt6zn63jhkvtx8exbddrfrlbc8ioxe4ux/1080p_4119016691_1591268191419_3657_0_1219.ts' for reading
frame=  899 fps= 40 q=-1.0 size=   10240kB time=00:00:30.00 bitrate=2796.0kbits/s speed=1.32x

...and still goes on until server stops serving playlist.m3u8 file.

那么,经过一些尝试,当 chunk.m3u8 文件不再更新时,如何让 ffmpeg 停止?

最佳答案

ffmpeg -max_reload 1 -i 'https://link.to/playlist.m3u8' -c 复制 -o '~/filename.ts'

关于bash - 如果没有获得任何流更新,如何停止 ffmpeg m3u8 下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62193776/

相关文章:

bash - 如何使用带有换行符的大括号扩展

linux - 如何为给定路径创建文件夹结构和文件

bash - 如何在 bash 脚本中获取 nohup 进程 ID

javascript - 如何在js中无间隙地组合多个视频 block ?

video - FFMPEG (WINDOWS) - 带有 vidstabdetect 和 vidstabtransform 的生涩视频

c++ - ffmpeg 和 boost::asio NULL 指针

linux - 当父脚本以交互方式/通过终端调用时,bash 子脚本与父脚本一起退出,但在非交互方式/通过 cron 调用时则不会

linux - 捕获名称的一部分,以便我可以在 linux 中循环

arrays - 在 pngs 上循环运行 ffmpeg 以提高效率?

php - 在 php 中通过 ffmpeg 命令将 avi 文件转换为 mp4 文件