我想使用多幅图像制作动画。为此,我想从视频中提取图像。我尝试了 vlc,但它挂了,没有得到好的结果。
因此想使用ffmpeg。
答案1
首先你需要安装 ffmpeg。它是一个命令行工具。
- 前往ffmpeg 下载站点并下载最适合您计算机规格的 zip 文件。选择“静态”链接和“nightly git”版本以获得最新的可用性。
- 在您的计算机上创建一个文件夹来解压 zip 文件。此文件夹将是您的“安装”文件夹。我选择了 C:\Program Files\ffmpeg。这是一个好主意,因为您将像对待常规程序一样对待它。将 zip 文件解压到此文件夹中。
- 该文件夹现在应该包含许多其他文件夹,包括一个名为 bin 的文件夹,其中保存了 ffmpeg.exe。我们还没有完成。双击该文件不会执行任何操作。请记住,这是一个命令行程序。它在 cmd 中运行。
- 在 cmd 中使用 ffmpeg.exe 之前,您必须告诉计算机在哪里可以找到它。您需要添加一个新的系统路径。首先,右键单击此电脑(Windows 10)或计算机(Windows 7),然后单击属性 > 高级系统设置 > 高级选项卡 > 环境变量。
- 在环境变量窗口中,单击“变量”列下的“路径”行,然后单击编辑
- Windows 10 和 Windows 7 的“编辑环境变量”窗口看起来不同。在 Windows 10 中,单击新建,然后将路径粘贴到您之前创建的保存 ffmpeg.exe 的文件夹。在本例中,该路径为 C:\Program Files\ffmpeg\bin\
https://video.stackexchange.com/a/20496/25366
现在使用以下代码导出所有帧。(注意:它可能会产生数千张图像)
ffmpeg -i anim.mp4 f%04d.webp
仅提取关键帧使用
ffmpeg -i video.webm -vf“select=eq(pict_type\,I)”-vsync vfr thumb%04d.jpg
定期提取帧
ffmpeg -i 视频.webm -vf fps=1 thumb%04d.jpg
https://www.bugcodemaster.com/article/extract-images-frame-frame-video-file-using-ffmpeg
答案2
使用:
ffmpeg -i vid.mkv -r 3.5 -c:v libwebp frame_%00d.webp
-r [framerate]
设置帧速率-c:v libwebp
指定编解码器libwebp