我想做标题所说的
这是一个ffmpeg命令,可以从视频,离线或在线的特定时间下载。
ffmpeg -ss(停止时间)-i(直接视频链接)-t(开始时间)-c:v copy -c:副本(title.mp4)
我将在OSX上下载它。 我不在乎标题是什么。
我认为*有一个bash命令允许我将此命令中的时间更改一个特定的数量(每个+300秒,开始和停止时间的计数器是原始秒数)
因此,运行该命令的bash脚本会逐渐增加开始和停止时间300(停止时间提前60秒),下载,然后重复。
答案 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 usage(slhck,2012)
ffprobe usage(ivan-neeson,2014)