最近接手的項目需要把項目從UE4中遷移至UE5.0,其中遇到了一個mp4視頻無法播放的bug,這里做一下記錄。
在官方論中有提到過這個bug,https://forums.unrealengine.com/t/media-textures-wont-display-video-in-ue5-preview-1-while-using-directx-12/503980/2
按照常規(guī)的方法播放視頻在MediaPlay的Play節(jié)點會返回false,并在會會在日志中打印:
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毛發(fā)系統(tǒng),Groom在DX11和Vulkan中支持的不是很好,所以方案一只能pass掉了。
更換解碼器
WMF是UE默認使用的視頻解碼器,除此之外UE在插件里還集成了一個功能更強大的視頻解碼器—Electra Play。
啟用插件,重啟后我們就可以在MediaPlay試圖中的PlaybackOptions下看到ElectraPlay解碼器,只需要將MediaPlay切換到ElectraPlay解碼器即可,當(dāng)然每一個MediaPlay都要進行切換解碼器操作。
然每一個MediaPlay都要進行切換解碼器操作。
運行時播放視頻黑屏
當(dāng)我把以上的配置都設(shè)置好后,并且也在藍圖中配置好MediaPlay和OpenSource,然后在運行播放,發(fā)現(xiàn)視頻黑屏,只有在打開媒體播放器播放視頻時,視頻才能播放。
具體時什么原因?qū)е碌奈覜]有找到原因,但是我找到了一個快捷的解決辦法,一般用于媒體播放的材質(zhì)我們是這么連的:
把貼圖連在BaseColor上就會出現(xiàn)播放視頻運行時黑屏,解決方法是將貼圖連到自發(fā)光,問題就解決了,并且把貼圖連到自發(fā)光可以保證在場景中播放的視頻亮度與原視頻一致。文章來源:http://www.zghlxwxcb.cn/news/detail-796805.html
運行時黑屏這個問題我只在5.0中有遇到,其他版本的引擎并沒有碰到這個問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-796805.html
到了這里,關(guān)于【UE5】解決UE5無法播放mp4視頻的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!