Estoy usando ffmpeg para tomar una alimentación mjpeg de una cámara IP y convertirla en una serie de imágenes jpeg fijas. Aquí está el comando que estoy usando:
ffmpeg -i http://xxx:[email protected]/vid.mjpg -f image2 -vcodec mjpeg %05d.jpg
¿Alguien sabe una manera de especificar el nivel de compresión jpg cuando se usa ffmpeg para crear imágenes fijas?
-c:v copy -bsf:v mjpeg2jpeg
lugar deq:v 1
.q
. Aquí es 24.8 por ejemploframe= 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
O
$ ffmpeg -r 1/4 -i %03d.jpg -vcodec copy -qscale 1 copy.avi
Referencia:
fuente
Puede intentar exportar a PPM y utilizar alguna otra herramienta para convertir a JPEG.
Miré en ffmpeg / libavcodec / mjpeg.c. Creo que la calidad se establece en un valor fijo.
También parece convertir un video MJPEG en cuadros fijos JPEG. Creo que en este caso el código en ffmpeg / libavcodec / mjpeg2jpeg_bsf.c se ejecuta y los datos no se recodifican. Entonces la calidad de imagen no mejoraría de todos modos.
Esta es la definición de la tabla de cuantización, no vi ninguna referencia a * val_? C donde los valores se escalaron antes de su uso.
fuente
-vcodec ppm
se necesita para exportar ppm