У меня есть поток необработанных изображений, которые мы получаем с сетевой камеры в градациях серого. В этом случае наши изображения представляют собой массивы 8 бит пикселей (640×480). Так как эта камера выдает более 200 кадров в секунду, мне нужно как можно быстрее сохранить эти изображения в виде видео WebM, чтобы не потерять ни одного кадра.
Каков наилучший способ сделать это, используя libvpx?
Самым быстрым и простым способом было бы предоставить плоскость серой шкалы непосредственно в функцию сжатия libvpx vpx_codec_encode с VPX_IMG_FMT_I420. Вы должны будете ввести две цветовые плоскости с субдискретизацией 2×2, хотя — 320×240 в вашем случае — сделать так, чтобы все октеты этих плоскостей имели значение 128.
Других решений пока нет …