動画
clips > set_media_info
このAPI関数を使用すると、データベースに動画のメディア情報を設定できます。
この機能は、保管場所のファイルには直接作用しません。また、ファイルの種類を検証しません。
リクエストの構築
リクエストURLとGET変数
リクエスト固有のGET変数
| 変数 | 値 | 説明 |
|---|---|---|
| go | clips | APIセクション |
| do | set_media_info | APIアクション |
| iq | Clip ID | 動画ID |
リクエストURLは以下のようになります。必須情報(key, timestamp, salt, signature)を追加することを忘れないでください。
POST変数
1. 標準動画(type=0)
・[一般設定>ストレージ]の設定に従って、メディアファイルは既に保存場所に存在している必要があります。
ローカルストレージを使用する場合、ファイルはuploads/imagesフォルダにアップロードされている必要があります。
AWSの場合、ファイルは対応するS3バケットにアップロードされている必要があります。
外部サーバー(FTP)の場合、ファイルはFTPの場所にアップロードされている必要があります。
・このAPIコールはデータベース内の新しい情報を関連付けるだけなので、ファイルの削除や置き換えは処理されません。
メディアを品質に割り当てている場合は、以前の割り当てが置き換えられますが、以前のファイルは保存場所から削除されたり置き換えられたりすることはありません。これらのタスクは別の手順で管理する必要があります。
| 変数 | 値 | 説明 |
|---|---|---|
| シングルビットレートメディア | ||
| id_quality | (int) Quality ID | 【必須】メディアに関連付けられている品質のID。 注:品質リストを取得するにはAPIコール config > get_video_qualities を使用できます。 |
| vod_flash | (string) MP4 video file name | Flashビデオプレーヤー使用時に再生される.mp4ファイルの名前 |
| vod_html5_h264 | (string) MP4 video file name | HTML5ビデオプレーヤー使用時に再生される.mp4ファイルの名前 |
| vod_html5_webm | (string) WebM video file name | HTML5ビデオプレーヤー使用時に再生される.webmファイルの名前(WebMが有効な場合のみ) |
| 以下のフィールドはストア機能拡張が実装済で、動画の「予告編」が設定されている場合にのみ適用されます。 | ||
| vod_flash_trailer | (string) MP4 video file name | Flashビデオプレーヤー使用時に再生される.mp4ファイルの名前 |
| vod_html5_h264_trailer | (string) MP4 video file name | HTML5ビデオプレーヤー使用時に再生される.mp4ファイルの名前 |
| vod_html5_webm_trailer | (string) WebM video file name | HTML5ビデオプレーヤー使用時に再生される.webmファイルの名前(WebMが有効な場合のみ) |
注:動画へのURLは入力せず、ファイル名のみを入力してください。
2. Stream VOD(type=1)
・以下の情報に関する詳細は、各々リンク先を確認してください。
メディアサポート及びプロトコル
Amazon S3/CloudFrontの使用時にメディアを関連付ける方法
CloudFrontの署名付きURLを使用するときにメディアを関連付ける方法
外部トークン化スクリプトの使用時にメディアを関連付ける方法
| 変数 | 値 | 説明 |
|---|---|---|
| マルチビットレートメディア(特定の画質に関連付けられていません) | ||
| mbr_flash | (string) F4M or HLS URL | Flash用のマルチビットレートURL(F4MまたはM3U8/HLS) |
| mbr_dash | (string) DASH URL | HTML5-DASH(MDP)のマルチビットレートURL |
| シングルビットレートメディア | ||
| id_quality | (int) Quality ID | 【シングルビットレートメディア割り当てに必須】メディアに関連付けられている品質のID。 注:品質リストを取得するにはAPIコール config > get_video_qualities を使用できます。 |
| vod_flash | (string) MP4 video file name | Flashビデオプレーヤー使用時に再生される.mp4ファイル/ストリームのURL |
| vod_html5_h264 | (string) MP4 video file name | HTML5ビデオプレーヤー使用時に再生される.mp4ファイルのURL |
| vod_html5_webm | (string) WebM video file name | HTML5ビデオプレーヤー使用時に再生される.webmファイルのURL(WebMが有効な場合のみ) |
| 以下のフィールドはストア機能拡張が実装済で、動画の「予告編」が設定されている場合にのみ適用されます。 | ||
| vod_flash_trailer | (string) MP4 video file name | Flashビデオプレーヤー使用時に再生される.mp4ファイル/ストリームのURL |
| vod_html5_h264_trailer | (string) MP4 video file name | HTML5ビデオプレーヤー使用時に再生される.mp4ファイルのURL |
| vod_html5_webm_trailer | (string) WebM video file name | HTML5ビデオプレーヤー使用時に再生される.webmファイルのURL(WebMが有効な場合のみ) |
3. Stream Live(type=2)
・メディアのサポートとプロトコルに関する詳細は、こちらを確認してください。
| 変数 | 値 | 説明 |
|---|---|---|
| マルチビットレートメディア(特定の画質に関連付けられていません) | ||
| mbr_flash | (string) F4M or HLS URL | Flash用のマルチビットレートURL(F4MまたはM3U8/HLS) |
| mbr_dash | (string) DASH URL | HTML5-DASH(MDP)のマルチビットレートURL |
| シングルビットレートメディア | ||
| id_quality | (int) Quality ID | 【シングルビットレートメディア割り当てに必須】メディアに関連付けられている品質のID。 注:品質リストを取得するにはAPIコール config > get_video_qualities を使用できます。 |
| live_flash | (string) MP4 live stream URL | ライブストリームのURL(RTMPまたはHLS) |
| live_ios | (string) MP4 live stream URL | ライブストリームのURL(HLS) |
| live_rtsp | (string) MP4 live stream URL | ライブストリームのURL(RTMP) |
| dash | (string) MP4 live stream URL | ライブストリームのURL(DASH) |
| 以下のフィールドはストア機能拡張が実装済で、動画の「予告編」が設定されている場合にのみ適用されます。 | ||
| vod_flash_trailer | (string) MP4 video file name | Flashビデオプレーヤー使用時に再生される.mp4ファイル/ストリームのURL |
| vod_html5_h264_trailer | (string) MP4 video file name | HTML5ビデオプレーヤー使用時に再生される.mp4ファイルのURL |
| vod_html5_webm_trailer | (string) WebM video file name | HTML5ビデオプレーヤー使用時に再生される.webmファイルのURL(WebMが有効な場合のみ) |
4. 埋め込み(type=3)
・埋め込み動画の機能に関する詳細は、各々リンク先を確認してください。
URLからの自動埋め込み
一般的な埋め込み
Youtubeのダイレクト再生
| 変数 | 値 | 説明 |
|---|---|---|
| id_quality | (int) Quality ID | 【シングルビットレートメディア割り当てに必須】メディアに関連付けられている品質のID。 注:品質リストを取得するにはAPIコール config > get_video_qualities を使用できます。 |
| embed_flash | (string) Embed code for Flash | Flashビデオプレーヤーの場合に使用されるHTML埋め込みコード(またはサポートされる動画サイトURL) |
| embed_html5 | (string) Embed code for HTML5 | HTML5ビデオプレーヤーの場合に使用されるHTML埋め込みコード(またはサポートされる動画サイトURL) |
| 以下のフィールドはストア機能拡張が実装済で、動画の「予告編」が設定されている場合にのみ適用されます。 | ||
| vod_flash_trailer | (string) MP4 video file name | Flashビデオプレーヤー使用時に再生される.mp4ファイル/ストリームのURL |
| vod_html5_h264_trailer | (string) MP4 video file name | HTML5ビデオプレーヤー使用時に再生される.mp4ファイルのURL |
| vod_html5_webm_trailer | (string) WebM video file name | HTML5ビデオプレーヤー使用時に再生される.webmファイルのURL(WebMが有効な場合のみ) |
5. オートエンコーディング(type=4)
・オートエンコーディングの機能に関する詳細は、こちらを確認してください。
・ソースとなるメディアファイルがuploads/imagesフォルダにアップロードされている必要があります。
・処理の結果作成されたファイルを関連付ける場合、当該メディアファイルは[一般設定>ストレージ]の設定に従って既に保存場所に存在している必要があります。
ローカルストレージを使用する場合、ファイルはuploads/imagesフォルダにアップロードされている必要があります。
AWSの場合、ファイルは対応するS3バケットにアップロードされている必要があります。
外部サーバー(FTP)の場合、ファイルはFTPの場所にアップロードされている必要があります。
・このAPIコールはデータベース内の新しい情報を関連付けるだけなので、ファイルの削除や置き換えは処理されません。
メディアを品質に割り当てている場合は、以前の割り当てが置き換えられますが、以前のファイルは保存場所から削除されたり置き換えられたりすることはありません。これらのタスクは別の手順で管理する必要があります。
| 変数 | 値 | 説明 |
|---|---|---|
| エンコードソース(特定の画質に関連付けられていません) | ||
| encoding_source | (string) Video file name | 結果の品質をエンコードするために使用されるファイルの名前 |
| シングルビットレートメディア | ||
| 結果のファイルを関連付ける場合は「標準動画」のケースを確認してください。 | ||
注:動画へのURLは入力せず、ファイル名のみを入力してください。
応答例
リクエストが成功した場合は、以下の内容のレスポンスを受け取ります。
・ok:メディアが正しく設定された場合
{
"ok": "The Clip media was correctly set"
}
動画IDが無効な場合など、リクエストが失敗した場合のレスポンス
{
"error": "CLIP_NOT_FOUND",
"error_long": "It was not possible to find a Clip with the supplied ID"
}
このリクエストは以下のエラーを返す可能性があります。
・REQUEST_ERROR | Invalid Clip ID
動画IDが無効です。
・REQUEST_ERROR | Invalid Quality ID
品質IDが無効です。
・CLIP_NOT_FOUND | It was not possible to find a Clip with the supplied ID
動画が見つかりません。
・MODIFICATION_ERROR_MBR | It was not possible to set the Multi-Bitrate media for the Clip
動画にマルチビットレートメディアを設定することができません。
・MODIFICATION_ERROR_ENCODING_SOURCE | It was not possible to set the encoding_source the Clip
エンコードソースを動画に設定することができません。
・MODIFICATION_ERROR_MEDIA | It was not possible to set the Clip media
メディアを設定できませんでした。
その他のエラー内容に関しては一般的なエラーメッセージを確認してください。
PHPサンプルコード
GETおよびPOSTデータを準備します。
// GET変数
$GET_VARS = array(
"go" => "clips",
"do" => "set_media_info",
"iq" => 700
);
// POST変数
$POST_VARS = array(
// 画質ID=1のメディアを標準動画に設定
"id_quality" => 1,
"vod_flash" => "myvideo.mp4",
"vod_html5_h264" => "myvideo.mp4",
"vod_html5_webm" => "myvideo.webm"
);
salt, timestamp, signatureを生成してリクエストを送信します。
// APIベースURLと認証情報の収集
$API_URL = "https://www.interstreamdomain.tv/api.php";
$API_KEY_ID = "1b323a1cb879fd4e66530fbad07a32ee";
$API_SHARED_SECRET = "MWIzMjNhMWNiODc5ZmQ0ZTY2NTMwZmJhZDA3YTMyZWViOTQ3MDJiOGM2ZTU2NjE3"; // 公開しないでください
// salt, timestamp, signatureの生成
$salt = md5(mt_rand());
$timestamp = time();
$signature = base64_encode(hash_hmac('sha256', $salt.$timestamp, $API_SHARED_SECRET, true));
// key, salt, timestamp, signatureをGET変数に追加
$GET_VARS["timestamp"] = $timestamp; // UTCタイムスタンプ
$GET_VARS["salt"] = $salt;
$GET_VARS["key"] = $API_KEY_ID ; // APIキーID:これは公開されており、アプリケーションを識別するためにAPIによって使用されます
$GET_VARS["signature"] = $signature;
// リクエストURLを作成します。HTTPクエリを作成するためにPHPの組み込み関数を使用しない場合は、値をURLエンコードすることを忘れないでください。
$REQUEST_URL = $API_URL."?".http_build_query($GET_VARS);
// ".../api.php?go=api_subject&do=api_action&etc..."のようにURLを構築
// 新しいcURLリソースを作成して適切なオプションを設定
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $REQUEST_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POST_VARS);
// PHPホストに有効なSSL証明書がない場合は、SSL証明書の検証を無効にする必要があります。これは危険であり、有効な証明書がインストールされるまで一時的に行われるべきです。
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // Turns off verification of the SSL certificate.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Turns off verification of the SSL certificate.
// APIにリクエストを送信
$response = curl_exec($ch);
// レスポンス処理
if (!$response) {
echo 'API call failed';
}
else
{
print_r(json_decode($response,true));
}