tencent cloud

フィードバック

最終更新日:2023-10-26 17:31:32

    サーバーでのビデオアップロードのシナリオを実現させるために、VODではPHP SDKを提供しています。アップロードのフローは、サーバーからのアップロードガイドをご参照ください。

    統合方式

    composerを使用してインポート

    {
        "require": {
            "qcloud/vod-sdk-v5": "v2.4.0"
        }
    }
    

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

    1. プロジェクトの中で依存管理用のcomposerツールを使用していない場合は、Githubからアクセスでソースコードを直接ダウンロードして、プロジェクトにインポートすると使用できます。
    2. vod-sdk.zipファイルをプロジェクトの中で解凍し、autoload.phpファイルをインポートすれば使用できます。

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

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

    Tencent Cloud APIキーを使用して、VodUploadClientインスタンスを初期化します。

    composerを使用してインポート

    <?php
    require 'vendor/autoload.php';
    
    use Vod\VodUploadClient;
    
    $client = new VodUploadClient("your secretId", "your secretKey");
    

    ソースコードを使用してインポート

    <?php
    require 'vod-sdk-v5/autoload.php';
    
    use Vod\VodUploadClient;
    
    $client = new VodUploadClient("your secretId", "your secretKey");
    

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

    use Vod\Model\VodUploadRequest;
    
    $req = new VodUploadRequest();
    $req->MediaFilePath = "/data/videos/Wildlife.wmv";
    

    アップロードの呼び出し

    アップロードメソッドを呼び出し、アクセスポイントリージョンおよびアップロードリクエストを渡します。

    try {
        $rsp = $client->upload("ap-guangzhou", $req);
        echo "FileId -> ". $rsp->FileId . "\n";
        echo "MediaUrl -> ". $rsp->MediaUrl . "\n";
    } catch (Exception $e) {
        // アップロード異常の処理
        echo $e;
    }
    
    説明:

    アップロード方法は、ファイルのサイズに応じて、通常アップロードとマルチパートアップロードが自動的に選択されます。マルチパートアップロードの各手順を気にすることなく、マルチパートアップロードを行うことができます。

    高度な機能

    カバーの付加

    <?php
    require 'vendor/autoload.php';
    
    use Vod\VodUploadClient;
    use Vod\Model\VodUploadRequest;
    
    $client = new VodUploadClient("your secretId", "your secretKey");
    $req = new VodUploadRequest();
    $req->MediaFilePath = "/data/videos/Wildlife.wmv";
    $req->CoverFilePath = "/data/videos/Wildlife-Cover.png";
    try {
        $rsp = $client->upload("ap-guangzhou", $req);
        echo "FileId -> ". $rsp->FileId . "\n";
        echo "MediaUrl -> ". $rsp->MediaUrl . "\n";
        echo "CoverUrl -> ". $rsp->CoverUrl . "\n";
    } catch (Exception $e) {
        // アップロード異常の処理
        echo $e;
    }
    

    タスクフローの指定

    まず、タスクフローテンプレートの作成、およびテンプレートに対する命名を行います。タスクフロー時に、このタスクフローテンプレート名を使用してProcedureパラメータを設定すれば、アップロード成功後、タスクフローを自動的に実行することができます。

    <?php
    require 'vendor/autoload.php';
    
    use Vod\VodUploadClient;
    use Vod\Model\VodUploadRequest;
    
    $client = new VodUploadClient("your secretId", "your secretKey");
    $req = new VodUploadRequest();
    $req->MediaFilePath = "/data/videos/Wildlife.wmv";
    $req->Procedure = "Your Procedure Name";
    try {
        $rsp = $client->upload("ap-guangzhou", $req);
        echo "FileId -> ". $rsp->FileId . "\n";
        echo "MediaUrl -> ". $rsp->MediaUrl . "\n";
    } catch (Exception $e) {
        // アップロード異常の処理
        echo $e;
    }
    

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

    サブアプリケーションIDを渡します。アップロード成功後、リソースは具体的なサブアプリケーションにのみ属します。

    <?php
    require 'vendor/autoload.php';
    
    use Vod\VodUploadClient;
    use Vod\Model\VodUploadRequest;
    
    $client = new VodUploadClient("your secretId", "your secretKey");
    $req = new VodUploadRequest();
    $req->MediaFilePath = "/data/videos/Wildlife.wmv";
    $req->SubAppId = 101;
    try {
        $rsp = $client->upload("ap-guangzhou", $req);
        echo "FileId -> ". $rsp->FileId . "\n";
        echo "MediaUrl -> ". $rsp->MediaUrl . "\n";
    } catch (Exception $e) {
        // アップロード異常の処理
        echo $e;
    }
    

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

    コンソールで目標ストレージリージョンがアクティブ化されているか確認します。アクティブ化されていない場合は、アップロードストレージ設定をご参照ください。最後に、StorageRegionの属性によって、ストレージリージョンの 英語の略称を設定します。

    <?php
    require 'vendor/autoload.php';
    
    use Vod\VodUploadClient;
    use Vod\Model\VodUploadRequest;
    
    $client = new VodUploadClient("your secretId", "your secretKey");
    $req = new VodUploadRequest();
    $req->MediaFilePath = "/data/videos/Wildlife.wmv";
    $req->StorageRegion = "ap-chongqing";
    try {
        $rsp = $client->upload("ap-guangzhou", $req);
        echo "FileId -> ". $rsp->FileId . "\n";
        echo "MediaUrl -> ". $rsp->MediaUrl . "\n";
    } catch (Exception $e) {
        // アップロード異常の処理
        echo $e;
    }
    

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

    臨時証明書の関連キー情報を渡し、臨時証明書を使用して身分を検証し、アップロードします。

    <?php
    require 'vendor/autoload.php';
    
    use Vod\VodUploadClient;
    use Vod\Model\VodUploadRequest;
    
    $client = new VodUploadClient("Credentials TmpSecretId", "Credentials TmpSecretKey", "Credentials Token");
    $req = new VodUploadRequest();
    $req->MediaFilePath = "/data/videos/Wildlife.wmv";
    try {
        $rsp = $client->upload("ap-guangzhou", $req);
        echo "FileId -> ". $rsp->FileId . "\n";
        echo "MediaUrl -> ". $rsp->MediaUrl . "\n";
    } catch (Exception $e) {
        // アップロード異常の処理
        echo $e;
    }
    

    アップロードのプロキシ設定

    アップロードのプロキシ設定では、関係するプロトコルおよびデータはいずれもプロキシ経由で処理します。開発者はプロキシを参照しながら、ファイルを自社インターネットからテンセントクラウドにアップロードします。

    <?php
    require 'vendor/autoload.php';
    
    use Vod\VodUploadClient;
    use Vod\Model\VodUploadRequest;
    use Vod\Model\VodUploadHttpProfile;
    
    $client = new VodUploadClient("your secretId", "your secretKey");
    $uploadHttpProfile = new VodUploadHttpProfile("your proxy addr");
    $client->setHttpProfile($uploadHttpProfile);
    $req = new VodUploadRequest();
    $req->MediaFilePath = "/data/videos/Wildlife.wmv";
    try {
        $rsp = $client->upload("ap-guangzhou", $req);
        echo "FileId -> ". $rsp->FileId . "\n";
        echo "MediaUrl -> ". $rsp->MediaUrl . "\n";
    } catch (Exception $e) {
        // アップロード異常の処理
        echo $e;
    }
    

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

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

    <?php
    require 'vendor/autoload.php';
    
    use Vod\VodUploadClient;
    use Vod\Model\VodUploadRequest;
    
    $client = new VodUploadClient("your secretId", "your secretKey");
    $req = new VodUploadRequest();
    $req->MediaFilePath = "/data/videos/prog_index.m3u8";
    try {
        $rsp = $client->upload("ap-guangzhou", $req);
        echo "FileId -> ". $rsp->FileId . "\n";
        echo "MediaUrl -> ". $rsp->MediaUrl . "\n";
    } catch (Exception $e) {
        // アップロード異常の処理
        echo $e;
    }
    

    インターフェースの説明

    アップロードクライアントクラス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)

    パラメータ名 パラメータの説明 タイプ 入力必須
    region アクセスポイントリージョン。どのリージョンのVODサーバーにリクエストするかであり、ストレージリージョンとは異なります。詳細内容は、サポートするリージョンリストをご参照ください。 String はい
    request アップロードリクエスト。 VodUploadRequest はい

    エラーコードリスト

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

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

    テクニカルサポート

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

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