[О блоге] [наверх] [пред] [2020-04-24 20:47:56+03:00] [9e4f39c6983d7b1e2085f8e50dc4ab04d7a1ef95]
Темы: [multimedia][tip]

Кодирование экрана в lossless

ffmpeg похоже годится для тьмы задач которые я делал mplayer/mencoder.
mpv совсем не нужен ни для чего кроме проигрывания. Декодировать
ALAC/APE -- ffmpeg может. Аналог -ao pcm тоже. Из example его
документации увидел как делается просто запись экрана. Сразу задаюсь
вопросом во что кодировать? Хочется же чтобы потом можно было хорошо
сжать, а источник в идеале должен быть без потери качества.

Об опыте lossless кодеков писал в 748a0008be8dd4408f9366e02a71144acec766a7.
YUV4MPEG2 слишком круто забивает диск. FFV1 очень жрёт CPU. ffvhuff
хорошо подходит: и жмёт вполне себе лучше чем голый YUV4MPEG2 (у меня на
ZFS уйдёт процессорное время всё) и в real-time вполне себе справляется.

Теперь хочется сжать в VP9 lossless, просто ради поиграться. Но хочу
vpxenc утилиту использовать. ffmpeg-ом делаю yuv4mpegpipe вывод и меня
посылают, ибо надо задать формат пикселя. Задаю такой, какой vpxenc
берёт по умолчанию: I420. Да, закодировался lossless, но цвета явно
покорёжены и унылы. Очевидно из-за I420. Указываю I444, ffmpeg опцию
соответствующую, vpxenc ругается что при текущем профиле не
поддерживается этот формат пикселей. Пошёл в исходный код, потом в
Wikipedia: https://en.wikipedia.org/wiki/VP9#Profiles
Действительно, есть разные профили (ну как и в MPEG стандартах) и мне
нужен явно profile 1. Благо в vpxenc это можно указать и всё
закодировалось, действительно без потерь. 800-1000Kbps при всяких top-ах
и переключениях рабочих столов оно где-то тратит битрейта на FullHD.

    [оставить комментарий]