JMGL_PANO
star_war_eve source 1
star_war_eve source 2
1. 介绍
JMGL_PANO 是Justin开源的一个全景视频播放器(Github)。基于硬件加速的视频解码和OpenGL渲染。仅供个人学习使用,商业使用请联系作者(Justin’s Email: mojing1999@gmail.com)
2. 相关库
OpenGL – OpenGL V3.3
GLEW – OpenGL核心库操作
GLFW – 和window相关操作
FFmpeg – 媒体解码库
pthread – 线程库
Intel Media SDK – 解码库
NV CUDA – 解码库
Video codec – 作者基于硬件加速的视频库
AnyOption- http://www.hackorama.com/anyoption/
3. 框架结构
FFmpeg/video_codec 媒体处理,输出YUV420图像
OpenGL 创建模型,贴图,渲染
GLFW 创建显示窗口,处理鼠标键盘输入
4. 使用
Usage: jmgl_pano [option] input_file
option: -d decode type, user can select decode library.
0: Auto, 1: Nvidia, 2: Intel, 3: ffmpeg
switch view mode by keyboard input:
F1 : Rectilinear
F2 : Mirror Ball
F3 : Fisheye
F4 : Little Planet
‘a’ : Auto rotation
‘t’ : Stop auto rotation
程序截图
全景预览
水晶球
大专栏 OpenGL Panorama Player>
鱼眼
小行星
5. TODO list
处理键盘输入
处理鼠标输入
处理触摸屏输入
全景模式变换
全景浏览
鱼眼模式
水晶球模式
小行星模式
优化OpenGL渲染
媒体文件硬解码支持
贴图编码
注: 本页JPEG图片使用Google guetzli 工具压缩,压缩时间太长,压缩率还可以接受。