Estou usando o ffmpeg para pegar um feed mjpeg de uma câmera IP e convertê-lo em uma série de imagens jpeg estáticas. Aqui está o comando que estou usando:
ffmpeg -i http://xxx:[email protected]/vid.mjpg -f image2 -vcodec mjpeg %05d.jpg
Alguém sabe uma maneira de especificar o nível de compactação jpg ao usar ffmpeg para criar fotos?
-c:v copy -bsf:v mjpeg2jpeg
vez deq:v 1
.q
. Aqui está 24,8, por exemploframe= 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
OU
$ ffmpeg -r 1/4 -i %03d.jpg -vcodec copy -qscale 1 copy.avi
Referência:
fonte
Você pode tentar exportar para o PPM e usar alguma outra ferramenta para converter em JPEG.
Eu olhei para ffmpeg / libavcodec / mjpeg.c. Eu acredito que a qualidade é definida como um valor fixo.
Além disso, você parece converter um vídeo MJPEG em quadros estáticos JPEG. Penso que, neste caso, o código em ffmpeg / libavcodec / mjpeg2jpeg_bsf.c é executado e os dados não são recodificados. Portanto, a qualidade da imagem não melhoraria de qualquer maneira.
Esta é a definição da tabela de quantização, não vi nenhuma referência a * val_? C onde os valores foram redimensionados antes do uso.
fonte
-vcodec ppm
é necessário para exportar ppm