Я создаю игру в Unreal Engine4 и хочу, чтобы код C ++ записывал окно моей игры в виде видео, а затем сохранял его на рабочем столе в виде файла WMA.
AFAIK Unreal не содержит никаких способов записи файлов мультимедиа общего формата (хотя он определенно может их читать). Я предлагаю некоторые внешние программы для записи видео, такие как Fraps, Open Broadcast Software (OBS) или что-то еще, что вы предпочитаете.
Я предлагаю вам посмотреть в OpenCV. Это перейти к Computer Vision lib. Его (почти) абсолютно бесплатный с открытым исходным кодом.
Возможно, на ваш вопрос уже ответят так:
Как захватить рабочий стол в OpenCV (т.е. превратить растровое изображение в коврик)?
PS: важно, чтобы вы задали вопрос, если хотите получить ответы / помощь. Рассказать нам, что вы собираетесь делать, это не вопрос. Я предполагаю, что вы хотели спросить, как делать то, что вы хотите сделать … Если это так, переделайте свою тему в вопрос.
UGameViewportClient, кажется, содержит достаточно функций, чтобы сделать снимок экрана. Сделав снимок экрана, вы сможете передавать значения пикселей в другую библиотеку программного обеспечения (например, ffmpeg) для записи видеофайла. Я не нашел ни одного кода, который выполняет файловые операции в Unreal.
Проверьте эту ссылку:
https://www.youtube.com/watch?v=b6Ca8IMiuuY&т = 515s
Он преобразует захват в равносторонний и захватывает изображения. Но это медленный процесс, и вам нужно будет передать изображения через FFMPEG для создания фильма.
Вам нужно будет изменить код шейдера, чтобы удалить захват EQR.