[OpenGL]从零开始写一个Android平台下的全景视频播放器——目录

 

[OpenGL]从零开始写一个Android平台下的全景视频播放器——目录

标签: androidOpenGL全景视频Panorama360video
  5115人阅读  评论(33)  收藏  举报

目录(?)[+]

Github项目地址

为了方便没有准备好梯子的同学,我把项目在CSDN上打包下载,不过不会继续更新(保留在初始版本)

先放一张效果图: 
播放界面

Youtube 
优酷

前言

Android平台下的全景视频(360,Panorama video)播放器是去年年底留的坑,那个时候对于OpenGL ES了解有限,而且现有的开源代码也不多(那个时候UtoVR SDK也还没发布),现有的解决方案像PanoramaGL,Panframe之类的都不能满足要求(Panframe居然连个缩放都没有!!) 
2016年是不是VR元年,我不知道。但是全景视频作为用户体验VR的最廉价途径,还是有不少公司纷纷上马的。 
2016年初开源的MD360播放器是一个很好的工程实现,支持的功能也很丰富,适合实际应用(虽然也有一堆的坑没有填,还没有对应的文档) 
之所以要写这个系列的博客,是因为我发现大部分想要做全景视频播放器的同学,或者一些现有的开源库(例如MD360)的使用者并不知道自己在干什么,该怎么做,或者说对于相关的概念一知半解。如果你对全景视频的播放原理或者对OpenGL ES感兴趣,这个系列的博客可能会对你有帮助。

由于项目的代码已经和教程有较大差异,只是想学习原理的可以在这里下载(CSDN,不要积分)基础功能的示例代码。

请注意,本文假定读者有一定的Android开发基础(没有OpenGL ES的基础没有关系)

目录

  1. 从OpenGL ES 2.0开始 
    1.1 OpenGL ES 2.0基础知识 
    1.2 用OpenGL ES 2.0画一个三角形 
    1.3 用OpenGL ES 2.0显示一张图片(上) 
    1.4 用OpenGL ES 2.0显示一张图片(下)
  2. MediaPlayer播放视频 
    2.1 使用GLSurfaceView和MediaPlayer播放一个平面视频(上) 
    2.2 使用GLSurfaceView和MediaPlayer播放一个平面视频(中) 
    2.3 使用GLSurfaceView和MediaPlayer播放一个平面视频(下)
  3. 全景视频的原理 
    3.1 全景视频是如何实现的 
    3.2 使用OpenGL ES 2.0绘制一个球
  4. 传感器事件以及坐标系 
    4.1 传感器类型以及数据收集方法 
    4.2 屏幕朝向,手机姿态的相关概念 
    4.3 怎么都搞不清楚的几个坐标系
  5. 全景视频播放器制作 
    5.1 使用OpenGL把全景视频贴到球上 
    5.2 使用旋转矢量传感器改变球的朝向 
    5.3 如何实现分屏效果 
    5.4 响应用户的单指触控事件(平移) 
    5.5 响应用户的多指触控事件(缩放) 
    5.6 播放器的UI制作 
    5.7 使用OpenGL ES接口保存屏幕截图 
    5.8 使用MediaPlayer播放在线视频
  6. (未完待续)

Github项目地址

Github项目地址

为了方便没有准备好梯子的同学,我把项目在CSDN上打包下载,不过不会继续更新(保留在初始版本)

先放一张效果图: 
播放界面

Youtube 
优酷

前言

Android平台下的全景视频(360,Panorama video)播放器是去年年底留的坑,那个时候对于OpenGL ES了解有限,而且现有的开源代码也不多(那个时候UtoVR SDK也还没发布),现有的解决方案像PanoramaGL,Panframe之类的都不能满足要求(Panframe居然连个缩放都没有!!) 
2016年是不是VR元年,我不知道。但是全景视频作为用户体验VR的最廉价途径,还是有不少公司纷纷上马的。 
2016年初开源的MD360播放器是一个很好的工程实现,支持的功能也很丰富,适合实际应用(虽然也有一堆的坑没有填,还没有对应的文档) 
之所以要写这个系列的博客,是因为我发现大部分想要做全景视频播放器的同学,或者一些现有的开源库(例如MD360)的使用者并不知道自己在干什么,该怎么做,或者说对于相关的概念一知半解。如果你对全景视频的播放原理或者对OpenGL ES感兴趣,这个系列的博客可能会对你有帮助。

由于项目的代码已经和教程有较大差异,只是想学习原理的可以在这里下载(CSDN,不要积分)基础功能的示例代码。

请注意,本文假定读者有一定的Android开发基础(没有OpenGL ES的基础没有关系)

目录

  1. 从OpenGL ES 2.0开始 
    1.1 OpenGL ES 2.0基础知识 
    1.2 用OpenGL ES 2.0画一个三角形 
    1.3 用OpenGL ES 2.0显示一张图片(上) 
    1.4 用OpenGL ES 2.0显示一张图片(下)
  2. MediaPlayer播放视频 
    2.1 使用GLSurfaceView和MediaPlayer播放一个平面视频(上) 
    2.2 使用GLSurfaceView和MediaPlayer播放一个平面视频(中) 
    2.3 使用GLSurfaceView和MediaPlayer播放一个平面视频(下)
  3. 全景视频的原理 
    3.1 全景视频是如何实现的 
    3.2 使用OpenGL ES 2.0绘制一个球
  4. 传感器事件以及坐标系 
    4.1 传感器类型以及数据收集方法 
    4.2 屏幕朝向,手机姿态的相关概念 
    4.3 怎么都搞不清楚的几个坐标系
  5. 全景视频播放器制作 
    5.1 使用OpenGL把全景视频贴到球上 
    5.2 使用旋转矢量传感器改变球的朝向 
    5.3 如何实现分屏效果 
    5.4 响应用户的单指触控事件(平移) 
    5.5 响应用户的多指触控事件(缩放) 
    5.6 播放器的UI制作 
    5.7 使用OpenGL ES接口保存屏幕截图 
    5.8 使用MediaPlayer播放在线视频
  6. (未完待续)

Github项目地址

猜你喜欢

转载自blog.csdn.net/u010652002/article/details/78028064