我正在尝试通过 ImageMagick 从视频中提取缩略图。我从他们的官方网站上找到了一些示例,但它制作的是 GIF,而不是 PNG。不过我想要一个纯缩略图。
它可以创建与此 ffmpeg 命令相同的输出吗?
ffmpeg -ss 600 -i myVideo.mp4 -vframes 1 -s 420x270 Out.bmp
Run Code Online (Sandbox Code Playgroud) 我想转换图像格式。
我可以使用“转换”命令,但它制作了另一个图像。
所以我在 ImageMagick 官方页面搜索并找到了“mogrify”命令。
我所做的是
mogrify -format png a.jpg
Run Code Online (Sandbox Code Playgroud)
我期望的是一张带有“png”扩展名的图像。
但它没有覆盖原始图像,而是在我的文件夹中制作了另一个 png 图像。
我怎样才能以某种格式只获得一张图像(这意味着覆盖原始文件)
我想要的?
谢谢:-)
当通过 ffmpeg 从视频中提取图像时,可以得到如下消息。
frame= 1 fps=0.0 q=2.5 Lsize=N/A time=00:00:00.03 bitrate=N/A
Run Code Online (Sandbox Code Playgroud)
“q”值表示“编码帧的质量”。我通过搜索代码 ffmpeg.c. 找到了这个(参考链接:http ://www.ffmpeg.org/doxygen/trunk/frame_8h_source.html#l00205 )
通常它的值在 0.0 到 6.0 之间。但问题是它可以通过引用获得更高的价值。
代码说,
fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality / (float)FF_QP2LAMBDA);
Run Code Online (Sandbox Code Playgroud)
质量值的范围是 1 到 32,767。FF_QP2LAMBDA 是 118。所以我们可以得到 %2.1f 的最大值超过 277。这是非常可疑的(因为“%2.1f”)。
我正在尝试从视频中捕捉一些快照。所以我在他们的官方页面找到了这段代码:
ffmpeg -i myvideo.avi -f image2 -vf fps=fps=1/60 img%03d.jpg
Run Code Online (Sandbox Code Playgroud)
但是,我找不到任何关于选项的文档,他们也从不解释。
所以如果你知道一些关于 ffmpeg 选项的参考或文档,请分享。
这篇文章的主要问题是什么image2 -vf fps=fps=1/60意思。我不明白为什么他们只是这样写fps=1/60。而image2某种选择还是什么的?
下面的有什么区别?
ffmpeg -i filename.avi -ss 00:00:01 -r 1/60 image%03d.png
Run Code Online (Sandbox Code Playgroud)