0.4.5 • Published 2 years ago

draken-sdk v0.4.5

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

Draken SDK

Install

yarn install

Usage

player

If you want to write using Reactjs, please refer to React Sample.

player.ts

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(公開設定の動画の場合必要無い)
  },
})
const videoRef = document.getElementById('video')
const player = draken.player(videoRef, {
  // 再生速度変更ボタンを非表示にする
  enablePlaybackRates: false,
  // 動画の再生再開機能を無効にする
  enablePlaybackResume: false,
  // <video> DOMのサイズの指定
  // 'fill': 親DOMのサイズに合わせる
  // 'fluid': 親DOMの横幅とvideoの横幅を合わせる
  // 'none': 指定なし(自分でカスタマイズする場合)
  layout: 'fill',
  // 動画ロード後の中央の再生ボタンを非表示にする
  bigPlayButton: false,
  // 動画下部のコントロール類を全て非表示にする
  controlBar: false,
})
player.load(contentID)

player.html

<video id="video"></video>

Create Content (upload)

upload.ts

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(required)
  },
})
const result = await draken.create(
  {
    name: 'Content Name',
    privacy: 'public',
    quality: 'high',
    description: 'Content Description',
  },
  file, // File
  ({ loaded, total }) => {
    // progress
  },
  (progressInfo) => {
    // progressInfoをlocalStorageなどに保存しておくことでアップロードが中断されても再開できる
    // 詳細はresumeUploadを参照
  }
)

Resume Upload

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(required)
  },
})
const result = await draken.resumeUpload(
  file,
  progressInfo, // createやresumeUploadを実行した際に保存しておいた`progressInfo`を指定する
  ({ loaded, total }) => {
    // progress
  },
  (progressInfo) => {
    // createと同様
  }
)

ReUpload

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(required)
  },
})
const result = await draken.resumeUpload(
  contentId,
  {
    quality: 'default',
    originalFileName: 'video_file_name.mp4',
  },
  file,
  ({ loaded, total }) => {
    // progress
  },
  (progressInfo) => {
    // createと同様
  }
)

Update Content

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(required)
  },
})
const result = await draken.update(
  contentId,
  {
    name: 'Content Name',
    description: 'Content Description',
    privacy: 'public',
    fromTime: '2000-01-01T00:00:00.000Z',
    toTime: '2000-01-02T00:00:00.000Z',
  }
)

Get Content

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(required)
  },
})
const content = await draken.get(contentId)

Delete Content

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(required)
  },
})
await draken.delete(contentId)

Download Video

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(required)
  },
})
const url = await draken.downloadVideo(contentId)

Upload Thumbnail

import draken from 'draken-sdk'
draken.configure({
  endpoint: 'https://draken.example.com/xxxxxx', // 管理画面から取得したREST API Endpoint URL,
  idToken: () => {
    // 管理画面で登録した連携しているIDプロバイダーのid tokenを返す(required)
  },
})
await draken.uploadThumbnail(contentId, file)

Author

👤 Asaichi, LLC. taichi@asaichi.co.jp (https://asaichi.co.jp/)

Show your support

Give a ⭐️ if this project helped you!

📝 License

Copyright © 2022 Asaichi, LLC. <taichi@asaichi.co.jp> (https://asaichi.co.jp/). This project is Apache--2.0 licensed.


This README was generated with ❤️ by readme-md-generator

0.4.5

2 years ago

0.4.4

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.3.6

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.0

2 years ago