Giter Site home page Giter Site logo

volcengine / vevoddemo-android Goto Github PK

View Code? Open in Web Editor NEW
39.0 4.0 9.0 9.41 MB

火山引擎点播 SDK 使用和抖音、西瓜同样的播放内核,稳定性和性能经过内部验证。Demo 展示抖音短视频场景下使用预加载、预渲染策略,同时拥有类似西瓜视频的中、长视频场景,实现一个比较好的首帧效果。

Home Page: https://www.volcengine.com/product/vod

License: Apache License 2.0

Java 100.00%
bytedance player video android douyin

vevoddemo-android's Introduction

VEVodDemo-android

VEVodDemo-android 是火山引擎视频云点播 SDK Android 端的开源 Demo. 我们提供了 场景控件层(vod-scenekit) 帮助业务快速搭建常见的点播场景。

Demo 中实现了常见的三种播放场景:

  • 短视频场景(Short Video)- 类抖音首页竖版视频场景
  • 中视频场景(Feed Video) - 类西瓜视频 Feed 视频流场景
  • 长视频场景(Long Video) - 类爱奇艺/腾讯视频/优酷视频的电视剧/电影场景

针对短视频、中视频场景,我们提供了 短视频场景控件中视频场景控件 进一步简化接入。 业务可将 vod-scenekit 模块引入工程,添加数据源即可快速搭建播放场景。无需关心播放器如何使用。

目录结构

|--VEVodDemo-android
|--|--app               // 主 app (壳工程)
|--|--vod-demo-api      // vod-demo 模块与壳工程交互接口(组件化)
|--|--vod-demo          // 业务 demo 层
|--|--vod-scenekit      // 场景控件层
|--|--vod-playerkit     // 播放控件层
|--|--vod-settingskit   // 播放设置模块

编译运行

  1. Demo 需要设置 AppId 和 License 才能成功运行,否则会抛出异常。 请联系火山引擎商务获取体验 License 文件和 AppId。获取到 License 文件后请将 License 放置在 app 的 assets 文件夹中。

设置方式:

修改 VEVodDemo-android/app/src/main/java/com/bytedance/volc/voddemo/App.java

public class App extends Application {
   private static final String APP_ID = "your app id";
   // 比如:VEVodDemo-android/app/assets/license2/vod.lic 路径下的 assets uri 对应为:assets:///license2/vod.lic
   private static final String LICENSE_URI = "your license assets uri";
   // ... 省略
}
  1. Android Studio 打开 VEVodDemo-android 文件夹,点击运行 app.

快速接入

我们提供了三种接入方式,接入方可以根据自己使用场景,选择接入。

  1. 场景控件层接入
  2. 播放控件层接入
  3. 播放器 SDK 接入

接入建议:

  1. 复用业务已有 短视频流 / Feed 流?
  2. 复用业务已有视频控件 UI 代码和播放器封装层代码?

依赖分层

Tips:依赖图 + 核心类的关系可以帮助开发者快速熟悉 Demo 工程结构!

业务 Demo 层(vod-demo)

场景页面

场景页面 = 场景控件 + 业务 API 数据获取

场景控件层 (vod-scenekit)

场景控件

场景控件 = 页面控件 + 下拉刷新控件 + 上拉加载控件

页面控件

页面控件 = RecyclerView/ViewPager2 + 播放控件

播放控件层 (vod-playerkit

播放器接口层 (vod-player

火山引擎播放器实现层 (vod-player-volcengine)

Issue

有任何问题可以提交 github issue,我们会定期 check 解决。

PullRequests

暂不接受 PullRequests。

火山引擎点播 SDK 官网文档

License

Copyright 2021 bytedance

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

vevoddemo-android's People

Contributors

ctxdfg avatar frank-bd avatar kun-coding 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

Watchers

 avatar  avatar  avatar  avatar

vevoddemo-android's Issues

Demo运行后看不了视频

点击短视频、中视频、长视频都Toast提示“java.net.UnkownHostException:Unable to resolve host "vevod-demo-server.volcvod.com":No address associated with hostname”

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.