Unity3d 播放高质量视频解决方案~

最近在折腾一个视频游戏.真的是一个视频游戏,游戏主背景是个大视频.可能切换三四个视频,而且需要无缝切换.

平台是安卓,蕊片是rockclip.找了各式各样的插件.

  1. movietexture,只能播放OGG和OVG,而且质量比较低.如果要转成高质量的视频,文件尺寸比较大. 放弃,继续找.
  2. easymovietexture, 某些机子上黑滴~兼容性不好,继续找.
  3. avipro 额,是这个名字么,最后发现只能在IOS上使用.继续找.
  4. Vuforia video playback (下方使用vvp代替)高通的SDK里自带一个video playback.拿了出来,改了改能用.

但是有些问题, 在这里顺便扯一下给后面有需要的同学:

  1. 播放SD卡上的视频巨卡.是机器问题么?(倒没有在手机上试过,有试过的同学麻烦告知我.)我看了一下Log,出血的地方.其实不是真的报错.why? =.=
  2. vvp底层是使用mediaplayer进行播放.原理大概是在一个subface上播放,然后画在一张texture上,在unity3d里使用这张texture.
    1. 如果是使用streamasset目录下的视频,playertype会等于3,即使用awsomeplayer
    2. 如果在sd卡上的视频,playertype==7则使用FFPlayer. 使用FFplayer的时候会巨卡而且很慢. 

      由于使用了jmi, 我不太熟,没有具体调试瓶颈在哪里. 在vuforia论坛上问, 理所当然的没有人鸟. 我最后下载了android的源代码,想抽时间看看,最后还是没折腾成. 知道的同学告诉我一声哈.

  3. 播放方式.我一开始两个vvp来播放6个视频, a播放1,b播放2,a播放3,以此类推. 后来直接就闪退了..omg.我在安卓上直接使用mediaplayer是不会出现这个问题的.

    所以我推论是内存侧露了~ 后来改成6个vvp播放6个视频.由于是需要多次进这个场景播放不同的6个视频, 看来闪退也只是时间问题.

    我又在vuforia论坛上问, 又理所当然的没有人鸟.  (PS:我在vurofria论坛上见到一个货刷了一屏的问题.....)

  4. 卡咯~ 东西加多了,CD没有上去,但是还是卡了.各方面.VVP也是一方向. 后面的解决方案就不卡鸟.

最后的解决方案:

使用 Unity3d 4.2版本. 该版本可以在eclipse里设置u3d的subfaceview为透明. 从而与原生的元素一起显示.

嗯.以上方案我也是想到,然后GG出来的结果.

感谢前人的载树,不然这个项目我要栽了=.= 铁定是个各种不安定因素的东西.

我在eclipse里设置subfaceview透明,这个很容易做到.然后在view下加了个videoview. 生成jar后丢到u3d里. (额,这个大家应该都会.如果不会请留言我再把代码丢上来)

videoview里可以加载各种视频, 质量高, 不闪退, 还能播放SD卡上的视频, 性能也有提升. 性能提供了300%还稳定.

如果是需要小区域使用视频的同学,完全用代码控制视频的位置. 当然这是我的假定.真正实施应该还有其他问题.

OLE, 第一次写博客园的文章随意写到这儿. c u.

PS: 这儿的编辑器真不好用,而且没有u3d的分类 =.=

测试工程下载地址:http://download.csdn.net/detail/netfly53541314/9541212

注: 这个测试工程里只有安卓的示例. IOS也能做到,详情请GG.

Unity3d 播放高质量视频解决方案的更多相关文章

  1. WPF 视频硬解码渲染播放(无空域)(支持4K、8K、高帧率视频)

    MediaWPF 基于 .NET 6 实现视频硬解码渲染Demo(无空域问题) 代码实现仅供学习参考 本项目视频渲染通过显卡进行视频解码,CPU几乎不参与工作,并且不存在令人烦躁的空域问题. 在播放摄 ...

  2. 【官方文档】Nginx模块Nginx-Rtmp-Module学习笔记(三)流式播放Live HLS视频

    源码地址:https://github.com/Tinywan/PHP_Experience HTTP Live Streaming(HLS)是由Apple Inc.实施的非常强大的流视频协议.HLS ...

  3. 最快1天搭建短视频APP!阿里云短视频解决方案上线

    短视频行业的发展前景乐观是毋庸置疑的,整个短视频的市场规模一直在增长,网络数据显示2018年已经突破100亿大关,在2019年预测将超过200亿.那么,对于短视频从业者来讲,要持续推动业务的发展,必须 ...

  4. 如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?

    转自<知乎>如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文? 问题: 作为一个博士生,一直为写论文头疼,读过很多高质量论文,觉得写的真好,但是轮到自己写总 ...

  5. AliIAC 智能音频编解码器:在有限带宽条件下带来更高质量的音频通话体验

    随着信息技术的发展,人们对实时通信的需求不断增加,并逐渐成为工作生活中不可或缺的一部分.每年海量的音视频通话分钟数对互联网基础设施提出了巨大的挑战.尽管目前全球的互联网用户绝大多数均处于良好的网络状况 ...

  6. 如何写出高质量的技术博客 这边文章出自http://www.jianshu.com/p/ae9ab21a5730 觉得不错直接拿过来了 好东西要大家分享嘛

        如何写出高质量的技术博客?答案是:如果你想,就一定能写出高质量的技术博客.看起来很唯心,但这就是事实.有足够愿力去做一件目标明确,有良好反馈系统的事情往往很简单.就是不停地训练,慢慢地,你自己 ...

  7. 高质量C++/C编程指南(林锐)

    推荐-高质量C++/C编程指南(林锐) 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐   2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐   20 ...

  8. 高质量C++[转]

    高质量C++/C编程指南 文件状态 [  ] 草稿文件 [√] 正式文件 [  ] 更改正式文件 文件标识: 当前版本: 1.0 作    者: 林锐 博士 完成日期: 2001年7月24日 版 本  ...

  9. iOS书摘之编写高质量iOS与OS X代码的52个有效方法

    来自<Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法>一书的摘要总结 一.熟悉Objective-C 了解Objective-C语言的起源 ...

随机推荐

  1. JDBC 的基本步骤

    JDBC 的基本步骤: 一.导入mysql-connector-java-x.x.x-bin.jar后: 二.代码 1. 注册驱动(三种方式)2. 创建一个连接对象(三种方式) 3. 创建一个sql语 ...

  2. ASP .Net提交时禁用Button

    转自:http://gaterking.blog.51cto.com/69893/301691/ 今天遇到一种小情况,想要在.net的服务器控件asp:button按下去时通过OnClientClic ...

  3. openstack系列阅读目录

    一 keystone系列 keystone基础 网关协议cgi,fastcgi,wsgi,uwsgi keystone源码分析 keystone部署及使用 keystone客户端工作介绍 二 glan ...

  4. RocketMQ入门(3)拉取消息

    转自:http://www.changeself.net/archives/rocketmq入门(3)拉取消息.html RocketMQ入门(3)拉取消息 RocketMQ不止可以直接推送消息,在消 ...

  5. Visual Studio动态代码生成的实现基础

    这篇文章讨论以下3个问题: 1.代码生成器应该做什么 2.大多数代码生成器的缺点 3.动态代码生成实现的基础 代码生成器应该做什么? 我认为,目标是加快项目开发,方式是减少重复代码手工操作,实现是用过 ...

  6. 数组和集合List的相互转化

    一.数组转为List 调用Arrays类的静态方法asList static void convertArray2List() { String[] strs = new String[]{" ...

  7. Redis实战之征服 Redis + Jedis + Spring (一)

    Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: Redis实战 Re ...

  8. ListOrderedMap

    要有序能够用List,要便于查找能够用Map,那既要有序又便于查找呢? 近期我就遇到了这样一个问题.Java没有给我们提供现成的类.我们全然能够自己开发个类继承List和Map(Java原来就有不能够 ...

  9. ALERT日志中常见监听相关报错之中的一个:ORA-609错误的排查

    參考MOS文档有: Troubleshooting Guide ORA-609 : Opiodr aborting process unknown ospid (文档 ID 1121357.1) Al ...

  10. cocos2d_x_08_游戏_FlappyBird

    终于效果图: 环境版本号:cocos2d-x-3.3beta0 使用内置的物理引擎 计时器没有加入,可參考[cocos2d_x_06_游戏_一个都不能死] 主场景 // // FlappyBirdSc ...