tencent cloud

最終更新日:2023-10-26 17:31:32
PHP SDK
最終更新日: 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
リソースがありません。
この記事はお役に立ちましたか?
営業担当者に お問い合わせ いただくか チケットを提出 してサポートを求めることができます。
はい
いいえ

フィードバック