Я использую ffmpeg, чтобы взять канал mjpeg с IP-камеры и преобразовать его в серию неподвижных изображений JPEG. Вот команда, которую я использую:
ffmpeg -i http://xxx:xxx@xx.xx.xx.xx/vid.mjpg -f image2 -vcodec mjpeg %05d.jpg
Кто-нибудь знает способ указать уровень сжатия jpg при использовании ffmpeg для создания фотографий?
-c:v copy -bsf:v mjpeg2jpeg
вместоq:v 1
,q
. Вот это 24,8 к примеруframe= 64 fps=5.0 q=24.8 Lsize=N/A time=00:00:16.00 bitrate=N/A dup=10 drop=299 speed=1.25x
$ ffmpeg -r 1/4 -i %03d.jpg -b 5000 -vcodec mjpeg -qscale 1 5000.avi
ИЛИ
$ ffmpeg -r 1/4 -i %03d.jpg -vcodec copy -qscale 1 copy.avi
Ссылка:
источник
Вы можете попробовать экспортировать в PPM и использовать другой инструмент для преобразования в JPEG.
Я посмотрел в ffmpeg / libavcodec / mjpeg.c. Я считаю, что качество установлено на фиксированное значение.
Также вы, кажется, конвертируете видео MJPEG в JPEG-кадры. Я думаю, что в этом случае код в ffmpeg / libavcodec / mjpeg2jpeg_bsf.c выполняется и данные не перекодируются. Так что качество изображения не улучшится в любом случае.
Это определение таблицы квантования, я не видел ссылки на * val_? C, где значения были масштабированы перед использованием.
источник
-vcodec ppm
нужно экспортировать промилле