如何确保FFMPEG从USB捕获的图像是无损的?

如何确保FFMPEG从USB捕获的图像是无损的?

我要从相机捕获 10 张图像。就像这样:

ffmpeg -hide_banner -loglevel error -f video4linux2 -i /dev/video0 -vframes 10 -video_size 640x480 test%3d.jpg

由于 JPG 是有损,我需要更改图像格式。这么说吧tiff。就像这样:

ffmpeg -hide_banner -loglevel error -f video4linux2 -i /dev/video0 -vframes 10 -video_size 640x480 test%3d.tiff

这是否可以确保我们从相机获得的图像文件是无损的?

或者因为它使用-vframes 10它就像 10 帧视频一样工作,并且 ffmpeg 在每一帧使用一些视频压缩(造成一些信息丢失)?

/如果这是一个愚蠢的问题,我很抱歉/

答案1

这完全取决于您的来源。有些相机提供MJPEG/H.264输出,因此根本很难谈论“无损”。检查ffmpeg输出以获取更多信息。

我不太确定 TIFF(据我所知,它有一些压缩有损形式),但 BMP 和 PNG 格式是 100% 无损的。

另一点需要考虑的是,即使在无损模式下,您的相机也可能提供 YUV 输出,这不翻译无损地转换为 RGB,因此写入原始数据可能更理想。

相关内容