Descompressão/decomposição H264 em JPG - problemas de qualidade

Descompressão/decomposição H264 em JPG - problemas de qualidade

Estou tentando decodificar um stream h264 de 1920x1080 30fps. Os quadros individuais parecem excelentes no VLC media player (pausando a reprodução), mas quando eu decodifico usando avconv (o ffmpeg foi descontinuado e substituído pelo avconv), a qualidade do quadro é realmente ruim em comparação (minha principal reclamação é o bloqueio).

Veja como estou chamando avconv:

avconv -i video.h264 -s 1920x1080 -f image2 temp/images/video-%03d.jpg

Existe uma configuração de saída jpg para avconv? Eu li o que suspeitei serem as partes mais importantes da documentação do avconv (ou seja,http://libav.org/avconv.html#image2-1) e não consegui encontrar nenhuma maneira de especificar a qualidade do jpg de saída.

Além disso, parece que o avconv lê o fluxo inteiro antes de começar a decodificá-lo; portanto, se o fluxo estiver em andamento, ele apenas decodificará 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 avconv for iniciado em t+1 segundos, avconv decodificará apenas 1 segundo do fluxo.

Responder1

Você pode forçar a escala de qualidade JPEG para a melhor qualidade JPEG possível usando o -q:v 1parâmetro:

avconv -i video.h264 -s 1920x1080 -f image2 -q:v 1 temp/images/video-%03d.jpg

Responder2

JPEG é um codec com perdas, talvez use PNG

ffmpeg -i video.h264 -s 1920x1080 temp/images/video-%03d.png

informação relacionada