Кодировать кадры png без потерь в webm с помощью ffmpeg

Мне нужно преобразовать каталог кадров в webm абсолютно без сжатия изображений, только необработанные изображения в кадры. Используя ffmpeg версии N-82889-g54931fd, это то, чем я сейчас занимаюсь.

ffmpeg -framerate 30 -f image2 -i frames/%02d.png -pix_fmt yuva420p -crf 0 output.webm

Было сказано, что ответом является флаг crf 0, но вывод по-прежнему полон сжатия и артефактов. Есть ли возможность сделать каждый кадр максимально идентичным соответствующему кадру изображения png?


person Peaser    schedule 18.07.2017    source источник
comment
Вы пробовали -lossless 1 для кодировщика? кстати, я думаю, yuva420p обеспечил видео с потерями.   -  person halfelf    schedule 18.07.2017
comment
я думал, что для кодирования webm требуется yuva420p?   -  person Peaser    schedule 18.07.2017


Ответы (1)


VP8, кодировщик по умолчанию для WebM, не имеет режима без потерь. Используйте ВП9.

ffmpeg -framerate 30 -i frames/%02d.png -c:v libvpx-vp9 -pix_fmt yuva420p -lossless 1 out.webm

Обратите внимание, что из-за преобразования формата пикселей (RGB -> YUV) вывод не будет полностью без потерь, так как при декодировании обратно в RGB будут некоторые ошибки округления.

person Gyan    schedule 18.07.2017