Git Product home page Git Product logo

ksvsshortvideokit_android's Introduction

金山云短视频解决方案 KSVSShortVideo_Android

Download

1 简述

短视频解决方案专为客户提供端到云到端的一站式解决方案。集视频采集、编辑、上传、转码、存储、智能推荐算法、播放SDK等于一体的真正意义上的一站式SAAS级解决方案。

短视频SDK提供了视频采集,实时美颜,专业滤镜,支持视频画面比例裁剪,支持断点续拍,录制变速,多视频导入等功能。

短视频服务也支持定制化,用户自行定制UI和界面,充分与业务整合,实现业务的快速发展。 金山云短视频服务,以重运营,轻研发的服务理念,让您避免复杂的架构设计和编程开发,极大地降低技术对接成本。 image1

2 项目架构

短视频解决方案架构图如下:

image

2.1 架构流程描述

  • APP 集成时,需要先鉴权才能使用短视频解决方案后续功能
  • 短视频解决方案包含推荐页、播放页、录制页等等特别漂亮绚丽的展示效果
  • 解决方案也包含上传头像、查询删除已上传视频等接口
  • 解决方案借助于短视频SDK、金山云存储等实现短视频录制、编辑、上传、播放等功能
  • 短视频解决方案有一个高大上的视频推荐算法,为每个用户推荐喜爱的视频

2.2 鉴权流程

短视频解决方案有一个更加安全、合理的鉴权方案,保证APP以及用户数据的安全。具体的鉴权流程如下:

  1. 申请SDK Token并且调用SDK提供的鉴权接口
  2. APP 向解决方案提供User Token,可以增加二次鉴权逻辑。(注:User Token 可以不提供)
  3. 解决方案向SDK Server 验证SDK Token是否正确
  4. SDK Server 向APP Server验证User Token 是否正确

鉴权流程图解如下:

image

2.3 高大上的推荐算法

短视频解决方案提供完整的推荐算法,可以让每个用户都能看到自己喜爱的视频。推荐算法准确性相关因素:

  1. 点赞信息
  2. 播放记录
  3. 用户上传视频时,视频名称、视频标签等对点赞都有影响

3 功能介绍

  • 短视频SDK

  • 实时美颜:支持录制时,开启关闭美颜效果

  • 实时滤镜:支持录制时添加滤镜效果

  • 定时拍:录制时延迟拍摄

  • 闪光灯:

  • 变焦:

  • 对焦、爆光度

  • 摄像头切换

  • 断点续拍、回删:支持断点拍摄及任意一段视频的删除

  • 单视频导入

  • 视频裁剪:支持视频时长裁剪,支持视频画面比例裁剪,支持填充和裁剪两种模式

  • 实时音乐

  • 音量调节:支持原声、背景音乐调整,支持静音处理

  • 录制变速:录制时支持变速功能,支持音乐变速功能

  • 滤镜:支持编辑时添加滤镜效果

  • 自定义时长:支持自定义设置最短和最长录制时长

  • 金山云存储

  • 金山云转码

  • 智能推荐

4 接入流程

4.1 申请流程

  1. 若购买短视频解决方案套餐包,需进入金山云短视频解决方案官网,点击“购买套餐包”,确认购买,填写表单信息,授权token会以邮件的形式提供。
  2. 若单独购买短视频SDK,联系金山云销售进行授权申请,或者直接拨打:62927777 转 5120

4.2 集成流程

  1. 从github下载AAR文件或者直接使用jcenter依赖。

     github 地址:https://github.com/ksvc/KSVSShortVideoKit_Android
     gradle 依赖: compile 'com.ksyun.ts:ShortVideoKit:1.0.0'
    
  2. 通过jcenter依赖其他相关项目

      // ui 需要
      compile 'com.android.support:appcompat-v7:26.+'
      compile 'com.android.support.constraint:constraint-layout:1.0.2'
      compile 'com.github.bumptech.glide:glide:3.7.0'
      compile 'com.android.support:design:26.+'
      compile 'com.android.support:support-v4:26.+'
      compile 'com.jwenfeng.pulltorefresh:library:1.2.7'
    
      // 短视频SDK
      compile 'com.ksyun.media:libksysv-java:2.0.0'
      compile 'com.ksyun.media:libksysv-arm64:2.0.0'
      compile 'com.ksyun.media:libksysv-armv7a:2.0.0'
      compile 'com.ksyun.media:libksysv-x86:2.0.0'
      // KS3 上传需要
      compile 'com.android.volley:volley:1.0.0'
      compile 'com.ksyun.ks3:ks3androidsdk:1.4.1'
      // 魔方贴纸
      compile 'com.ksyun.mc:libkmcfilter_sensetime:1.0.5'
      compile 'com.ksyun.mc:SenseTimeAR:1.0.4'
      // kts需要
      compile 'io.reactivex.rxjava2:rxjava:2.0.1'
      compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
      compile 'com.squareup.retrofit2:retrofit:2.3.0'
      compile 'com.squareup.retrofit2:converter-gson:2.3.0'
      compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
      compile 'com.squareup.okhttp3:okhttp:3.9.0'
    
    
  3. 在AndroidManifest文件中,注册所需要的权限

       <uses-permission android:name="android.permission.READ_PHONE_STATE" />
       <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
       <uses-permission android:name="android.permission.INTERNET" />
       <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
       <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
       <uses-permission android:name="android.permission.READ_PHONE_SINTERNETWIFI_STATE" />
       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
       <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
       <uses-permission android:name="android.permission.CAMERA" />
       <uses-permission android:name="android.permission.RECORD_AUDIO" />
       <uses-permission android:name="android.permission.FLASHLIGHT" />
       <uses-permission android:name="android.permission.READ_LOGS" />
       <uses-permission android:name="android.permission.GET_TASKS" />
       <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
       <uses-permission android:name="android.permission.WAKE_LOCK" />
       <uses-feature android:name="android.hardware.camera" />
       <uses-feature android:name="android.hardware.camera.autofocus" />
    
  4. 在AndroidManifest文件中,申请相关的Activity

       <activity
          android:name="com.ksyun.ts.skin.KSVSShortVideoLocalVideoActivity"
          android:configChanges="keyboardHidden|orientation|screenSize"
          android:screenOrientation="portrait">
    
       </activity>
       <activity
          android:name="com.ksyun.ts.skin.KSVSShortVideoRecordingActivity"
          android:configChanges="keyboardHidden|orientation|screenSize"
          android:screenOrientation="portrait">
    
       </activity>
       <activity
           android:name="com.ksyun.ts.skin.KSVSShortVideoEditorActivity"
           android:configChanges="keyboardHidden|orientation|screenSize"
           android:screenOrientation="portrait">
    
        </activity>
        <activity
           android:name="com.ksyun.ts.skin.KSVSShortVideoMusicActivity"
           android:configChanges="keyboardHidden|orientation|screenSize"
           android:screenOrientation="portrait">
    
         </activity>
         <activity
            android:name="com.ksyun.ts.skin.KSVSShortVideoUploadActivity"
            android:configChanges="orientation|keyboard"
            android:screenOrientation="portrait">
    
         </activity>
         <activity
            android:name="com.ksyun.ts.skin.KSVSShortVideoCoverActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait">
    
         </activity>
         <activity
             android:name="com.ksyun.ts.skin.KSVSShortVideoTagActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
             android:screenOrientation="portrait">
    
         </activity>
         <activity
             android:name="com.ksyun.ts.skin.KSVSShortVideoPlayerActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
             android:screenOrientation="portrait">
    
         </activity>
    
  5. 具体的接口使用,请在WIKI查看:wiki

5 反馈与建议

5.1 反馈模版

类型 描述
SDK名称 KSVSShortVideoKit_Android
SDK版本 v1.0.0
设备型号 oppo r9s
OS版本 Android 6.0.1
问题描述 描述问题出现的现象
操作描述 描述经过如何操作出现上述问题
额外附件 文本形式控制台log、crash报告、其他辅助信息(界面截屏或录像等)

5.2 短视频解决方案咨询

金山云官方产品客服,帮您快速了解对接金山云短视频解决方案:

image

5.3 联系方式

ksvsshortvideokit_android's People

Contributors

sujia avatar wang12 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

ksvsshortvideokit_android's Issues

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.