基本上我想从视频中提取所有帧,其中图像大小将调整为 720p。所有这些我都知道该怎么做。但为了测试我想提取每第 N 帧。因此,30FPS 视频中的每 30 张图像或每 10 张图像等。我该怎么做?
另外,提取的图像文件名应与帧编号相对应,因此不确定第一帧是 0 还是 1?
基本上我想从视频中提取所有帧,其中图像大小将调整为 720p。所有这些我都知道该怎么做。但为了测试我想提取每第 N 帧。因此,30FPS 视频中的每 30 张图像或每 10 张图像等。我该怎么做?
另外,提取的图像文件名应与帧编号相对应,因此不确定第一帧是 0 还是 1?
这会在每个帧输出的左上角打印帧编号,并每 30 帧仅选择 1 帧:
如果您希望计数器从 0 开始,则使用 30,60,90 而不是 1,31,61,91,请删除 startnumber 部分。
在 Windows 中,您可以使用类似的方法对文件夹内的所有视频执行此操作,并将图片保存在与视频同名的文件夹中:
最简单的是,从视频帧中提取单个图像:
另存为:
frame_extract.sh
更改模式可执行文件:
chmod +x frame_extract.sh
用法:
./frame_extract.sh input_file.mkv
我不是最擅长 PowerShell,但应该也差不多了。
我没有办法测试它,但它应该有帮助。 (希望!)
添加了抓取第一帧的逻辑。
输出文件名使用帧计数,而不是序列号。