H264-Dekomprimierung/Zerlegung in JPG – Qualitätsprobleme

H264-Dekomprimierung/Zerlegung in JPG – Qualitätsprobleme

Ich versuche, einen 1920 x 1080 30fps h264-Stream zu dekodieren. Einzelne Frames sehen im VLC Media Player hervorragend aus (Wiedergabe pausieren), aber wenn ich mit avconv dekodiere (ffmpeg wurde verworfen und durch avconv ersetzt), ist die Framequalität im Vergleich dazu wirklich schlecht (meine Hauptbeschwerde ist die Blockbildung).

So rufe ich avconv auf:

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

Gibt es eine JPG-Ausgabeeinstellung für avconv? Ich habe die meiner Meinung nach wichtigsten Teile der avconv-Dokumentation gelesen (nämlichhttp://libav.org/avconv.html#image2-1) und konnte keine Möglichkeit finden, die JPG-Ausgabequalität festzulegen.

Darüber hinaus scheint avconv den gesamten Stream zu lesen, bevor es mit der Dekodierung beginnt. Wenn der Stream also läuft, wird nur bis zu der Stelle dekodiert, an der sich der Stream befand, als avconv den Dekodierungsprozess startete. Gibt es eine Möglichkeit, das zu umgehen? Mit anderen Worten: Wenn ein 10 Sekunden langer Stream bei t Sekunden gestartet wird und avconv bei t+1 Sekunden gestartet wird, dekodiert avconv nur 1 Sekunde des Streams.

Antwort1

Sie können die JPEG-Qualitätsskala auf die bestmögliche JPEG-Qualität erzwingen, indem Sie den -q:v 1Parameter verwenden:

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

Antwort2

JPEG ist ein verlustbehafteter Codec. Verwenden Sie möglicherweise PNG

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

verwandte Informationen