Giter Club home page Giter Club logo

zwboy97 / react-xrplayer Goto Github PK

View Code? Open in Web Editor NEW
49.0 2.0 16.0 13.38 MB

基于React、Three.js、WebGL、Tween.js等开发的全景互动直播播放器。支持全景视频点播与直播,支持三维模型、热点标签、全景漫游、弹窗视频等交互能力

Home Page: http://blog.zwboy.cn/react-xrplayer/jsdoc/index.html

License: MIT License

Dockerfile 0.07% HTML 1.19% JavaScript 97.14% Shell 0.03% CSS 0.32% Less 1.25%
panoramic panoramic-player panoramic-edit panoramic-live react

react-xrplayer's Introduction

XRPlayer XR全景互动直播React组件

downloads visitor status

一、关于


react-xrplayer 是一款功能丰富、架构合理的Web全景互动直播播放器。基于React以及Three.js等框架,以React组件方式输出能力。支持常见的全景直播能力,比如全景图片、点播以及直播,双目VR,热点标签点击、全景漫游等能力。


主页 | API | Demo | Todos

动机与愿景

目前常见的全景主要以全景图片或者全景视频为主,常用在静态的讲解介绍等场景,观完即走,互动性不足。

react-xrplayer 旨在将更多的内容和互动形式融合到全景中,支持全景视频直播、三维动画、三维模型、AR、WebVR等更丰富的XR能力。同时,react-xrplayer 不仅仅只是简单的全景播放器,同时还具备全景编辑能力,react-xrplayer在设计中还会充分考虑对编辑器的支持能力。

关联项目

基于react-xrplayer的关联项目

二、特性与规划

  • 支持全景图片、全景视频、全景直播。
  • 支持多种全景视角控制
  • 支持PC与移动端浏览器
  • 支持多种全景展示效果
  • 支持3D模型展示
  • 支持热点标签、视频弹窗、文本弹窗等
  • 支持双目VR展示与交互
  • 支持全景漫游
  • 支持标准化、格式化的参数编辑与导入导出(配套项目)
  • 支持远程实时控制(配套项目)

在线DEMO展示地址: react-xrplayer

P.S. 目前react-xrplayer仍处于原型开发阶段,不建议直接在生产环境中直接集成使用,敬请期待V1.0版本的发布。同时也欢迎一起讨论、设计以及贡献代码。

features-and-todos 这里更详细地记录了react-xrplayer的能力规划以及目前的支持情况,你可以查看相关feature的完成情况,同时也方便你了解当前react-xrplayer的开发进展,pick你感兴趣的todo,并贡献你的代码。

三、快速集成使用

1. 安装react-xrplayer库

npm install react-xrplayer

2. 以组件方式使用

import React from 'react';
import XRPlayer from 'react-xrplayer'
class App extends React.Component {
    render() {
        return (
            <div>
                <XRPlayer
                    width="100vw"
                    height="100vh"
                    scene_texture_resource={{
                        type: 'hls',
                        res_url: 'http://cache.utovr.com/s1e3tzoku70yk8mpa3/L3_5dxsrk4kh56gc4l1_v2.m3u8'
                    }}
                ></XRPlayer>
            </div>
        )
    }
}
export default App;

3. 详细接入与开发文档

更多丰富的功能实现,请查阅react-xrplayer的接口设计与开发文档

我们开始使用JSdoc来自动生成API文档,API

使用如下命令,生成JSDoc文档

npm run jsdoc

四、播放器架构

(播放器的架构设计图,待定)

五、运行代码

1. 安装依赖

npm install

2. 本地运行example

npm run start

浏览器打开地址http://localhost:3000/react-xrplayer

3. 编译React库

npm run compile

可选,生成的可发布到npm库位于/lib文件夹中

4. 打包项目

npm run build

可选,打包好的项目位于/build文件夹中

六、贡献代码

如何贡献您的代码

  1. Fork代码到您的github,并 git clone 到本地。
  2. 在添加您的代码之前,先切换到dev分支,并以dev分支为基,创建您的feature分支。
  3. 在feature分支上完成您的feature开发,提交到您的github,并merge到dev分支。
  4. 同步主仓库dev分支上的更新到您的dev分支。
  5. 检查是否存在冲突,如果存在,解决冲突。
  6. 从您的dev分支向主仓库的dev分支发起pull request。
  7. 我们会尽快回复您的pul request。

contributors

@zwboy @bigint405 @muyatian

react-xrplayer's People

Contributors

bigint405 avatar bigint406 avatar muyatian avatar zwboy97 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

react-xrplayer's Issues

问题咨询

你好!我是一名大二学生,最近对全景播放器很感兴趣,求交流,微信号 Ren-Hao-Yu

有问题请教探讨

你好,我也是全栈开发,最近也在关注音视频方向的开发,求交流,我微信号:yutou-963

问题咨询

您好,我想向你了解一下有关视频直播前后端这方面的知识,能给我一个联系方式吗

热点标签方案重构

目前的全景热点标签实现方案不够优秀,需要调研一下是否有更优秀的标签实现方案

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.