GLSurfaceView+openGL播放VR视频/全景视频(VR解码器)

  • 时间:2020-08-04 11:14 编辑: 来源: 阅读:42
  • 扫一扫,手机访问
摘要:OpenGL ES/SDL烘托,FFmpeg ;VR分屏之OpenGL-OpenGL ES来播映视频.MediaPlayer+GLSurfaceView+openGL (引荐 )MD360 VR- https://github.com/ashqal/MD360Player4Android  OpenGL ES用来制造屏幕及分屏,FFmpeg用来音视频编码解码等。> OpenGL与Unity3D Ope

OpenGL ES/SDL烘托,FFmpeg ;VR分屏之OpenGL-OpenGL ES来播映视频.MediaPlayer+GLSurfaceView+openGL
 (引荐 )MD360 VR- https://github.com/ashqal/MD360Player4Android
  OpenGL ES用来制造屏幕及分屏,FFmpeg用来音视频编码解码等。
> OpenGL与Unity3D
 OpenGL 是一个相对底层的结构。会供给一系列函数结构作为 API 供给给开发者运用。OpenGL制造VR 播映器。
 Unity3D 是一个跨渠道的游戏引擎。处理的是游戏制造人经过什么东西来做游戏的问题。本身包含很多游戏相关的功能,比方绘图,播动画,放音乐,联网等等。
OpenGL是右手系,可是Unity和D3D却是左手系(Unity在调查坐标系又是右手系) 

    OpenGL ES是在图形图画中,十分优秀的烘托库,既然是烘托,就那会和视频离不开,前期是FFmpeg解码视频,用于显现视频是经过surfaceView。今日经过OpenGL+SurfaceTexure进行显现视频。
    OpenGL很多运用了向量和矩阵,矩阵的最重要的用处之一便是树立正交和透视投影。其原因之一是,从本质上来说,运用矩阵做投影只触及对一组数据按次序履行很多的加法和乘法,这些运算在现代GPU上履行的十分快。

> Google VR
Android N VR代码简析- https://www.jianshu.com/p/027916e345bc
  Google单独别离出一个SDK,除了方便运用开发者之外,主要的目的是用来把VR的一些核心算法躲藏起来,比方用来减少推迟的ATW异步时间歪曲算法便是被封装在这里.手机上面运转VR的时分一个最大的挑战便是推迟,当一副画面的推迟超过20MS,人就会感觉不舒服厌恶,严重影响用户体会,一个好的VR产品都会尽量防止推迟。.
  Google VR SDK应该是处理了ATW算法和多分辨率烘托等优化问题,然后新增了一个体系服务VrManagerService和 vr HAL层, 运用经过VrManagerService来设置体系进入VR形式,VrManagerService又是经过vr HAL层去实现具体形式的切换的。
  VR全景图+Opengl3D模型展示- https://github.com/DrownCoder/VRShow
Google VR研究,发现它闭源 可定制的东西比较少,能够放弃它了

翻墙看google VR 官方文档:https://developers.google.com/vr/android/  https://developers.google.com/vr/android/reference_overview
https://github.com/googlevr/gvr-android-sdk.git  https://github.com/ejeinc/RajawaliCardboardExample cardboard的demo

谷歌google vr demo- http://download.csdn.net/detail/zph1596946/9543674
http://www.androidauthority.com/developing-with-the-google-vr-sdk-and-ndk-699472/
  Google provides developers with two virtual reality (VR) platforms: Cardboard, the world's most popular and accessible mobile VR platform, and Daydream, a new platform for low-latency, immersive, and interactive mobile VR.
  A physical Android device running Android 4.4 (KitKat) or higher for Cardboard apps or a Daydream Ready phone
  Both of these samples are single activity applications that display an embedded panoramic image or video using VrPanoramaView and VrVideoView, respectively.

-- 运用 Google Cardboard 及 Rajawali 3D 开发的VR播映器- https://github.com/substarry/VRPlayer
EXOplayer,做个视频的都知道,这个项目也是Google开源的,对流媒体很好的支撑。

> VR技能
-- VR 核心技能体现在以下几个方面:
 1.全立体显现(3D 显现):包含反畸变算法、多图画处理
 2.运动追踪:运用陀螺仪 GyroscopeSensor 加速度计 G-Sensor 等来感应咱们身体移动和头部滚动
 3.输入设备:触摸板、手柄、无线体感设备、手势辨认
  运用手柄的典型计划比方 HTC 的 Vive、Sony 的 PS VR;
  无线体感设备比方 雷射的 Hydra、Sixense 的 STEM;
  手势辨认感应设备比方 Leap Motion 和 Nimble VR;
  具体哪种方法会成为未来 VR 的 “鼠标” 暂时还不明朗。
 4.开发工具:OpenGL 供给的 API、Unity3D 引擎 等;

-- VR技能主要从以下方面下手:
SDK层:主要目的是进步图画质量,下降图画延时。
Framework层:主要对声音和图形图画,功耗进行优化。
底层:进步GPU图画烘托速度和DSP数据运算速度,实现低延时。


-- VR视频播映器最起码有这些基本功能:
全景360度无死角,支撑陀螺仪感应和手动拖动浏览视频。支撑屏幕类型切换,支撑单屏、双屏等。
FFmpeg在点播视频和VR视频中的运用。

> 得图VR
  得图致力于下降VR影像制造本钱,供给了从硬件,到软件,再到完好的职业运用计划。包含了直播软件,拼接软件,云制造服务、SDK等免费服务,为VR影像生产供给了完备的生产工具。
  得图VR PanoPlayer Android版SDK运用指南- http://www.detu.com/develop/page/42

> VR xl_player - https://github.com/xl-player-developers/xl_player,
iOS VR HTY360Player- https://github.com/hanton/HTY360Player   https://github.com/libobjc/SGPlayer
Linux下,CMakeLists.txt及Cpp文件夹在每个module下都有软链接,在Windows下不支撑,各自拷贝一份到相应的Module下。(跨渠道问题)

Android捕捉图画后在SurfaceView上变形显现问题的处理- http://www.cnblogs.com/chenjianxiang/p/4168203.html
 SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于制造的Surface。你能够操控这个Surface的格局和尺寸。Surfaceview操控这个Surface的制造方位。surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后边。surfaceview变得可见时,surface被创立;surfaceview躲藏前,surface被毁掉。这样能节省资源。如果你要查看 surface被创立和毁掉的机遇,能够重载surfaceCreated(SurfaceHolder)和 surfaceDestroyed(SurfaceHolder)。
  整个进程:继承SurfaceView并实现SurfaceHolder.Callback接口 ----> SurfaceView.getHolder()取得SurfaceHolder目标 ---->SurfaceHolder.addCallback(callback)添加回调函数----
 SurfaceHolder.lockCanvas()取得Canvas目标并确定画布----> Canvas绘画 ----
 SurfaceHolder.unlockCanvasAndPost(Canvas canvas)结束确定画图,并提交改动,将图形显现。

 怎么手动毁掉surfaceview 并重建- 很简略  将其设为View.GONE  再将其设为View.visable。
 Android有关surfaceView从头创立的问题- 解锁屏之后,surfaceview就会自动从头创立,所以,只需在从头创立之后恢复到曾经的状况就能够了。
 关于Activity与SurfaceView的生命周期  。
Canvas canvas = getHolder().lockCanvas();
if (canvas != null) {
    if (mCurrentPreviewState == USB_PREVIEW) {
        rect.set(IMG_WIDTH / 2, IMG_HEIGHT / 2, IMG_WIDTH, IMG_HEIGHT);
        canvas.drawColor(Color.TRANSPARENT, Mode.CLEAR);
        canvas.drawBitmap(mPreviewBitmap, null, rect, null);
    } else {
        canvas.drawColor(Color.TRANSPARENT, Mode.CLEAR);
        canvas.drawBitmap(mPreviewBitmap, null, rect, null);
    }                   
    getHolder().unlockCanvasAndPost(canvas);
}

> 其他VR
Android-VR 支撑流媒体- http://blog.csdn.net/honjane/article/details/51884424
VR-- https://github.com/wheat7/VRPlayer 
VR Android播映器实现(二)- http://blog.csdn.net/hebeixmg/article/details/52598902
NitroAction360- https://github.com/Nitro888/NitroAction360  https://github.com/hanton/HTY360Player
vrVideo- https://github.com/pondurii/vrVideo
OpenGL ES_手把手教你打造VR全景播- http://www.jianshu.com/p/0f740901da59
android opengl播映全景视频- https://www.jianshu.com/p/254837f663c4
android运用opengl es2.0播映VR视频- https://www.jianshu.com/p/b80d70a2b9f4
GLSurfaceView VR视频- https://github.com/Martin20150405/Pano360
openGL ES进阶教程(五)制造一个简略的VR播映器,播映全景视频- https://blog.csdn.net/king1425/article/details/76558737
OpenGL从零开始写一个Android渠道下的全景视频播映器——目录- https://blog.csdn.net/Martin20150405/article/details/53149578
从零开始打造一个VR视频播映器-VRPlayer源码剖析- http://www.jianshu.com/p/c7a3b1acb8b1
怎么做个VR播映器- http://www.gad.qq.com/article/detail/25937#
从零开始写一个Android渠道下的全景视频播映器——3.2 运用OpenGL ES 2.0制造一个球- http://blog.csdn.net/martin20150405/article/details/53888204
[OpenGL]从零开始写一个Android渠道下的全景视频播映器- http://blog.csdn.net/Martin20150405/article/category/6274984
Android全景视频播映器 源代码- http://download.csdn.net/detail/martin20150405/9681440
Pano360- https://github.com/Martin20150405/Pano360

UtoVR SDK
Facebook surround360 VR,Facebook有一个开源库叫transform。

VRPlayer is a simple but powerful local VR video player- https://github.com/wheat7/VRPlayer

> Unity 3D VR
Unity3D官方VR的Demo:https://unity3d.com/cn/learn/tutorials/topics/virtual-reality
Unity3D全景视频播映AVPro Video插件- http://download.csdn.net/download/java886o/9592531

  • 全部评论(0)
最新发布的资讯信息
【A8站-免费源码分享|直播源码】直播系统源码开发:关于安卓开发工具和obs直播推流(2020-10-30 09:41)
【计算机/互联网|】【独家修复】用户定制版短视频点赞系统,支持抖音+快手+刷宝+微视等所有主流短视频评论系统源码(2020-10-26 16:34)
【技术宅-为技术而疯|网站架设教程】【独家首发】最新更新已对接短信2020全新抖音快手点赞任务系统霸屏天下小红书头条威客兼职完整搭建架设视频教程(2020-10-25 13:56)
【技术宅-为技术而疯|网站架设教程】最新可用个人发卡网系统源码完整搭建架设视频教程(2020-10-25 10:53)
【技术宅-为技术而疯|网站架设教程】独家更新全新V10抢单系统唯品会京东淘宝自动抢单区块系统源码全开源抢单收单接单返利+搭建架设完整视频教程(2020-10-25 10:52)
【计算机/互联网|】柔丫纸尿裤云仓系统源码部署(2020-10-15 18:13)
【计算机/互联网|】侏罗纪软件模式定制开发(2020-10-14 15:33)
【计算机/互联网|】S2b2C供应商系统 营销闭环(2020-10-10 17:46)
【计算机/互联网|程序设计开发】盛都汇系统奖励机制(2020-10-10 17:20)
【A8站-免费源码分享|网站源码】积分商城系统APP开发(2020-09-23 14:56)
联系我们
Q Q:3101359898 点击直接对话
电话:18580901894
邮箱:admin#a8zhan.com
时间:09:00 - 24:00
手机二维码 访问手机版
返回顶部