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 ポリシー
プライバシーポリシー
データ処理とセキュリティ契約
お問い合わせ
用語集

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
サインが期限切れになりました。


ヘルプとサポート

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

フィードバック