tencent cloud

フィードバック

Node.js SDK

最終更新日: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 リソースが存在しません。
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)