Dan*_*ann 92 graphics video ffmpeg computer-vision sharpffmpeg
目前我正在使用此命令来提取图像:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_%03d.jpeg
但是如何提高JPEG图像质量呢?
llo*_*gan 186
-qscale:v使用-qscale:v(或别名-q:v)作为输出选项.JPEG的有效范围是2-31,其中31是最差的质量.我建议尝试2-5的值.
ffmpeg -i input.mp4 -qscale:v 2 output_%03d.jpg
Run Code Online (Sandbox Code Playgroud)
ffmpeg -ss 60 -i input.mp4 -qscale:v 4 -frames:v 1 output.jpg
Run Code Online (Sandbox Code Playgroud)
这适用于任何视频输入.如果您的输入是MJPEG,请参见下文.
如果您输入的是MJPEG(Motion JPEG),则可以提取图像而不会有任何质量损失.
该ffmpeg或ffprobe控制台输出可以告诉你,如果你输入MJPEG:
$ ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1 input.avi
codec_name=mjpeg
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用mjpeg2jpeg比特流过滤器提取帧:
$ ffmpeg -i input.avi -codec:v copy -bsf:v mjpeg2jpeg output_%03d.jpg
Run Code Online (Sandbox Code Playgroud)
Jak*_*ake 10
以无损格式输出图像,例如 PNG:
mkdir stills
ffmpeg -i my-film.mp4 -vsync 0 -f image2 stills/my-film-%06d.png
Run Code Online (Sandbox Code Playgroud)
然后使用另一个程序(您可以在其中更精确地指定质量、子采样和 DCT 方法——例如 GIMP)将您想要的 PNG 转换为 JPEG。
与使用 JPEG 格式-qmin 1 -q:v 1并直接从JPEG 格式输出相比,这种方式可以获得更清晰的 JPEG 格式图像ffmpeg。
如果您只想提取关键帧(可能具有更高质量的后期编辑),您可以使用以下内容:
ffmpeg -skip_frame nokey -i my-film.mp4 -vsync 0 -f image2 stills/my-film-%06d.png
Run Code Online (Sandbox Code Playgroud)
该-vsync 0参数避免了需要指定帧速率,-r并且意味着输入文件中的所有帧都被视为,嗯,一个帧。
| 归档时间: |
|
| 查看次数: |
102679 次 |
| 最近记录: |