tencent cloud

Video on Demand

Node.js SDK

PDF
フォーカスモード
フォントサイズ
最終更新日: 2023-10-26 17:31:32
サーバーでのビデオアップロードのシナリオを実現させるために、VODではNode SDKを提供しています。アップロードのフローは、サーバーからのアップロードガイドをご参照ください。

統合方式

npmを使用してインストール

npm i vod-node-sdk --save

ソースコードパッケージによるインストール

プロジェクトの中でnpmツールを使用して依存管理を行なっていない場合は、ソースコードを直接ダウンロードし、プロジェクトの中にインポートして使用することができます。

シンプルビデオアップロード

アップロードオブジェクトの初期化

Tencent Cloud APIキーを使用して、VodUploadClientインスタンスを初期化します。
const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');

client = new VodUploadClient("your secretId", "your secretKey");

アップロードリクエストのオブジェクト作成

let req = new VodUploadRequest();
req.MediaFilePath = "/data/file/Wildlife.mp4";

アップロードの呼び出し

アップロードメソッドを呼び出して、アクセスポイントリージョンおよびアップロードリクエストを渡し、コールバック方式によって戻ってきた情報を取得します。
client.upload("ap-guangzhou", req, function (err, data) {
if (err) {
// サービス異常の処理
console.log(err)
} else {
// アップロード成功後の情報の取得
console.log(data.FileId);
console.log(data.MediaUrl);
}
});
説明:
アップロード方法は、ファイルのサイズに応じて、通常アップロードとマルチパートアップロードが自動的に選択されます。マルチパートアップロードの各手順を気にすることなく、マルチパートアップロードを行うことができます。

高度な機能

カバーの付加

const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');

client = new VodUploadClient("your secretId", "your secretKey");
let req = new VodUploadRequest();
req.MediaFilePath = "/data/file/Wildlife.mp4";
req.CoverFilePath = "/data/file/Wildlife-cover.png";
client.upload("ap-guangzhou", req, function (err, data) {
if (err) {
// サービス異常の処理
console.log(err)
} else {
// アップロード成功後の情報の取得
console.log(data.FileId);
console.log(data.MediaUrl);
console.log(data.CoverUrl);
}
});

タスクフローの指定

まず、タスクフローテンプレートの作成、およびテンプレートに対する命名を行います。タスクフロー時に、このタスクフローテンプレート名を使用してProcedureパラメータを設定すれば、アップロード成功後、タスクフローを自動的に実行することができます。
const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');

client = new VodUploadClient("your secretId", "your secretKey");
let req = new VodUploadRequest();
req.MediaFilePath = "/data/file/Wildlife.mp4";
req.Procedure = "Your Procedure Name";
client.upload("ap-guangzhou", req, function (err, data) {
if (err) {
// サービス異常の処理
console.log(err)
} else {
// アップロード成功後の情報の取得
console.log(data.FileId);
console.log(data.MediaUrl);
}
});

サブアプリケーションのアップロード

サブアプリケーションIDを渡します。アップロード成功後、リソースは具体的なサブアプリケーションにのみ属します。
const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');

client = new VodUploadClient("your secretId", "your secretKey");
let req = new VodUploadRequest();
req.MediaFilePath = "/data/file/Wildlife.mp4";
req.SubAppId = 101;
client.upload("ap-guangzhou", req, function (err, data) {
if (err) {
// サービス異常の処理
console.log(err)
} else {
// アップロード成功後の情報の取得
console.log(data.FileId);
console.log(data.MediaUrl);
}
});

ストレージリージョンの指定

コンソールで目標ストレージリージョンがアクティブ化されているか確認します。アクティブ化されていない場合は、アップロードストレージ設定を参考とすることができます。最後に、StorageRegionの属性によって、ストレージリージョンの 英語の略称を設定します。
const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');

client = new VodUploadClient("your secretId", "your secretKey");
let req = new VodUploadRequest();
req.MediaFilePath = "/data/file/Wildlife.mp4";
req.StorageRegion = "ap-chongqing";
client.upload("ap-guangzhou", req, function (err, data) {
if (err) {
// サービス異常の処理
console.log(err)
} else {
// アップロード成功後の情報の取得
console.log(data.FileId);
console.log(data.MediaUrl);
}
});

一時的な証明書の使用によるアップロード

一時的な証明書の関連キー情報を渡し、一時的な証明書を使用して身分を検証し、アップロードします。
const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');

client = new VodUploadClient("Credentials TmpSecretId", "Credentials TmpSecretKey", "Credentials Token");
let req = new VodUploadRequest();
req.MediaFilePath = "/data/file/Wildlife.mp4";
client.upload("ap-guangzhou", req, function (err, data) {
if (err) {
// サービス異常の処理
console.log(err)
} else {
// アップロード成功後の情報の取得
console.log(data.FileId);
console.log(data.MediaUrl);
}
});

アダプティブビットレートストリーミング(ABS)ファイルのアップロード

このSDKでアップロードをサポートするABS形式のパッケージにはHLSとDASHがあります。manifest(M3U8またはMPD)で引用するメディアファイルは、必ず相対パスとし(URLおよび絶対パスは不可)、同時にmanifestと同じクラスのディレクトリまたは下の階層のディレクトリに置く必要があります(../は使用不可)。SDKのアップロードインターフェースを呼び出す時に、MediaFilePathパラメータにmanifest パスを入力すると、SDKが関連するメディアファイルリストを解析し、一緒にアップロードします。
const { VodUploadClient, VodUploadRequest } = require('vod-node-sdk');

client = new VodUploadClient("your secretId", "your secretKey");
let req = new VodUploadRequest();
req.MediaFilePath = "/data/file/prog_index.m3u8";
client.upload("ap-guangzhou", req, function (err, data) {
if (err) {
// サービス異常の処理
console.log(err)
} else {
// アップロード成功後の情報の取得
console.log(data.FileId);
console.log(data.MediaUrl);
}
});

インターフェースの説明

アップロードクライアントクラスVodUploadClient
属性名
属性説明
タイプ
入力必須
secretId
Tencent Cloud APIキーID。
String
はい
secretKey
Tencent Cloud API Key。
String
はい
アップロードリクエストクラスVodUploadRequest
属性名
属性説明
タイプ
入力必須
MediaFilePath
アップロード予定のメディアファイルパス。ローカルパス(ユーザーサーバー上のパス)にする必要があります。URLはサポートしていません。
String
はい
SubAppId
VOD サブアプリケーションID。サブアプリケーションの中のリソースにアクセスしたい場合は、このフィールドにサブアプリケーションIDを入力します。アクセスしない場合、このフィールドは入力不要です。
Integer
いいえ
MediaType
アップロード予定のメディアファイルタイプ。選択可能なタイプの詳細は、ビデオアップロードの概要をご参照ください。MediaFilePathに拡張子が付いている場合は入力不要です。
String
いいえ
MediaName
アップロード後のメディアの名前。入力しない場合は、デフォルトでMediaFilePathのファイル名を採用します。
String
いいえ
CoverFilePath
アップロード予定のカバーファイルパス。ローカルパス(ユーザーサーバー上のパス)にする必要があります。URLはサポートしていません。
String
いいえ
CoverType
アップロード予定のカバーファイルタイプ。選択可能なタイプの詳細は、ビデオアップロードの概要をご参照ください。CoverFilePathに拡張子が付いている場合は入力不要です。
String
いいえ
Procedure
アップロード後に自動的に実行させたいタスクフロー名。このパラメータは、タスクフローの作成(API方式 またはコンソール方式)時にユーザーが指定します。具体的な内容は、タスクフロー概要をご参照ください。
String
いいえ
ExpireTime
メディアファイルの‘’。表記形式はISO 8601規格に準拠します。詳細については、ISO日時表記形式の説明をご参照ください。
String
いいえ
ClassId
カテゴリーID。メディアのカテゴリー管理に使用します。カテゴリー作成 インターフェースによってカテゴリーを作成し、カテゴリーIDを取得することができます。
Integer
いいえ
SourceContext
ソースコンテキスト。ユーザーリクエスト情報のパススルーに使用します。アップロードコールバックインターフェースは、このフィールドの値を戻します。最長250文字。
String
いいえ
StorageRegion
ストレージリージョン。ストレージを予定/希望するリージョンを指定します。このフィールドにはストレージリージョンの英語の略称を入力します。
String
いいえ
アップロードレスポンスクラスVodUploadResponse
属性名
属性説明
タイプ
FileId
メディアファイルの一意の標識。
String
MediaUrl
メディア再生アドレス。
String
CoverUrl
メディアカバーアドレス。
String
RequestId
一意のリクエストID。リクエストごとに返されます。問題を特定する時はその回のリクエストのRequestIdを提供する必要があります。
String
アップロードメソッドVodUploadClient.upload(String region, VodUploadRequest request, function callback)
パラメータ名
パラメータの説明
タイプ
入力必須
region
アクセスポイントリージョン。どのリージョンのVODサーバーにリクエストするかであり、ストレージリージョンとは異なります。具体的な内容は、サポートするリージョンリストをご参照ください。
String
はい
request
アップロードリクエスト。
VodUploadRequest
はい
callback
アップロード完了コールバック関数。
function
はい
アップロード完了コールバック関数function(err, data)
パラメータ名
パラメータの説明
タイプ
入力必須
err
エラー情報。
Exception
はい
data
アップロードレスポンスの結果。
VodUploadResponse
はい

エラーコードリスト

ステータスコード
意味
InternalError
内部エラー。
InvalidParameter.ExpireTime
パラメータ値のエラー:期限。
InvalidParameterValue.CoverType
パラメータ値のエラー:カバーのタイプ。
InvalidParameterValue.MediaType
パラメータ値のエラー:メディアタイプ。
InvalidParameterValue.SubAppId
パラメータ値のエラー:サブアプリケーションID。
InvalidParameterValue.VodSessionKey
パラメータ値のエラー:VODセッション。
ResourceNotFound
リソースが存在しません。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック