📅  最后修改于: 2023-12-03 14:41:05.452000             🧑  作者: Mango
在Shell-Bash中,有时候需要从视频或者一系列图像中提取出若干帧图像作为输出,这个过程需要自动化完成,比如可以设置每隔10秒提取一张图像。在这里,我们提供一种实现这个目标的Shell脚本。
#!/bin/bash
VIDEO_PATH="your_path/to/video"
OUTPUT_PATH="./output"
INTERVAL=10
mkdir -p $OUTPUT_PATH
counter=1
while :
do
ffmpeg -i $VIDEO_PATH -vf "select=eq(n\,$((counter*INTERVAL)))" -vframes 1 $OUTPUT_PATH/image_$counter.png
counter=$((counter+1))
sleep $INTERVAL
done
这个脚本中,VIDEO_PATH
指定给定视频的路径,OUTPUT_PATH
用于设置输出图像的目录,INTERVAL
表示每隔多长时间提取一张图像。在脚本中,我们使用了ffmpeg命令来提取图像。在循环中,我们使用counter
计数器来确定要提取哪一帧图像。在每一次循环中,我们使用ffmpeg
来提取counter
对应的图像,并以png格式保存在OUTPUT_PATH
中。
将以上脚本保存为extract_images.sh
文件,然后在命令行中执行bash extract_images.sh
即可开始提取图像。在执行脚本之前,请确保已经安装了ffmpeg
命令。
本文介绍了一种在Shell-Bash中提取视频若干帧图像的方法。这个方法不仅易于实现,而且可以自动化执行,非常方便。