0.4.5 • Published 2 years ago
draken-sdk v0.4.5
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/)
- Github: @asaichi2017
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