Декомпрессия/разложение H264 в JPG - проблемы с качеством

Декомпрессия/разложение H264 в JPG - проблемы с качеством

Я пытаюсь декодировать поток h264 1920x1080 30fps. Отдельные кадры выглядят великолепно в VLC media player (приостанавливая воспроизведение), но когда я декодирую с помощью avconv (ffmpeg устарел и заменен на avconv), качество кадров по сравнению с этим действительно плохое (моя главная жалоба — блочность).

Вот как я вызываю avconv:

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

Есть ли настройка вывода jpg для avconv? Я прочитал то, что, как я подозревал, было основными частями документации avconv (а именно,http://libav.org/avconv.html#image2-1), и не смог найти способ указать качество выходного jpg-файла.

Кроме того, похоже, что avconv считывает весь поток, прежде чем начать его декодирование, поэтому, если поток находится в процессе, он декодирует только туда, где поток был, когда avconv начал процесс декодирования. Есть ли способ обойти это? Другими словами, если 10-секундный поток начинается в t секунд, а avconv начинается в t+1 секунд, avconv будет декодировать только 1 секунду потока.

решение1

Вы можете принудительно установить шкалу качества JPEG для достижения наилучшего возможного качества JPEG, используя параметр -q:v 1:

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

решение2

JPEG — кодек с потерями, возможно, стоит использовать PNG

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

Связанный контент