Você pode forçar a escala de qualidade JPEG para a melhor qualidade JPEG possível usando o parâmetro -q:v 1
:
avconv -i video.h264 -s 1920x1080 -f image2 -q:v 1 temp/images/video-%03d.jpg
Estou tentando decodificar um fluxo de 1920x1080 30fps h264. Quadros individuais parecem excelentes no VLC media player (pausa na reprodução), mas quando eu decodifico usando avconv (o ffmpeg foi substituído e substituído pelo avconv), a qualidade do quadro é muito ruim em comparação (minha principal reclamação é o bloqueio). >
Veja como estou ligando para o avconv:
avconv -i video.h264 -s 1920x1080 -f image2 temp/images/video-%03d.jpg
Existe uma configuração de saída jpg para o avconv? Eu li o que eu suspeitava serem as partes salientes da documentação do avconv (ou seja, link ), e não consegui encontrar qualquer maneira de especificar a qualidade do jpg de saída.
Além disso, parece que o avconv lê todo o fluxo antes de começar a decodificá-lo, portanto, se o fluxo estiver em andamento, ele só decodifica para onde o fluxo estava quando o avconv iniciou o processo de decodificação. Existe alguma maneira de contornar isso? Em outras palavras, se um fluxo de 10 segundos for iniciado em t segundos e o avconv for iniciado em t + 1 segundos, o avconv só decodificará 1 segundo do fluxo.
JPEG é um codec com perdas, talvez use o PNG
ffmpeg -i video.h264 -s 1920x1080 temp/images/video-%03d.png