unity 2017.x 2018.x 2019.1-3.x 对中videoplayer在Windows的平台中MP4(H264解码)解码的crash,100%必现,在2019.4.40f1中已经修复,可以参考下它的修复日志。
因为要支持Windows平台的视频播发要求,肯定首先想到到的就是videoplayer多MP4的支持,在看到了一个遍文档之后,随便找了一个MP4的视频进行测试,发现没有任何事情在编辑器模式下,但是打包出exe时候一播发就会出现crash。具体错误如这样内存错误。
UnityPlayer.dll caused an Access Violation (0xc0000005)
in module UnityPlayer.dll at 0033:b7fa75fc.
知道错误开始查询问题,发现很多类型的问题都是低版本导致的,我就开始尝试其他版本的unity,就这样2017,2018,2019都试过全是类似的错误。最后试了下2019的最新版本,看到有修复类似的问题。在2019.4.40f1中确实可以播放了。
具体的意思是好像mp4的10位色深的视频问题导致老的8位色深解析出问题,具体是不是就没有尝试,因为没找到一款转码器支持MP4的色深转置。就这么放弃mp4。
4.就想着要么升级整体版本,但是费心费力太大。所以就看了unity中的videoplayer 的clip还支持vp8的编码格式,搜了下它是webm的流媒体格式,就这么就找转化工具进行转换了。在进行videoplayer的使用,即可以正常播放了