youtube-dl每5分钟下载一分钟(在一个抽搐视频上,但如果更容易,我也保存了本地文件)

时间:2016-05-18 02:42:57

标签: bash youtube ffmpeg youtube-dl

我想做标题所说的

这是一个ffmpeg命令,可以从视频,离线或在线的特定时间下载。

ffmpeg -ss(停止时间)-i(直接视频链接)-t(开始时间)-c:v copy -c:副本(title.mp4)

我将在OSX上下载它。 我不在乎标题是什么。

我认为*有一个bash命令允许我将此命令中的时间更改一个特定的数量(每个+300秒,开始和停止时间的计数器是原始秒数)

因此,运行该命令的bash脚本会逐渐增加开始和停止时间300(停止时间提前60秒),下载,然后重复。

1 个答案:

答案 0 :(得分:3)

这里是:

youtube-dl:

的内容
#!/usr/bin/env bash

# set start to 0, 300, 600... up to 72000 (20 hours)
for start in `seq 0 300 72000`; do

  # set the outfile name
  file="$2.$start.60.mp4"

  ffmpeg -ss $start -i "$1" -t 60 -c:v copy -c:a copy "$file"

  # get the duration of the last outfile
  last_duration=`ffprobe -i "$file" -show_entries format=duration -v quiet -of csv="p=0"`
  # if last outfile's duration isn't greater than a second, delete it and stop
  [[ ! "$last_duration" -gt 1 ]] && rm -f $file && exit

done

然后做:

chmod +x youtube-dl

用法:

./youtube-dl "http://your/movie.flv" title

ps:我发现你的ffmpeg命令有点破碎:它是-t (duration),而不是-t (start time)

参考文献:

ffmpeg usageslhck,2012)

ffprobe usageivan-neeson,2014)