VODは、オーディオとビデオをブラウザからアップロードするシナリオ向けに、Webアップロード用SDKを提供しています。SDKソースコードが必要な場合は、SDKソースコード にアクセスしてください。
webpackを使用しない場合は、scriptタグ方式によってインポートすることができます。この方法では、グローバル変数TcVod
が公開されます。scriptをインポートするには、次の2つの方法があります。
<script src="./vod-js-sdk-v6.js"></script>
説明:インポートパスはローカル保存先のパスにご自身で変更してください。
<script src="https://cdn-go.cn/cdn/vod-js-sdk-v6/latest/vod-js-sdk-v6.js"></script>
ここをクリックして、scriptによってインポートされたDemoをご確認ください。ここをクリックして、Demoソースコードをご確認ください。
webpackを使用する場合(VueやReactなど)は、npmを介してインポートできます。
// npm install vod-js-sdk-v6を実行した後に、importを実行してページに直接インポートします。
import TcVod from 'vod-js-sdk-v6'
ここをクリック して、npmによってインポートされたDemoソースコードをご確認ください。
注意:SDKはPromiseに依存しています。低いバージョンのブラウザではご自身でインポートしてください。
function getSignature() {
return axios.post(url).then(function (response) {
return response.data.signature;
})
};
説明:
url
は、署名配布サービスのURLです。その他の関連情報については、クライアントからのアップロードガイド をご参照ください。signature
の計算ルールについては、クライアントからのアップロード署名をご参照ください。- サブアプリケーション、ビデオファイルカテゴリー、タスクフローなどの情報はすべてアップロード署名に含まれています。その他の関連情報については、署名パラメータの説明をご参照ください。
// importによってインポートした場合、new TcVod(opts) を実行します
// new TcVod.default(opts) は、scriptによってインポートされます
const tcVod = new TcVod.default({
getSignature: getSignature // 前文で説明したアップロード署名を取得する関数です
})
const uploader = tcVod.upload({
mediaFile: mediaFile, // Fileタイプのメディアファイル(ビデオ、オーディオまたは画像)
})
uploader.on('media_progress', function(info) {
console.log(info.percent) // 進行状況
})
// コールバック結果の説明
// type doneResult = {
// fileId: string,
// video: {
// url: string
// },
// cover: {
// url: string
// }
// }
uploader.done().then(function (doneResult) {
// deal with doneResult
}).catch(function (err) {
// deal with error
})
説明:
new TcVod(opts)
のoptsは、このインターフェースに関連するパラメータを指します。 詳細については、TcVodインターフェースの説明 をご参照ください。- アップロード方法は、ファイルのサイズに応じて、通常アップロードとマルチパートアップロードが自動的に選択されます。マルチパートアップロードの各手順を気にすることなく、マルチパートアップロードを行うことができます。
- 指定されたサブアプリケーションにアップロードする必要がある場合は、サブアプリケーションシステム-クライアントからのアップロードをご参照ください。
const uploader = tcVod.upload({
mediaFile: mediaFile,
coverFile: coverFile,
})
uploader.done().then(function (doneResult) {
// deal with doneResult
})
SDKは、現在のアップロード進行状況をコールバック形式で表示します。
const uploader = tcVod.upload({
mediaFile: mediaFile,
coverFile: coverFile,
})
// ビデオのアップロードが完了したとき
uploader.on('media_upload', function(info) {
uploaderInfo.isVideoUploadSuccess = true;
})
// ビデオのアップロード進行状況
uploader.on('media_progress', function(info) {
uploaderInfo.progress = info.percent;
})
// カバーをアップロードしたとき
uploader.on('cover_upload', function(info) {
uploaderInfo.isCoverUploadSuccess = true;
})
// カバーのアップロード進行状況
uploader.on('cover_progress', function(info) {
uploaderInfo.coverProgress = info.percent;
})
uploader.done().then(function (doneResult) {
// deal with doneResult
})
xxx_upload
とxxx_progress
のコールバック値については、マルチパートアップロード/タスクのコピー操作をご参照ください。
SDKは、進行中のビデオまたはカバーのアップロードのキャンセルをサポートしています。
const uploader = tcVod.upload({
mediaFile: mediaFile,
coverFile: coverFile,
})
uploader.cancel()
SDKでは、自動的にアップロードを再開できます。追加の操作は必要ありません。アップロードが予期せず終了した場合(ブラウザが閉じた、ネットワークが中断したなど)、中断したポイントから再度アップロードを続行できるため、アップロードを繰り返す時間が短縮されます。
パラメータ名 | 入力必須 | タイプ | パラメータの説明 |
---|---|---|---|
getSignature | はい | Function | アップロード署名を取得するための関数。 |
appId | いいえ | number | 入力後、組み込みの統計レポートに自動的に反映されます。 |
reportId | いいえ | number | 入力後、組み込みの統計レポートに自動的に反映されます。 |
パラメータ名 | 入力必須 | タイプ | パラメータの説明 |
---|---|---|---|
mediaFile | いいえ | File | メディアファイル(ビデオ、オーディオまたは画像)。 |
coverFile | いいえ | File | カバーファイル。 |
mediaName | いいえ | string | メディアファイルのメタデータを上書きするファイル名。 |
fileId | いいえ | string | カバーを変更するときに渡されます。 |
reportId | いいえ | number | 入力後、組み込みの統計レポートに自動的に反映されます。コンストラクタの設定を上書きします。 |
fileParallelLimit | いいえ | number | 同じインスタンスでアップロードされたファイルの並列処理の数。デフォルト値は3です。 |
chunkParallelLimit | いいえ | number | 同じアップロードファイルのマルチパートの並列処理の数。デフォルト値は6です。 |
chunkRetryTimes | いいえ | number | マルチパートアップロードの場合、エラーの再試行回数。デフォルト値は2です(最初に追加すると、リクエストは合計3回になります) |
chunkSize | いいえ | number | マルチパートアップロードの場合、パーティションあたりのバイトのサイズ。デフォルト値は8388608 (8MB)です |
progressInterval | いいえ | number | アップロード進捗のコールバックメソッドonProgressのコールバック頻度。単位:ms、デフォルト値は1000です |
イベント名 | 入力必須 | イベントの説明 |
---|---|---|
media_upload | いいえ | メディアファイルのアップロードが成功したとき。 |
cover_upload | いいえ | カバーのアップロードが成功したとき。 |
media_progress | いいえ | メディアファイルのアップロードの進行状況。 |
cover_progress | いいえ | カバーファイルのアップロードの進行状況。 |
type
がfile
型のinput
タグを使用すると、File
オブジェクトを取得できます。uploader.cancel()
メソッドの呼び出しとなります。同様に、一時停止後のアップロード再開も、最初のtcVod.upload
メソッドを呼び出すことで実行されます。違いは、アップロードが再開されるときに呼び出されるメソッドのパラメータは、以前にキャッシュされたパラメータでなければならないという点です(例えば、グローバル変数を使用してアップロードの開始時にパラメータを保存して、アップロードの完了後にそれをクリアすることができます)。
この記事はお役に立ちましたか?