Answers:
您可以使用mplayer
(来自package mplayer
,默认情况下未安装):
mplayer -vo jpeg -ss 00:00:26 -frames 1 sample-video.mp4
这将创建文件,00000001.jpg
因此您必须重命名它。据我所知,无法指定文件名。
-vo jpeg
表示您要JPEG输出,搜索-ss 00:00:26
到给定位置,-frames 1
表示处理一帧然后退出。
-vo png:z=9
-z设置指定压缩级别。对于jpeg,您还可以添加质量设置:-vo jpeg:quality=100
。但是您的答案已经很不错了:)
您可以使用ffmpeg
ffmpeg -loglevel quiet -ss 26 -i sample-video.mp4 -t 1 -f image2 anyfilename.jpeg
您还可以尝试各种选项,例如jpeg输出的质量控制-q:v <linear integer 1-10>
或resolution -s 480x300
。
这里有更多想法
VLC方法
cvlc sample-video.mp4 --start-time=26 --run-time=1 --rate=1 --video-filter=scene --vout=dummy --aout=dummy --scene-ratio=24 --scene-prefix=sample-image --scene-replace vlc://quit
cvlc-因为它的命令行,我们不希望打开任何窗口。同样,这意味着我们可以在没有X11的情况下运行它。
--start-time = 26-是快照的确切位置,以秒为单位
sample-image.png
当前的屏幕快照替换所有称为屏幕快照的文件。如果您省略此设置,VLC将开始为屏幕截图编号完整的文档在这里
ffmpeg
似乎支持输出的文件名。