我正在寻找一种简便的方法来为任何给定的视频文件创建一系列缩略图。我几乎在用ffmpeg了,这就是我所拥有的:
ffmpeg -i /tmp/video.avi -r 1 -ss 60 -r 1 foo-%03d.jpeg`
唯一的问题是,它每秒拍摄一次,而我想每分钟左右拍摄一次。我试过设置-r
值1/60
或.02
无济于事。
作为参考,这是我使用的旧脚本,仅适用于某些文件:
#!/bin/bash
# grab a screenshot every 60 seconds
file=$1
orig_dir=`pwd`
mins=`exiftool "$file" | grep "Duration" | awk -F : '{print $2}' | grep --only-matching '[0-9]*'`
dir="$file-screenshots"
mkdir "$dir"
cd "$dir"
mplayer -vo png -vf screenshot -sstep 60 -frames $mins -ao null "../$file"
cd "$orig_dir"
这不必在命令行上,只是它总是最简单。
看一下这个问题superuser.com/questions/135117/how-to-convert-video-to-images/…也许在这里找到的信息可以解决这个问题。如果是这样,请回答另一个问题,因为这可能会重复出现。
—
Nifle