[Перевод] Мой удивительно быстрый видеокодек для стриминга
Стриминг игрового процесса с одной машины на другую достаточно популярен сегодня. Для этого процесса требуются очень низкие задержки — здесь важна каждая миллисекунда. Нам нужно выполнять следующие задачи:
• Отправляем ввод контроллера с машины А на машину Б по сети
• Б рендерит кадр на GPU
• Б кодирует кадр в битовый поток
• Б отправляет результат по сети машине А
• A декодирует битовый поток
• A отображает изображение на экране
• В мозге цели высвобождается дофамин
Каждый этап в этой цепочке повышает задержки, а нам нужно их как можно сильнее минимизировать. Обычно в качестве решения используется ускоренное GPU сжатие видео при помощи какого-нибудь кодека, обычно H.264, HEVC или, если хотите заморочиться, AV1. В идеале весь процесс должен выполняться примерно за 20 мс.
Читать далее