tencent cloud

フィードバック

iOSアップロードSDK

最終更新日:2023-10-26 17:31:32
    VODは、iOSプラットフォームでビデオをアップロードするシナリオ向けに、iOSアップロードSDKを提供しています。アップロードのフローについては、クライアントからのアップロードガイドをご参照ください。

    ソースコードのダウンロード

    1. iOSアップロードDemoとソースコードをクリックしてダウンロードします。
    2. ダウンロードした圧縮パッケージを解凍すると、TXUGCUploadDemoディレクトリが表示されます。アップロードソースコードは、TXUGCUploadDemo/uploadディレクトリにあります。

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

    1. ソースコードディレクトリTXUGCUploadDemo/uploadをプロジェクトディレクトリにコピーします。
    2. 動的ライブラリQCloudCore.frameworkQCloudCOSXML.frameworkTXUGCUploadDemo/upload/COSSDK/ディレクトリにあります)をプロジェクトにインポートし、次の依存ライブラリを追加します。
    1. CoreTelephony.framework
    2. Foundation.framework
    3. SystemConfiguration.framework
    4. libc++.tbd
    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 *_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
    いいえ
    アップロードコールバックの設定: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
    アップロード終了レスポンスのエラーです。

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

    アップロードオブジェクトの初期化:TXUGCPublish::initWithUserID
    パラメータ名
    パラメータの記述
    タイプ
    入力必須
    userID
    ユーザーのuserID。ユーザーを区別するために使用されます。
    NSString
    いいえ
    アップロードの開始:TXUGCPublish.publishMedia
    パラメータ名
    パラメータの記述
    タイプ
    入力必須
    param
    パラメータをリリースします。
    TXMediaPublishParam
    はい
    アップロードパラメータ:TXMediaPublishParam
    パラメータ名
    パラメータの記述
    タイプ
    入力必須
    signature
    NSString*
    はい
    mediaPath
    ローカル画像/メディアファイルパスです。
    NSString*
    はい
    fileName
    Tencent Cloudにアップロードする画像/メディアファイル名です。入力しない場合はデフォルトでローカルファイル名を使用します。
    NSString*
    いいえ
    enableResume
    中断からの再開を有効にするか。デフォルトでは有効になっています。
    BOOL
    いいえ
    enableHttps
    HTTPSを有効にするか。デフォルトでは無効になっています。
    BOOL
    いいえ
    アップロードコールバックの設定: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
    MEDIA_PUBLISH_RESULT_OK
    アップロードに成功しました。
    1001
    MEDIA_PUBLISH_RESULT_UPLOAD_REQUEST_FAILED
    アップロードリクエストが失敗しました。通常、クライアントの署名が期限切れまたは無効になっており、Appに署名を再申請する必要があります。
    1002
    MEDIA_PUBLISH_RESULT_UPLOAD_RESPONSE_ERROR
    リクエスト情報の解析に失敗しました。
    1003
    MEDIA_PUBLISH_RESULT_UPLOAD_VIDEO_FAILED
    画像/メディアのアップロードに失敗しました。
    1005
    MEDIA_PUBLISH_RESULT_PUBLISH_REQUEST_FAILED
    アップロード終了リクエストが失敗しました。
    1006
    MEDIA_PUBLISH_RESULT_PUBLISH_RESPONSE_ERROR
    アップロード終了レスポンスのエラーです。
    
    お問い合わせ

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

    テクニカルサポート

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

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