tencent cloud

Video on Demand

動向とお知らせ
製品アップデート情報
製品紹介
製品概要
Product Features
製品の機能
製品の強み
ユースケース
ソリューション
購入ガイド
課金概要
課金方式
購入ガイドライン
請求書の照会
支払い更新の説明
支払い延滞の説明
返金説明
クイックスタート
コンソールガイド
コンソールの説明
サービスの概要
アプリケーション管理
メディア管理
リソースパック管理
License Management
プラクティスチュートリアル
メディアのアップロード
オンデマンドメディアファイルのインテリジェントコールド化方法
ビデオ処理
配信と再生
イベント通知の受信方法
オリジンサーバーのマイグレーションツール
Live Recording
カスタムオリジンサーバーback-to-originの方法
ライブストリーミングハイライトクリップを VOD に永続化するためのガイド
EdgeOne を使用して VOD コンテンツを配信する方法
開発ガイド
メディアアップロード
メディア加工処理
ビデオAI
イベント通知
ビデオ再生
メディアファイルのダウンロード
サブアプリケーションシステム
エラーコード
Player+ドキュメント
Overview
Basic Concepts
Features
Free Demo
Free Trial License
Purchase Guide
SDK Download
Licenses
Player Guide
Integration (UI Included)
Integration (No UI)
Advanced Features
API Documentation
Player Adapter
Player SDK Policy
よくあるご質問
モバイル端末再生に関するご質問
料金
ビデオのアップロード
ビデオの公開
ビデオの再生
Web側の再生
全画面表示再生
データ統計
CAM関連
メディア資産冷却に関する質問
Agreements
Service Level Agreement
VOD ポリシー
プライバシーポリシー
データ処理とセキュリティ契約
お問い合わせ
用語集

AndroidのアップロードSDK

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-11-26 17:26:29
VODは、Androidプラットフォームでビデオをアップロードするシナリオ向けに、AndroidアップロードSDKを提供しています。アップロードのフローについては、クライアントからのアップロードガイド をご参照ください。
SDK 名
VOD の Android アップロード SDK
バージョン番号
V1.2.5.0
SDK の紹介
App のエンドユーザー向けにローカルビデオを VOD プラットフォームにアップロードするシナリオを提供
開発者
Tencent Cloud Computing (Beijing) Co., Ltd.
SDK をダウンロード
1. クリックして Android アップロード Demo とソースコードをダウンロードします。ダウンロードされた圧縮ファイルを解凍すると、Demo ディレクトリが表示されます。
2. ソースコードは Demo/app/src/main/java/com/tencent/ugcupload/demo/videoupload ディレクトリにアップロードされます。

アップロードライブラリとソースコードの統合

1. ソースコードディレクトリDemo/app/src/main/java/com/tencent/ugcupload/demo/videouploadをプロジェクトディレクトリにコピーして、package名を手動で変更する必要があります。
2. Demo/app/build.gradleを参照して、プロジェクトに依存関係を追加します。
implementation 'com.qcloud.cos:cos-android-nobeacon:5.9.25'
implementation 'com.qcloud.cos:quic:1.5.43'
説明:
手動統合 を参照して、対応するバージョンの依存ライブラリを統合することもできます。
3. ビデオアップロードを使用するには、ネットワークとストレージ関連のアクセス許可が必要です。AndroidManifest.xmlに次の許可ステートメントを追加することができます。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
4. ビデオアップロードはネットワーク変化に応じてアップロード IP を更新する必要があり、業務のニーズに応じてブロードキャストを動的に登録することができます。以下は例です。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// your code......
registerNetReceiver();
}

private void registerNetReceiver() {
if (null == mNetWorkStateReceiver) {
mNetWorkStateReceiver = new TVCNetWorkStateReceiver();
IntentFilter intentFilter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(mNetWorkStateReceiver, intentFilter);
}
}

private void unRegisterNetReceiver() {
if (null != mNetWorkStateReceiver) {
unregisterReceiver(mNetWorkStateReceiver);
}
}

@Override
protected void onDestroy() {
super.onDestroy();
// your code......
unRegisterNetReceiver();
}

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

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

TXUGCPublish mVideoPublish = new TXUGCPublish(this.getApplicationContext(), "independence_android")

アップロードオブジェクトのコールバックの設定

mVideoPublish.setListener(new TXUGCPublishTypeDef.ITXVideoPublishListener() {
@Override
public void onPublishProgress(long uploadBytes, long totalBytes) {
mProgress.setProgress((int) (100*uploadBytes/totalBytes));
}

@Override
public void onPublishComplete(TXUGCPublishTypeDef.TXPublishResult result) {
mResultMsg.setText(result.retCode + " Msg:" + (result.retCode == 0 ? result.videoURL : result.descMsg));
}
});

アップロードパラメータの作成

TXUGCPublishTypeDef.TXPublishParam param = new TXUGCPublishTypeDef.TXPublishParam();

param.signature = "xxx";
param.videoPath = "xxx";
signatureの計算ルールについては、クライアントからのアップロード署名 をご参照ください。

アップロードの呼び出し

int publishCode = mVideoPublish.publishVideo(param);

画像のシンプルアップロード

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

TXUGCPublish mVideoPublish = new TXUGCPublish(this.getApplicationContext(), "independence_android")

アップロードオブジェクトのコールバックの設定

mVideoPublish.setListener(new TXUGCPublishTypeDef.ITXMediaPublishListener() {
@Override
public void onMediaPublishProgress(long uploadBytes, long totalBytes) {
mProgress.setProgress((int) (100*uploadBytes/totalBytes));
}
@Override
public void onMediaPublishComplete(TXUGCPublishTypeDef.TXMediaPublishResult mediaResult) {
mResultMsg.setText(result.retCode + " Msg:" + (result.retCode == 0 ? result.videoURL : result.descMsg));
}
});

アップロードパラメータの作成

TXUGCPublishTypeDef.TXMediaPublishParam param = new TXUGCPublishTypeDef.TXMediaPublishParam();

param.signature = "xxx";
param.mediaPath = "xxx";
signatureの計算ルールについては、クライアントからのアップロード署名 をご参照ください。

アップロードの呼び出し

int publishCode = mVideoPublish.publishMedia(param);
説明:
アップロード方法は、ファイルのサイズに応じて、通常アップロードとマルチパートアップロードが自動的に選択されます。マルチパートアップロードの各手順を気にすることなく、マルチパートアップロードを行うことができます。
指定のサブアプリケーションにアップロードしたい場合は、サブアプリケーションシステム - クライアントからのアップロードをご参照ください。

高度な機能

カバーの付加

アップロードパラメータとしてカバーへのパスを追加します。
TXUGCPublishTypeDef.TXPublishParam param = new TXUGCPublishTypeDef.TXPublishParam();
param.signature = "xxx";
param.videoPath = "xxx";
param.coverPath = "xxx";
signatureの計算ルールについては、クライアントからのアップロード署名 をご参照ください。

アップロードのキャンセルと再開

アップロードをキャンセルするには、TXUGCPublishcanclePublish() インターフェースを呼び出します。
mVideoPublish.canclePublish();
アップロードを再開するには、同じアップロードパラメータを使用し(ビデオパスとカバーパスは変更されません)TXUGCPublishpublishVideoを再度呼び出します。

中断からの再開

VODはビデオのアップロード中、中断からの再開をサポートします。アップロードが予期せず終了した場合に、中断ポイントからアップロードを再開できるため、アップロード時間を短縮できます。中断からの再開の有効期限は1日です。つまり同じビデオのアップロードが中断された場合、1日以内に再度アップロードすると中断ポイントからそのままアップロードできます。1日を超えるとデフォルトでは、完全なビデオを再度アップロードします。
アップロードパラメータのenableResumeは、中断からの再開のスイッチであり、デフォルトで有効になっています。

事前アップロード

実際のアップロード中に発生するエラーのほとんどは、ネットワーク接続の障害またはタイムアウトに起因しています。このような問題を最適化するために、最適化された事前アップロードロジックを追加しました。事前アップロードには、HTTPDNSの解決 、推奨されるアップロードリージョンの取得および最適なアップロードリージョンの検出が含まれます。
Appを起動するときにTXUGCPublishOptCenter.getInstance().prepareUpload(signature) を呼び出すことをお勧めします。事前アップロードモジュールは、<ドメイン名,IP>マッピングテーブルと最適なアップロードリージョンをローカルにキャッシュします。以前にウェブキャストを動的に登録した場合、サブスクリプションがネットワーク切り替え時になると、キャッシュをクリアして自動的に更新します。
signatureの計算ルールについては、クライアントからのアップロード署名 をご参照ください。

httpsアップロードの有効化

アップロードパラメータのTXPublishParamの中のenableHTTPSをtrueに設定すれば完了です。デフォルトではfalseになっています。
TXUGCPublishTypeDef.TXPublishParam param = new TXUGCPublishTypeDef.TXPublishParam();
param.enableHttps = true;

ログを無効にする

ログを無効にするには、TXUGCPublish の setIsDebug メソッドで操作する必要があります。デフォルトは有効になります。有効になっている場合、 logcat ログが印刷される同時に、log が app プライベートディレクトリに保存されます。
// false ログを無効にする
mTXUGCPublish.setIsDebug(false);

ビデオアップロードインターフェースの説明

アップロードオブジェクトの初期化:TXUGCPublish
パラメータ名
パラメータの説明
タイプ
入力必須
context
applicationコンテキスト。
Context
はい
customKey
ユーザーを区別するために使用されます。今後の問題特定を容易にするためにAppのアカウントIDを使用することをお勧めします。
String
いいえ
VOD appIdの設定:TXUGCPublish.setAppId
パラメータ名
パラメータの説明
タイプ
入力必須
appId
VOD appId。
int
はい
アップロードビデオ:TXUGCPublish.publishVideo
パラメータ名
パラメータの説明
タイプ
入力必須
param
アップロードパラメータ。
TXUGCPublishTypeDef.TXPublishParam
はい
アップロードパラメータ:TXUGCPublishTypeDef.TXPublishParam
パラメータ名
パラメータの説明
タイプ
入力必須
signature
String
はい
videoPath
ローカルビデオファイルパス。
String
はい
coverPath
ローカルカバーファイルパス。デフォルトではカバーファイルは含まれません。
String
いいえ
enableResume
中断ポイントからの再開の有効無効を指定。デフォルトでは有効になっています。
boolean
いいえ
enableHttps
HTTPSの有効無効を指定。デフォルトでは無効になっています。
boolean
いいえ
fileName
Tencent Cloudにアップロードされたビデオファイル名です。空のままの場合、デフォルトでローカルファイル名が使用されます。
String
いいえ
enablePreparePublish
プリアップロードメカニズムを有効にするかどうか。デフォルトは有効になります。プリアップロードメカニズムは、ファイルアップロードの品質を大幅に向上させることができます。
boolean
いいえ
sliceSize
シャードサイズ。最小 1M、最大 10M に対応。デフォルトはアップロードされたファイルサイズを 10 で割った値です。
long
いいえ
concurrentCount
シャードアップロードの最大並列処理数。デフォルトは4個です。
int
いいえ
trafficLimit
速度制限値設定範囲は 819200 ~ 838860800、つまり 100KB/s ~ 100MB/s です。この範囲を超えると 400 エラーが返されます。タイムアウトを防ぐために、この値をあまり小さく設定することを推奨しません。-1 は速度制限なしを表します。
long
いいえ
uploadResumeController
続行ポイントコントローラー。続行ポイントキー値の計算と保存を自分で実現できます。デフォルトでは md5 でファイルのキー値を計算します。
IUploadResumeController
いいえ
アップロードコールバックの設定:TXUGCPublish.setListener
パラメータ名
パラメータの説明
タイプ
入力必須
listener
アップロードの進行状況と結果のコールバックを監視します。
TXUGCPublishTypeDef.ITXVideoPublishListener
はい
進行状況コールバック:TXUGCPublishTypeDef.ITXVideoPublishListener.onPublishProgress
変数名
変数の説明
タイプ
uploadBytes
アップロード済みのバイト数。
long
totalBytes
合計バイト数。
long
結果コールバック:TXUGCPublishTypeDef.ITXVideoPublishListener.onPublishComplete
変数名
変数の説明
タイプ
result
アップロード結果。
TXUGCPublishTypeDef.TXPublishResult
アップロード結果:TXUGCPublishTypeDef.TXPublishResult
メンバー変数名
変数の説明
タイプ
retCode
結果コード。
int
descMsg
アップロード失敗のエラー説明。
String
videoId
VODビデオファイルID。
String
videoURL
ビデオストレージアドレス。
String
coverURL
カバーストレージアドレス。
String
事前アップロード:TXUGCPublishOptCenter.prepareUpload
パラメータ名
パラメータの説明
タイプ
入力必須
signature
String
はい

画像アップロードインターフェースの説明

アップロードオブジェクトの初期化:TXUGCPublish
パラメータ名
パラメータの説明
タイプ
入力必須
context
applicationコンテキスト。
Context
はい
customKey
ユーザーを区別するために使用されます。今後の問題特定を容易にするためにAppのアカウントIDを使用することをお勧めします。
String
いいえ
VOD appIdの設定:TXUGCPublish.setAppId
パラメータ名
パラメータの説明
タイプ
入力必須
appId
VOD appId。
int
はい
アップロード画像:TXUGCPublish.publishMedia
パラメータ名
パラメータの説明
タイプ
入力必須
param
アップロードパラメータ。
TXUGCPublishTypeDef.TXMediaPublishParam
はい
アップロードパラメータ:TXUGCPublishTypeDef.TXMediaPublishParam
パラメータ名
パラメータの説明
タイプ
入力必須
signature
String
はい
mediaPath
ローカル画像ファイルパス。
String
はい
enableResume
中断ポイントからの再開の有効無効を指定。デフォルトでは有効になっています。
boolean
いいえ
enableHttps
HTTPSの有効無効を指定。デフォルトでは無効になっています。
boolean
いいえ
fileName
Tencent Cloudにアップロードされたビデオファイル名です。空のままの場合、デフォルトでローカルファイル名が使用されます。
String
いいえ
enablePreparePublish
プリアップロードメカニズムを有効にするかどうか。デフォルトは有効になります。プリアップロードメカニズムは、ファイルアップロードの品質を大幅に向上させることができます。
boolean
いいえ
sliceSize
シャードサイズ。最小 1M、最大 10M に対応。デフォルトはアップロードされたファイルサイズを 10 で割った値です。
long
いいえ
concurrentCount
シャードアップロードの最大並列処理数。デフォルトは4個です。
int
いいえ
trafficLimit
速度制限値設定範囲は 819200 ~ 838860800、つまり 100KB/s ~ 100MB/s です。この範囲を超えると 400 エラーが返されます。タイムアウトを防ぐために、この値をあまり小さく設定することを推奨しません。-1 は速度制限なしを表します。
long
いいえ
uploadResumeController
続行ポイントコントローラー。続行ポイントキー値の計算と保存を自分で実現できます。デフォルトでは md5 でファイルのキー値を計算します。
IUploadResumeController
いいえ
アップロードコールバックの設定:TXUGCPublish.setListener
パラメータ名
パラメータの説明
タイプ
入力必須
listener
アップロードの進行状況と結果のコールバックを監視します。
TXUGCPublishTypeDef.ITXMediaPublishListener
はい
進行状況コールバック:TXUGCPublishTypeDef.ITXMediaPublishListener.onPublishProgress
変数名
変数の説明
タイプ
uploadBytes
アップロード済みのバイト数。
long
totalBytes
合計バイト数。
long
結果コールバック:TXUGCPublishTypeDef.ITXMediaPublishListener.onPublishComplete
変数名
変数の説明
タイプ
result
アップロード結果。
TXUGCPublishTypeDef.TXPublishResult
アップロード結果:TXUGCPublishTypeDef.TXMediaPublishResult
メンバー変数名
変数の説明
タイプ
retCode
結果コード。
int
descMsg
アップロード失敗のエラー説明。
String
mediaId
VODビデオファイルID。
String
mediaURL
メディアリソースストレージアドレス。
String
事前アップロード:TXUGCPublishOptCenter.prepareUpload
パラメータ名
パラメータの説明
タイプ
入力必須
signature
String
はい

エラーコード

SDKは、TXUGCPublishTypeDef.ITXVideoPublishListene\\ITXMediaPublishListenerインターフェースを介してビデオのアップロードのステータスを監視します。従って、TXUGCPublishTypeDef.TXPublishResult\\TXMediaPublishResultretCodeを使用して、ビデオのアップロード状況を確認することができます。
ステータスコード
TVCConstantsにおいて対応する定数
意味
0
NO_ERROR
アップロードに成功しました。
1001
ERR_UGC_REQUEST_FAILED
アップロードリクエストが失敗しました。通常、クライアントの署名が期限切れまたは無効になっており、Appに別の署名を再申請する必要があります。
1002
ERR_UGC_PARSE_FAILED
リクエスト情報の解析に失敗しました。
1003
ERR_UPLOAD_VIDEO_FAILED
ビデオのアップロードに失敗しました。
1004
ERR_UPLOAD_COVER_FAILED
カバーのアップロードに失敗しました。
1005
ERR_UGC_FINISH_REQUEST_FAILED
アップロード終了リクエストに失敗しました。
1006
ERR_UGC_FINISH_RESPONSE_FAILED
アップロード終了の応答に失敗しました。
1007
ERR_CLIENT_BUSY
クライアントはビジーです(オブジェクトはそれ以上のリクエストを処理できません)。
1008
ERR_FILE_NOEXIT
アップロードファイルが存在しません。
1009
ERR_UGC_PUBLISHING
ビデオのアップロード中です。
1010
ERR_UGC_INVALID_PARAM
アップロードパラメータが空です。
1012
ERR_UGC_INVALID_SIGNATURE
ビデオアップロードのsignatureが空です。
1013
ERR_UGC_INVALID_VIDOPATH
ビデオファイルのパスが空です。
1014
ERR_UGC_INVALID_VIDEO_FILE
現在のパスにビデオファイルが存在しません。
1015
ERR_UGC_FILE_NAME
動画アップロードファイル名が長すぎる(40を超える)か、または特殊文字が含まれています。
1016
ERR_UGC_INVALID_COVER_PATH
ビデオファイルのカバーパスが間違っており、ファイルが存在しません。
1017
ERR_USER_CANCEL
ユーザーがアップロードをキャンセルしました。
1020
ERR_UPLOAD_SIGN_EXPIRED
サインが期限切れになりました。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック