UE虚幻引擎云渲染支持8K方案
UE自带的pixel streaming只支持4K以内的编码,查看HardwareEncoders插件源码,发现nvenc编码器由于硬件限制,超过4K分辨率的视频编码必须使用h265 hevc编码,默认情况下使用h264不支持8K分辨率。
修改源码PluginsHardwareEncodersSourceEncoderNVENCPrivateNVENC_EncoderH264.cpp
EncoderInitParams.encodeGUID = NV_ENC_CODEC_HEVC_GUID;
EncoderConfig.profileGUID = NV_ENC_CODEC_PROFILE_AUTOSELECT_GUID;
EncoderConfig.encodeCodecConfig.hevcConfig.level = NV_ENC_LEVEL_AUTOSELECT;
EncoderInitParams.encodeConfig->profileGUID = NV_ENC_CODEC_PROFILE_AUTOSELECT_GUID;
如果需要编码后的裸流,可以在ProcessEncodedBuffer函数取出
if (fp == nullptr)
fp = fopen("playback.h265","wb");
fwrite(Buffer->BitstreamData, Buffer->BitstreamDataSize, 1, fp);