tencent cloud

Video on Demand

iOSアップロードSDK

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

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

1. ソースコードディレクトリTXUGCUploadDemo/uploadをプロジェクトディレクトリにコピーします。
2. Podfile に次の依存関係を追加:
pod 'QCloudQuic','6.3.7'
pod 'QCloudCOSXML/Slim','6.4.4'
// プロジェクトがすでにこの依存関係を持っている場合、追加する必要がありません
pod 'AFNetworking','4.0.1'
3. Build Settingsにおいて、Other Linker Flagsを設定し、パラメータ-ObjCを追加します。

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

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

TXUGCPublish *_videoPublish = [[TXUGCPublish alloc] initWithUserID:@"upload_video_userid"];

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

_videoPublish.delegate = self;
#pragma mark - TXVideoPublishListener

- (void)onPublishProgress:(NSInteger)uploadBytes totalBytes:(NSInteger)totalBytes {
self.progressView.progress = (float)uploadBytes/totalBytes;
NSLog(@"onPublishProgress [%ld/%ld]", uploadBytes, totalBytes);
}

- (void)onPublishComplete:(TXPublishResult*)result {
NSString *string = [NSString stringWithFormat:@"アップロード完了、エラーコード[%d],メッセージ[%@]", result.retCode, result.retCode == 0? result.videoURL: result.descMsg];
[self showErrorMessage:string];
NSLog(@"onPublishComplete [%d/%@]", result.retCode, result.retCode == 0? result.videoURL: result.descMsg);
}

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

TXPublishParam *publishParam = [[TXPublishParam alloc] init];

publishParam.signature = @"業務バックエンドで生成された署名";
publishParam.videoPath = @"ビデオファイルパス";
signatureの計算ルールについては、クライアントからのアップロード署名をご参照ください。

アップロードの呼び出し

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

高度な機能

カバー画像の付加

アップロードパラメータにカバー画像を追加します。
TXPublishParam *publishParam = [[TXPublishParam alloc] init];
publishParam.signature = @"業務バックエンドで生成された署名";
publishParam.coverPath = @"カバー画像ファイルパス";
publishParam.videoPath = @"ビデオファイルパス";

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

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

中断からの再開

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

httpsアップロードの有効化

アップロードパラメータのTXPublishParamの中のenableHTTPSをtrueに設定すれば完了です。デフォルトではfalseになっています。
TXPublishParam *publishParam = [[TXPublishParam alloc] init];
publishParam.enableHTTPS = true;

ログを無効にする

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


画像とメディアのアップロード

// オブジェクトの作成
TXUGCPublish *_imagePublish = [[TXUGCPublish alloc] initWithUserID:@"upload_image_userid"];

// コールバックの設定
_imagePublish.mediaDelegate = self;

// アップロードパラメータの作成
TXMediaPublishParam *publishParam = [[TXMediaPublishParam alloc] init];
publishParam.signature = @"業務バックエンドで生成された署名";
publishParam.mediaPath = @"画像ファイルへのパス";

// 画像またはメディアファイルをアップロードします
[_imagePublish publishMedia:publishParam];


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

アップロードオブジェクトの初期化:TXUGCPublish::initWithUserID
パラメータ名
パラメータの記述
タイプ
入力必須
userID
ユーザーのuserID。ユーザーを区別するために使用されます。
NSString
いいえ
アップロードの開始:TXUGCPublish.publishVideo
パラメータ名
パラメータの記述
タイプ
入力必須
param
パラメータをリリースします。
TXPublishParam
はい
アップロードパラメータ:TXPublishParam
パラメータ名
パラメータの記述
タイプ
入力必須
signature
NSString*
はい
videoPath
ローカルビデオファイルパスです。
NSString*
はい
coverPath
カバー画像のローカルパスです。設定しなくてもかまいません。
NSString*
いいえ
fileName
Tencent Cloudにアップロードするビデオファイル名です。入力しない場合はデフォルトでローカルファイル名を使用します。
NSString*
いいえ
enableResume
中断からの再開を有効にするか。デフォルトでは有効になっています。
BOOL
いいえ
enableHttps
HTTPSを有効にするか。デフォルトでは無効になっています。
BOOL
いいえ
enablePreparePublish
プリアップロードメカニズムを有効にするかどうか。デフォルトでは有効になります。プリアップロードメカニズムは、ファイルアップロードの品質を大幅に向上させることができます。
BOOL
いいえ
sliceSize
シャードサイズ。最小 1M、最大 10M に対応。デフォルトはアップロードされたファイルサイズを 10 で割った値です。
long
いいえ
concurrentCount
シャードアップロードの最大並列処理数。デフォルトは4個です。
int
いいえ
trafficLimit
速度制限値設定範囲は 819200 ~ 838860800、つまり 100KB/s ~ 100MB/s です。この範囲を超えると 400 エラーが返されます。タイムアウトを防ぐために、この値をあまり小さく設定することを推奨しません。-1 は速度制限なしを表します。
long
いいえ
uploadResumController
続行ポイントコントローラー。続行ポイントキー値の計算と保存を自分で実現できます。デフォルトでは md5 でファイルのキー値を計算します。
id<IUploadResumeController>
いいえ
アップロードコールバックの設定:TXUGCPublish.delegate
メンバー変数名
変数の記述
タイプ
入力必須
delegate
アップロードの進捗と結果コールバックプロキシ。
TXVideoPublishListener
はい
アップロード進行状況のコールバック:onPublishProgress
変数名
変数の記述
タイプ
uploadBytes
アップロード済みのバイト数です。
NSInteger
totalBytes
総バイト数です。
NSInteger
アップロード結果のコールバック:onPublishComplete
変数名
変数の記述
タイプ
result
アップロードの結果です。
TXPublishResult
アップロードイベントのコールバック:onPublishEvent
変数名
変数の記述
タイプ
evt
イベント。デバッグプリントに使用します。
NSDictionary
アップロード結果:TXPublishResult
メンバー変数名
変数の説明
タイプ
retCode
エラーコード
int
descMsg
アップロード失敗のエラー記述。
NSString
videoId
VODビデオファイルID。
NSString
videoURL
ビデオストレージアドレス。
NSString
coverURL
カバー画像のストレージアドレス。
NSString
事前アップロード:TXUGCPublishOptCenter.prepareUpload
パラメータ名
パラメータの記述
タイプ
入力必須
signature
NSString
はい

エラーコード

SDKは、TXVideoPublishListenerインターフェースによってビデオのアップロードのステータスを監視します。従って、TXPublishResultretCodeを使用して、ビデオの公開状況を確認することができます。
エラーコード
TVCCommonにおいて対応する定数
意味
0
TVC_OK
アップロードに成功しました。
1001
TVC_ERR_UGC_REQUEST_FAILED
アップロードリクエストが失敗しました。通常、クライアントの署名が期限切れまたは無効になっており、Appに署名を再申請する必要があります。
1002
TVC_ERR_UGC_PARSE_FAILED
リクエスト情報の解析に失敗しました。
1003
TVC_ERR_VIDEO_UPLOAD_FAILED
ビデオのアップロードに失敗しました。
1004
TVC_ERR_COVER_UPLOAD_FAILED
カバー画像のアップロードに失敗しました。
1005
TVC_ERR_UGC_FINISH_REQ_FAILED
アップロード終了リクエストが失敗しました。
1006
TVC_ERR_UGC_FINISH_RSP_FAILED
アップロード終了レスポンスのエラーです。
1008
TVC_ERR_FILE_NOT_EXIST
渡されたファイルパスにファイルが存在しません
1009
TVC_ERR_ERR_UGC_PUBLISHING
ビデオアップロード中
1010
TVC_ERR_UGC_INVALID_PARAME
無効なパラメータ
1012
TVC_ERR_INVALID_SIGNATURE
ショートビデオのアップロードサインが空です
1013
TVC_ERR_INVALID_VIDEOPATH
ビデオパスが空です
1017
TVC_ERR_USER_CANCLE
ユーザー呼び出しでアップロードをキャンセルします
1020
TVC_ERR_UPLOAD_SIGN_EXPIRED
サインが期限切れになりました

画像とメディアのアップロードインターフェースの記述

アップロードオブジェクトの初期化:TXUGCPublish::initWithUserID
パラメータ名
パラメータの記述
タイプ
入力必須
userID
ユーザーのuserID。ユーザーを区別するために使用されます。
NSString
いいえ
アップロードの開始:TXUGCPublish.publishMedia
パラメータ名
パラメータの記述
タイプ
入力必須
param
パラメータをリリースします。
TXMediaPublishParam
はい
アップロードパラメータ:TXMediaPublishParam
パラメータ名
パラメータの記述
タイプ
入力必須
signature
NSString*
はい
mediaPath
ローカル画像/メディアファイルパスです。
NSString*
はい
fileName
Tencent Cloudにアップロードする画像/メディアファイル名です。入力しない場合はデフォルトでローカルファイル名を使用します。
NSString*
いいえ
enableResume
中断からの再開を有効にするか。デフォルトでは有効になっています。
BOOL
いいえ
enableHttps
HTTPSを有効にするか。デフォルトでは無効になっています。
BOOL
いいえ
enablePreparePublish
プリアップロードメカニズムを有効にするかどうか。デフォルトでは有効になります。プリアップロードメカニズムは、ファイルアップロードの品質を大幅に向上させることができます。
BOOL
いいえ
sliceSize
シャードサイズ。最小 1M、最大 10M に対応。デフォルトはアップロードされたファイルサイズを 10 で割った値です。
long
いいえ
concurrentCount
シャードアップロードの最大並列処理数。デフォルトは4個です。
int
いいえ
trafficLimit
速度制限値設定範囲は 819200 ~ 838860800、つまり 100KB/s ~ 100MB/s です。この範囲を超えると 400 エラーが返されます。タイムアウトを防ぐために、この値をあまり小さく設定することを推奨しません。-1 は速度制限なしを表します。
long
いいえ
uploadResumController
続行ポイントコントローラー。続行ポイントキー値の計算と保存を自分で実現できます。デフォルトでは md5 でファイルのキー値を計算します。
id<IUploadResumeController>
いいえ
アップロードコールバックの設定:TXUGCPublish.TXMediaPublishListener
メンバー変数名
変数の記述
タイプ
入力必須
mediaDelegate
アップロード進捗と結果コールバックプロキシ。
TXMediaPublishListener
はい
アップロード進行状況のコールバック:onMediaPublishProgress
変数名
変数の記述
タイプ
uploadBytes
アップロード済みのバイト数です。
NSInteger
totalBytes
総バイト数です。
NSInteger
アップロード結果のコールバック:onMediaPublishComplete
変数名
変数の記述
タイプ
result
アップロードの結果です。
TXMediaPublishResult
アップロードイベントのコールバック:onMediaPublishEvent
変数名
変数の記述
タイプ
evt
イベント。デバッグプリントに使用します。
NSDictionary
アップロード結果:TXMediaPublishResult
メンバー変数名
変数の説明
タイプ
retCode
エラーコード
int
descMsg
アップロード失敗のエラー記述。
NSString
mediaId
画像/メディアファイルIDです。
NSString
mediaURL
画像/メディアストレージアドレスです。
NSString
事前アップロード:TXUGCPublishOptCenter.prepareUpload
パラメータ名
パラメータの記述
タイプ
入力必須
signature
NSString
はい

エラーコード

SDKは、TXMediaPublishListenerインターフェースによって画像/メディアのアップロードのステータスを監視します。従って、TXMediaPublishResultretCodeを使用して、画像/メディアの公開状況を確認することができます。
エラーコード
TVCCommonにおいて対応する定数
意味
0
TVC_OK
アップロードに成功しました。
1001
TVC_ERR_UGC_REQUEST_FAILED
アップロードリクエストが失敗しました。通常、クライアントの署名が期限切れまたは無効になっており、Appに署名を再申請する必要があります。
1002
TVC_ERR_UGC_PARSE_FAILED
リクエスト情報の解析に失敗しました。
1003
TVC_ERR_VIDEO_UPLOAD_FAILED
ビデオのアップロードに失敗しました。
1004
TVC_ERR_COVER_UPLOAD_FAILED
カバーのアップロードに失敗しました。
1005
TVC_ERR_UGC_FINISH_REQ_FAILED
アップロード終了リクエストが失敗しました。
1006
TVC_ERR_UGC_FINISH_RSP_FAILED
アップロード終了レスポンスのエラーです。
1008
TVC_ERR_FILE_NOT_EXIST
渡されたファイルパスにファイルが存在しません。
1009
TVC_ERR_ERR_UGC_PUBLISHING
ビデオアップロード中。
1010
TVC_ERR_UGC_INVALID_PARAME
無効なパラメータ。
1012
TVC_ERR_INVALID_SIGNATURE
ショートビデオのアップロードサインが空です。
1013
TVC_ERR_INVALID_VIDEOPATH
ビデオパスが空です。
1017
TVC_ERR_USER_CANCLE
ユーザー呼び出しでアップロードをキャンセルします。
1020
TVC_ERR_UPLOAD_SIGN_EXPIRED
サインが期限切れになりました。


ヘルプとサポート

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

フィードバック