Unity打包PC包时,在WIN7环境下播放视频崩溃问题的解决记录
问题描述
此问题的具体描述如下。
由于项目需求,需要在项目中添加10多个视频,其中还有一个非常规尺寸的视频。
公司的开发环境为win10系统。
使用Unity版本为Unity5.6.4f1。
使用IDE为vs2017。
显卡为N卡1070。
正常开发过程中以及打包后测试都没有问题,所以我也就放心的把包直接给客户了,但是客户反映无法使用。
到现场后进行测试,发现客户使用的所有系统均为win7系统,同时也使用了现场的3台win7设备进行了测试,均为白屏。
但是公司的win10开发环境下可以运行,同时在另一台公司的750等级显卡的win10系统设备上测试也可以运行,只不过很卡。
由于我家的电脑也是win7的,所以带回家进行测试,发现确实无法运行。
但是在家中的Unity2017.4上面却可以正常运行。只是一旦打包就无法运行。
此外值得注意的一点是,并不是所有视频都无法使用,我个人之前下载过的视频都可以正常的在win7和win10的工程使用。
但是客户提供的所有视频均无法使用。
解决过程
通过查看打包后的output_log.txt日志发现,无法播放视频的原因是当前视频的解码错误导致的。
由于视频是客户提供的,所以跟客户进行确认,客户说所有的视频都是以一种通用的高清编码方式h264进行制作的。
同时客户提出之前他们做的这些视频从来没有出现过此类问题。
通过查阅网络资料,此时得出的解决方案有一下3点:
- 将系统升级为win7 sp1以上。
- 将视频编码方式转换为vp8。
- 由于我个人的测试视频可用,而客户的视频无法使用,所以我怀疑客户那边视频的某些设置有问题。
虽然有3个方案,但是由于客户那边需求必须是win7系统。
而且他们的有一个视频融合系统是跟系统相关的,所以第一个方案风险很大,直接剔除。
方案二经过和他们的沟通,他们说完全没听说过vp8的编码方式,说这个是一个不常用的编码方式需要我们提供插件。
所以暂时搁置此方案。
方案三经过反复沟通,我把自己测试用的视频发给了客户,但是他们那边说跟他们提供的视频格式没有不同。无果。
此时进行了视频格式转换的尝试,经过进一步的查阅资料,看到有人说即使是mp4也存在编码格式的差异。
可以使用“格式工厂”这款软件,将视频重新转换一遍,编码方式选择为MPEG4(DivX),这样就可以在win7中播放。
经过试验,结果可行,但是也只有此种格式的mp4转码可用。
但是将所有视频转码打包后,发现此时在win7打开后直接程序崩溃。并且此时在output_log.txt文件中也没有错误信息。
同时我为了进行排查,将这个大视频单独进行了打包,结果发现是可以在win7播放的,可以打包进项目后就崩溃。
感觉很无奈。
此时经过进一步查阅资料,通过科学上网去google查了下外文帖子,发现也有人遇到了类似问题,并且也在官网上查到了。
同时在查阅过程中发现可以直接在unity中对视频进行vp8转码!
经过阅读老外的资料,发现这个问题可能是Unity的一个bug。
而且目前在我已知的资料中显示Unity5.6以后的所有版本均存在此问题。
同时这个问题只会在win7系统发生,还会导致视频导入unity中后无法进行vp8转码。
只要转码就会报错:WindowsVideoMedia error 0x8007007b while reading file://
和一个找不到视频头文件的错误。
此时我首先是想到尝试将MP4转化为Unity原生支持的.OGV格式,为此而买了一个视频格式转换软件。
同时想到将之前转换过的那个DivX编码的MP4尝试进行vp8转码,结果意外的成功了。
经过vp8转码后,这个DivX编码方式的mp4可以正常的在win7环境的项目中运行了。
**最终的解决方案是将无法使用的mp4视频进行DivX转换,之后放到Unity中进行VP8转码。**
ps:之后测试了使用一个叫AVPro Video的插件,使用此插件进行播放而不是使用Unity自带的Video Player播放,此时可以使用原视频进行播放。说明可能Unity本身在视频这部分还存在一定的问题。
Unity打包PC包时,在WIN7环境下播放视频崩溃问题的解决记录相关推荐
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
转至 http://blog.csdn.net/ccf19881030/article/details/9204801 写这篇博客时2D游戏引擎Cocos2d-x的最新版本为2.1.4,记得很久以 ...
- 使用idea打包war包和maven项目打包war包放到tomcat中运行,以及报404错误的解决
使用idea打包war包和maven项目打包war包放到tomcat中运行,以及报404错误的解决 在tomcat下运行打包的war包,访问时显示404 浅谈打包war包的方式 第一种: 第一步: 第 ...
- 关于压缩jar包时提示*.*没有这个文件或目录的问题以及解决办法:
关于压缩jar包时提示.没有这个文件或目录的问题以及解决办法: 问题描述: 我在打包jar时,CMD中进入到包的上一层目录. 在命令提示符中输入 提示如下: 从提示中可知没有找到我们想要打包的clas ...
- win7环境下创建超级隐藏账户
在win7环境下,系统安全得到了加强,今天来看看怎样在win7环境下新建一个超级隐藏用户. 首先,我们需要新建一个普通的账户. 在win7中我们使用net user 添加或者删除账户都是被拒绝的. ...
- Win7环境下MSCOMM32.OCX控件的使用
作者:iamlaosong 以前曾做个稽核重量的称重拍照软件,现在有部门要使用,说是用不起来,只好再捡起来试用一下. 试用发现Win7环境下串口无法使用(Error 8015---Could Not ...
- WIN7环境下debug的使用
在win7环境下debug的使用 背景:豪华绚丽的Windows让人们把DOS抛到遥远的记忆角落.然而,真正有价值的东西不会轻易退出历史的舞台,Debug就是这样的经典作品之一.从古老的DOS到现今的 ...
- 在Win7环境下搭建Geant4工作平台
本物理专业小硕,现在材料实验室工作,研究方向大概是核屏蔽材料的软件模拟吧.其实实验室里大多数师兄弟都是搞焊接的,平时能接触到这类直接给源码自己编译的软件的机会基本为零,所以一切都靠自己探索,成功搭建了 ...
- win7能用的matlab,win7环境下使用matlab7.0(R14)方法
matlab7.0是一款非常强大的工程仿真分析软件,虽说是2004年的版本,但易用性和稳定性仍然不错,所以此版本仍然在各大单位服役.下面是学习啦小编跟大家分享的是win7环境下使用matlab7.0( ...
- 在win7系统 Keil 开发环境下 Jlink 仿真器连不上解决办法
Keil 开发环境下 Jlink仿真器,在win7系统下,仿真器连不上解决办法 进入设备管理器,发现黄色问号,即windows不识别设备,分别右键点击属性,更新驱动程序.在安装keil目录下自动查找, ...
最新文章
- JavaScript 为什么要有 Symbol 类型?
- 关于反爬虫,看这一篇就够了
- VTK修炼之道44:图形进阶_vtkPolyData数据源讨论与数据创建
- python selenium webdriver_Python:selenium.webdriver问题(服务器上没有X)
- java web前端模版,以Eclipse替核心搭建JAVA WEB开发环境(三)-模板项目Archetype
- hiveServer2 和 metastore的一点解读。
- matlab求矩阵中值函数,matlab在一个函数里,如何调用另一个函数里面求得的雅可比矩阵并赋值?...
- 选择什么样的时机将IT运维服务外包
- MongoDB - 分片管理
- Java中的集合HashSet、LinkedHashSet、TreeSet和EnumSet(二)
- python numpy 里面的[:, None]是个什么鬼?[..., None]呢?
- 采集屏幕编码H264
- 解决应用程序无法正常启动0xc0150002等问题
- 用React实现基于Canvas的涂鸦画板
- 美国梅西学院计算机科学与技术,新西兰梅西大学计算机科学硕士专业很难吗?看完入学条件就知道了...
- Python爬虫实现网页自动刷票
- 初识QT之QTWidget窗口
- web.py应用工具库:webpyext
- 做需求分析师的几点困惑
- 1994-2019:中国互联网流量争夺史