Для каждого кадра видео визуализируйте изображение, предпочтительно в объект кадрового буфера (чтобы избежать искажения изображения из-за неудачных тестов владения пикселями окна). Считайте изображение, используя glReadPixels
, отправьте в видеокодер.
Широкий выбор видеокодеров. На Linux ffmpeg широко доступен, так что вы можете просто использовать это. Самый простой способ - создать ffmpeg как процесс (см. Модуль Python "subprocess
") с соответствующими параметрами командной строки, чтобы читать необработанные изображения из stdin и записывать их в любое место назначения, затем запишите изображения, отрисованные с помощью OpenGL, в процесс ffmpeg 'stdin.