tencent cloud

フィードバック

iOSアップロードSDK

最終更新日:2024-11-15 10:53:24
    iOS プラットフォームでビデオをアップロードするシナリオ向けに、VOD は iOS アップロード SDKを提供しています。アップロード手順については、 クライアントからのアップロードガイドラインをご参照ください。
    SDK 名
    VOD の iOS アップロード SDK
    バージョン番号
    V1.1.23.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
    サインが期限切れになりました。
    
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)