我想知道是否有任何命令行工具可以快速干净地截取视频截图库?
答案1
编辑完问题后,我明白了你想要从视频中提取一些帧,以便将其用作此类视频文件内容的图库。所以我们将使用命令来ffmpeg
完成这项工作。
首先,我们需要安装 ffmpeg,可以通过在终端中输入以下命令来完成:
sudo apt-get install ffmpeg
安装完成后,确保您位于终端中的正确目录中,并且在命令结果中找到视频文件后ls
,在终端中写入以下内容:
ffmpeg -i video.avi -r 0.5 -f image2 output_%05d.jpg
这将每 2 秒提取一帧,如果我们首先解释/理解此命令的参数,您可以进行调整,如下所示:
ffmpeg
= 是执行转换/提取的程序。-i video.avi
= 表示“输入”文件,可以是绝对路径或相对路径-r 0.5
= 这表示帧速率,可用于计算我们要使用/跳过多少帧才能从视频中获取所需的正确帧数。-f image2
=A)-f
“强制格式化”b)image2
“图像文件解复用器”(我们将其读作:强制转换为图像)output_%05d.jpg
= 它是文件名的模式,用于删除带有五个尾随零的连续文件名的图像,以便它们可以完美地排列在列表中。
尝试一下,您可能希望通过在终端中使用 ffmpeg --help 命令或在适当的文档网页中阅读有关 ffmpeg 命令选项的更多信息https://ffmpeg.org/documentation.html
祝你好运!
答案2
虚拟存储接口可以做到这一点。它是一个用 Python 编写的命令行工具。
vcsi video.mkv -o output.jpg
答案3
这可以通过使用命令行轻松完成mplayer
,安装如下:
sudo apt-get install mplayer
生成屏幕截图手动观看视频时使用以下语法:
mplayer -vf screenshot file.mp4
在运行此程序时,只需按下小写的“s”键即可生成屏幕截图。要生成多个屏幕截图自动地只需按下大写的“S”键,就会生成屏幕截图,直到您再次按下“S”。
如果您想要对输出进行更多的控制,请尝试以下命令:
mplayer -nosound -frames 5 -vo png:z=9 file.mp4
这会将媒体文件的前 5 帧以高质量 png 格式输出到工作目录中。可以使用 jpeg、gif89a、targa 和 pnm 作为“-vo”来截取类似的屏幕截图。
参考: