FFmpeg从具有可变持续时间的视频中截图

FFmpeg从具有可变持续时间的视频中截图,ffmpeg,Ffmpeg,我有很多很长的视频,所以我拍了10秒的截图(-ss00:00:10)。有时视频很短,比如5秒钟,而-ss00:00:10失败 我没有计算视频大小的选项,因为没有完整下载的选项(视频托管在S3上,通过CloudFront作为流使用) 也许有一些我忽略的内置选项 我真正不想做的是缩短-ss选项逐渐打开失败,因此这将是最后的手段。一行: ffprobe-show_entries format=filename,duration-of default=noprint\u wrappers=1:nokey

我有很多很长的视频,所以我拍了10秒的截图(
-ss00:00:10
)。有时视频很短,比如5秒钟,而
-ss00:00:10
失败

我没有计算视频大小的选项,因为没有完整下载的选项(视频托管在S3上,通过CloudFront作为流使用)

也许有一些我忽略的内置选项

我真正不想做的是缩短
-ss
选项逐渐打开失败,因此这将是最后的手段。

一行:

ffprobe-show_entries format=filename,duration-of default=noprint\u wrappers=1:nokey=1/path/to/input/file-loglevel 0 | awk'BEGIN{RS=”“;FS=“\n”}{system(“ffmpeg-ss”$2/2“-i”$1“-vframes 1 out.png”)}

意思是:

使用
ffprobe
以秒为单位获取文件持续时间,然后通过管道传输到
awk
并使用等于
duration/2
的寻道时间执行帧提取
ffmpeg
命令