このトピックでは、CまたはC ++ 用のサーバーアップロードSDKを使用してメディアファイルをApsaraVideo VODにアップロードする方法について説明します。
アップロードのプロセス
CまたはC ++ 用のアップロードSDKは、ApsaraVideo VOD SDKの一般的なプロセスに従います。 詳細については、「アップロードプロセス」をご参照ください。 次のコンテンツでは、CまたはC ++ 用のサーバーアップロードSDKを使用する基本的なプロセスについて説明します。
[前提条件] セクションの説明に従って、設定を完了します。
CまたはC ++ 用のサーバーアップロードSDKを統合します。 詳細については、「CまたはC ++ 用のサーバーアップロードSDKの統合」をご参照ください。
アップロードロジックを実装するためのアップロード情報を設定します。
オーディオまたはビデオファイルをアップロードする方法の詳細については、「シナリオ1: オーディオおよびビデオファイルのアップロード」をご参照ください。
画像のアップロード方法の詳細については、「シナリオ2: 画像のアップロード」をご参照ください。
補助メディアアセットをアップロードする方法の詳細については、「シナリオ3: 補助メディアアセットのアップロード」をご参照ください。
前提条件
ApsaraVideo VODが有効化されています。 詳細については、「ApsaraVideo VODの有効化」をご参照ください。
指定されたリージョンのストレージパスやコールバック設定など、アップロードに必要なシステム設定が構成されます。 詳細については、「ストレージバケットの管理」および「コールバックの設定」をご参照ください。
RAMユーザーが作成され、ApsaraVideo VODへのアクセスに使用されます。 Alibaba CloudアカウントのAccessKeyペアの漏洩によるセキュリティリスクを防ぐため、RAMユーザーを作成し、ApsaraVideo VODへのアクセスに必要な権限をRAMユーザーに付与することを推奨します。 その後、RAMユーザーのAccessKeyペアを使用してApsaraVideo VODにアクセスできます。 詳細については、「Create and grant permissions to a RAM user」をご参照ください。
ALIBABA_CLOUD_ACCESS_KEY_IDおよびALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数を設定します。 詳細については、「Linux、macOS、およびWindowsでの環境変数の設定」をご参照ください。
重要Alibaba CloudアカウントのAccessKeyペアには、すべてのAPI操作に対する権限があります。 RAMユーザーのAccessKeyペアを使用して、API操作を呼び出したり、ルーチンのO&Mを実行したりすることを推奨します。
AccessKey IDとAccessKeyシークレットをプロジェクトコードにハードコードしないことを推奨します。 そうしないと、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。
オプションです。 RAMユーザー用にロールが作成され、Security Token Service (STS) を使用してApsaraVideo VODにアクセスする場合は、ApsaraVideo VODにアクセスするために必要な権限がロールに付与されます。 詳細については、「STSを使用した動画のアップロード」をご参照ください。
説明STSを使用できるシナリオの詳細については、「資格情報とSTSの比較」をご参照ください。
CまたはC ++ 用のサーバーアップロードSDKの統合
CまたはC ++ 用のサーバーアップロードSDKは、Linuxオペレーティングシステムにのみインストールできます。
この例では、SDK V1.0.0が使用されています。 ビジネス要件に基づいて他のバージョンを使用できます。
サーバーアップロードSDK For CまたはC ++ のディレクトリとサンプルコードの詳細については、「ディレクトリ」をご参照ください。
このトピックでは、CまたはC ++ 用のサーバーアップロードSDKを非rootユーザーとしてインストールする方法と、インストールコマンドの例について説明します。
次の表に、必要なソフトウェアパッケージとその使用方法、およびインストール例を示します。
ソフトウェアパッケージ | 説明 | YUMによるインストール | インターネット経由でダウンロードしたパッケージを使用したインストール |
CMake | サードパーティのコンパイラ。 |
|
|
libcurl | ネットワーク接続の問題をトラブルシューティングします。 |
|
|
libuuid | UUIDを生成します。 | サンプルコード:
| 非該当 |
apr | 非該当 | サンプルコード:
|
|
apr-util | メモリ使用量とクロスプラットフォームの問題を管理します。 | サンプルコード:
|
|
minixml | XML形式で返されるデータを解析します。 | サンプルコード:
|
|
jsoncpp | JSON形式で返されたデータを解析します。 | サンプルコード:
|
|
OSS SDK | CまたはC ++ 用のサーバーアップロードSDKを使用する前に、CまたはC ++ 用のObject Storage Service (OSS) SDKをダウンロードしてインストールする必要があります。 | 非該当 | ダウンロードリンクとインストール手順の詳細については、「インストール」をご参照ください。 重要 一部のOSS依存関係がインストールされている場合は、再度インストールする必要はありません。 |
CまたはC ++ 用のSDKのアップロード | 非該当 | ダウンロードリンク: Upload SDK サンプルコード:
|
CまたはC ++ 用のアップロードSDKの更新
現在のSDKで新しい操作または既存の操作の新機能が使用できない場合は、SDKを最新バージョンに更新します。 詳細については、「SDKのアップロード」をご参照ください。
現在のSDKのバージョン番号とリリース日は、aliyun-c-sdk-vodディレクトリのChangeLog.txtファイルから取得できます。
ディレクトリ
/VodSDK-C_1.0.0.gz/VodSDK-C_1.0.0/aliyun-c-sdk-vod/src/upload.h
ディレクトリ | 説明 |
CreateUploadVideoRequest | ビデオアップロードのリクエストクラス。 パラメーターの詳細については、「CreateUploadVideo」をご参照ください。 |
CreateUploadImageRequest | 画像アップロードのリクエストクラス。 パラメーターの詳細については、「CreateUploadImage」をご参照ください。 |
CreateUploadAttachedMediaRequest | 補助メディアアセットのアップロードのリクエストクラス。 パラメーターの詳細については、「CreateUploadAttachedMedia」をご参照ください。 |
UploadOptions | アップロードパラメーター構造。 次の項目は、パラメータについて説明します。
|
uploadLocalVideo | ローカルビデオのアップロードに使用されるAPI操作。 |
uploadWebVideo | オンラインビデオのアップロードに使用されるAPI操作。 |
uploadLocalImage | ローカル画像のアップロードに使用されるAPI操作。 |
uploadWebImage | オンライン画像のアップロードに使用されるAPI操作。 |
uploadLocalAttachedMedia | ローカル補助メディアアセットをアップロードするために使用されるAPI操作。 |
uploadWebAttachedMedia | オンライン補助メディアアセットのアップロードに使用されるAPI操作。 |
uploadLocalM3u8 | ローカルM3U8ビデオのアップロードに使用されるAPI操作。 |
uploadWebM3u8 | オンラインM3U8ビデオのアップロードに使用されるAPI操作。 |
/VodSDK-C_1.0.0.gz/VodSDK-C_1.0.0/aliyun-c-sdk-vod/samples
ディレクトリ | 説明 |
uploadVideo.cpp | ビデオをアップロードするためのサンプルコード。 |
uploadImage.cpp | 画像をアップロードするためのサンプルコード。 |
uploadAttachedMedia.cpp | 補助メディア資産をアップロードするためのサンプルコード。 |
シナリオ1: オーディオファイルとビデオファイルのアップロード
通常のオーディオおよびビデオファイル
ApsaraVideo VODでは、次のいずれかの方法でオーディオまたはビデオファイルをアップロードできます。
マルチパートアップロードを使用して、ローカルファイルをアップロードします。 最大48.8テラバイトのファイルをアップロードできます。 再開可能なアップロードはサポートされていません。 詳細については、サンプルコードのtestUploadLocalVideo関数を参照してください。
ファイルのURLを使用してオンラインファイルをアップロードします。 最大48.8テラバイトのファイルをアップロードできます。 オンラインファイルをアップロードする前に、ファイルをローカルディスクにダウンロードする必要があります。 ローカルディスクに十分な容量があることを確認してください。 詳細については、次のサンプルコードのtestUploadWebVideo関数を参照してください。