【UE5】解决UE5无法播放mp4视频

最近接手的项目需要把项目从UE4中迁移至UE5,其中遇到了一个mp4视频无法播放的bug,这里做一下记录。

在官方论中有提到过这个bug,https://forums.unrealengine.com/t/media-textures-wont-display-video-in-ue5-preview-1-while-using-directx-12/503980/2

按照常规的方法播放视频在MediaPlay的Play节点会返回false,并在会会在日志中打印:

1
LogWmfMedia:Error:Tracks 000084F14025C90:Format is not supported in D3D12

意思是在最新的DX12图形库下UE5默认使用的WMF解码器目前不支持mp4的视频解码。

解决方案有两个,其一更换图形库,其二更换解码器。

更换图形库

WMF解码器只是在DX12下会有解码出错的bug,在DX11或者Vulkan下没有这个bug,所以我们可以把UE使用的图形库换成DX11或者Vulkan。

在Edit/ProjectSettings/Platforms/Windows/Targeted RHIs/Default RHI中切换图形库,UE5支持DX11,DX12和Vulkan。

但是由于我的项目中使用了Groom毛发系统,Groom在DX11和Vulkan中支持的不是很好,所以方案一只能pass掉了。

更换解码器

WMF是UE默认使用的视频解码器,除此之外UE在插件里还集成了一个功能更强大的视频解码器—Electra Play

启用插件,重启后我们就可以在MediaPlay试图中的PlaybackOptions下看到ElectraPlay解码器,只需要将MediaPlay切换到ElectraPlay解码器即可,当然每一个MediaPlay都要进行切换解码器操作。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!