tencent cloud

Video on Demand

릴리스 노트 및 공지 사항
릴리스 노트
제품 소개
제품 개요
Product Features
제품 기능
제품 장점
시나리오
솔루션
구매 가이드
과금 개요
과금 방식
구매 가이드
청구서 조회
연장 안내
연체 안내
환불 안내
시작하기
콘솔 가이드
콘솔 소개
서비스 개요
애플리케이션 관리
미디어 관리
리소스 패키지 관리
License Management
사례 튜토리얼
미디어 업로드
VOD 미디어 파일을 스마트 콜드 스토리지하는 방법
비디오 처리
배포 및 재생
이벤트 알림 수신 방법
원본 서버 마이그레이션 방법
라이브 방송 녹화
사용자 지정 Origin-pull을 수행하는 방법
라이브 방송 하이라이트 클리핑을 VOD에 통합하기 위한 가이드
EdgeOne을 사용하여 VOD 콘텐츠 배포하는 방법
개발 가이드
미디어 업로드
미디어 처리
비디오 AI
이벤트 알림
비디오 재생
미디어 파일 다운로드
서브 애플리케이션 시스템
오류 코드
플레이어 SDK 문서
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
FAQs
모바일 재생
요금
비디오 업로드
비디오 배포
비디오 재생
Web 재생
전체 화면 재생
데이터 통계
액세스 관리
미디어 자산 콜드 스토리지
Agreements
Service Level Agreement
VOD 정책
개인 정보 보호 정책
데이터 처리 및 보안 계약
문의하기
용어집

iOS에 SDK 업로드

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-11-26 17:23:47
VOD는 iOS 클라이언트에 비디오를 업로드하기 위한 SDK를 제공합니다. 업로드 프로세스에 대한 자세한 내용은 클라이언트 업로드 가이드를 참고하십시오.
SDK 이름
VOD iOS 업로드 SDK
버전 번호
V1.2.5.0
SDK 소개
App의 최종 사용자에게 로컬 비디오를 VOD 플랫폼에 업로드하는 기능 제공
개발자
Tencent Cloud Computing (Beijing) Co., Ltd.
SDK 다운로드
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 계산 방법에 대한 자세한 내용은 클라이언트 업로드 서명을 참고하십시오.

업로드 API 호출

[_videoPublish publishVideo:publishParam];
참고:
업로드 API는 파일 크기에 따라 단순 업로드 또는 멀티파트 업로드를 자동으로 선택합니다. 멀티파트 업로드를 수동으로 설정할 필요가 없습니다.
서브 애플리케이션에 업로드하려면 서브 애플리케이션 시스템 - 클라이언트에서 업로드를 참고하십시오.

고급 기능

썸네일 업로드

썸네일을 업로드하려면 썸네일 경로를 전달합니다.
TXPublishParam *publishParam = [[TXPublishParam alloc] init];
publishParam.signature = @"귀하의 비즈니스 백엔드에서 생성된 서명";
publishParam.coverPath = @"커버 이미지 파일의 경로";
publishParam.videoPath = @"비디오 파일의 경로";

업로드 취소 및 재개

업로드를 취소하려면 canclePublish API를 호출합니다.
[_videoPublish canclePublish];
업로드를 재개하려면 TXUGCPublishpublishVideo를 다시 호출하여 동일한 업로드 매개변수와 비디오 및 썸네일 경로를 전달합니다.

체크포인트 재시작 설정

SDK는 자동 체크포인트 재시작을 지원합니다. 업로드가 중단되면 중단된 부분부터 업로드를 재개할 수 있습니다. 체크포인트 재시작을 사용하면 업로드가 중단된 경우 1일 이내에 중단된 지점부터 다시 시작할 수 있습니다. 1일이 지나면 업로드를 재개할 수 없으며 재업로드(파일을 처음부터 다시 업로드)만 가능합니다.
enableResume 매개변수를 사용하여 체크포인트 시작을 활성화하거나 비활성화할 수 있습니다. 기본적으로 활성화되어 있습니다.

https 업로드 활성화

HTTPS 업로드를 활성화하려면 TXPublishParam의 enableHTTPS를 true로 설정하십시오. 기본값은 false입니다.
TXPublishParam *publishParam = [[TXPublishParam alloc] init];
publishParam.enableHTTPS = true;

로그 비활성화

로그 비활성화는 TXUGCPublish의 setIsDebug 메서드를 통해 수행할 수 있으며, 기본적으로 활성화되어 있습니다. 활성화된 상태에서는 logcat 로그가 출력되고, log는 앱의 개인 디렉토리에 저장됩니다.
// 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];


비디오 업로드 API

업로드 객체 초기화: TXUGCPublish::initWithUserID
매개변수
설명
유형
필수
userID
다른 사용자와 구분하기 위해 사용되는 userID입니다.
NSString
No
업로드 시작: TXUGCPublish.publishVideo
매개변수
설명
유형
필수
param
게시 매개변수입니다.
TXPublishParam
Yes
업로드 매개변수: TXPublishParam
매개변수
설명
유형
필수
signature
NSString*
Yes
videoPath
로컬 비디오 파일의 경로입니다.
NSString*
Yes
coverPath
로컬 썸네일 이미지의 경로입니다.
NSString*
No
fileName
Tencent Cloud에 업로드된 파일의 이름입니다. 이 매개변수를 비워 두면 로컬 파일의 기존 이름이 사용됩니다.
NSString*
No
enableResume
체크포인트 재시작 활성화 여부입니다. 기본적으로 활성화되어 있습니다.
BOOL
No
enableHttps
HTTPS 활성화 여부입니다. 기본적으로 비활성화되어 있습니다.
BOOL
No
enablePreparePublish
사전 업로드 메커니즘을 활성화할지 여부로, 기본적으로 활성화되어 있습니다. 사전 업로드 메커니즘은 파일 업로드 품질을 크게 향상시킬 수 있습니다.
BOOL
No
sliceSize
분할 크기는 최소 1MB, 최대 10MB를 지원하며, 기본값은 업로드 파일 크기를 10으로 나눈 값입니다.
long
No
concurrentCount
분할 업로드의 최대 동시 작업 개수는 기본적으로 4개입니다.
int
No
trafficLimit
속도 제한 값 설정 범위는 819200 ~ 838860800, 즉 100KB/s ~ 100MB/s입니다. 이 범위를 초과하면 400 오류가 반환됩니다. 시간 초과를 방지하기 위해 이 값을 너무 작게 설정하지 않는 것이 좋습니다. -1 은 속도 제한이 없음을 의미합니다.
long
No
uploadResumController
재개 컨트롤러는 재개 키 값을 계산하고 저장하는 프로세스를 스스로 구현할 수 있으며, 기본적으로 md5를 이용해 파일 키 값을 계산합니다.
id<IUploadResumeController>
No
업로드 콜백 설정: TXUGCPublish.delegate
구성원 변수
설명
유형
필수
delegate
업로드 진행률 및 결과 콜백 프록시.
TXVideoPublishListener
Yes
업로드 진행률 콜백: onPublishProgress
변수
설명
유형
uploadBytes
업로드된 바이트 수입니다.
NSInteger
totalBytes
총 바이트 수입니다.
NSInteger
업로드 결과 콜백: onPublishComplete
변수
설명
유형
result
업로드 결과입니다.
TXPublishResult
업로드 이벤트 콜백: onPublishEvent
변수
설명
유형
evt
이벤트, 출력하여 디버깅에 사용할 수 있습니다.
NSDictionary
업로드 결과: TXPublishResult
구성원 변수
설명
유형
retCode
에러 코드입니다.
int
descMsg
오류 메시지입니다.
NSString
videoId
VOD 파일 ID입니다.
NSString
videoURL
비디오 URL입니다.
NSString
coverURL
썸네일 URL입니다.
NSString
사전 업로드 설정: TXUGCPublishOptCenter.prepareUpload
매개변수
설명
유형
필수
signature
NSString
Yes

에러 코드

SDK는 TXVideoPublishListener를 사용하여 비디오 업로드 상태를 수신합니다. 따라서 업로드 상태를 얻으려면 TXPublishResult에서 retCode를 확인하십시오.
에러 코드
TVCCommon 상수
설명
0
TVC_OK
성공적으로 업로드되었습니다.
1001
TVC_ERR_UGC_REQUEST_FAILED
일반적으로 유효하지 않거나 만료된 클라이언트 서명으로 인해 업로드 요청이 실패했습니다. 서명을 다시 신청해야 합니다.
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
서명이 만료되었습니다

이미지 및 기타 미디어 업로드 API

업로드 객체 초기화: TXUGCPublish::initWithUserID
매개변수
설명
유형
필수
userID
다른 사용자와 구분하기 위해 사용되는 userID입니다.
NSString
No
업로드 시작: TXUGCPublish.publishMedia
매개변수
설명
유형
필수
param
게시 매개변수입니다.
TXMediaPublishParam
Yes
업로드 매개변수: TXMediaPublishParam
매개변수
설명
유형
필수
signature
NSString*
Yes
mediaPath
로컬 미디어 파일의 경로입니다.
NSString*
Yes
fileName
Tencent Cloud에 업로드된 파일의 이름입니다. 이 매개변수를 비워 두면 로컬 파일의 원래 이름이 사용됩니다.
NSString*
No
enableResume
체크포인트 재시작 활성화 여부입니다. 기본적으로 활성화되어 있습니다.
BOOL
No
enableHttps
HTTPS 활성화 여부입니다. 기본적으로 비활성화되어 있습니다.
BOOL
No
enablePreparePublish
사전 업로드 메커니즘을 활성화할지 여부로, 기본적으로 활성화되어 있습니다. 사전 업로드 메커니즘은 파일 업로드 품질을 크게 향상시킬 수 있습니다.
BOOL
No
sliceSize
분할 크기는 최소 1MB, 최대 10MB를 지원하며, 기본값은 업로드 파일 크기를 10으로 나눈 값입니다.
long
No
concurrentCount
분할 업로드의 최대 동시 작업 개수는 기본적으로 4개입니다.
int
No
trafficLimit
속도 제한 값 설정 범위는 819200 ~ 838860800, 즉 100KB/s ~ 100MB/s입니다. 이 범위를 초과하면 400 오류가 반환됩니다. 시간 초과를 방지하기 위해 이 값을 너무 작게 설정하지 않는 것이 좋습니다. -1 은 속도 제한이 없음을 의미합니다.
long
No
uploadResumController
재개 컨트롤러는 재개 키 값을 계산하고 저장하는 프로세스를 스스로 구현할 수 있으며, 기본적으로 md5를 이용해 파일 키 값을 계산합니다.
id<IUploadResumeController>
No
업로드 콜백 설정: TXUGCPublish.TXMediaPublishListener
구성원 변수
설명
유형
필수
mediaDelegate
업로드 진행률 및 결과 콜백 대리.
TXMediaPublishListener
Yes
업로드 진행률 콜백: onMediaPublishProgress
변수
설명
유형
uploadBytes
업로드된 바이트 수입니다.
NSInteger
totalBytes
총 바이트 수입니다.
NSInteger
업로드 결과 콜백: onMediaPublishComplete
변수
설명
유형
result
업로드 결과입니다.
TXMediaPublishResult
업로드 이벤트 콜백: onMediaPublishEvent
변수
설명
유형
evt
이벤트, 출력하여 디버깅에 사용할 수 있습니다.
NSDictionary
업로드 결과: TXMediaPublishResult
구성원 변수
설명
유형
retCode
에러 코드입니다.
int
descMsg
오류 메시지입니다.
NSString
mediaId
미디어 파일 ID입니다.
NSString
mediaURL
미디어 파일의 URL입니다.
NSString
사전 업로드 설정: TXUGCPublishOptCenter.prepareUpload
매개변수
설명
유형
필수
signature
NSString
Yes

에러 코드

SDK는 TXMediaPublishListener를 사용하여 비디오 업로드 상태를 수신합니다. 따라서 업로드 상태를 얻으려면 TXMediaPublishResult에서 retCode를 확인하십시오.
에러 코드
TVCCommon 상수
설명
0
MEDIA_PUBLISH_RESULT_OK
성공적으로 업로드되었습니다.
1001
MEDIA_PUBLISH_RESULT_UPLOAD_REQUEST_FAILED
일반적으로 유효하지 않거나 만료된 클라이언트 서명으로 인해 업로드 요청이 실패했습니다. 서명을 다시 신청해야 합니다.
1002
MEDIA_PUBLISH_RESULT_UPLOAD_RESPONSE_ERROR
요청 정보를 구문 분석하지 못했습니다.
1003
TVC_ERR_VIDEO_UPLOAD_FAILED
비디오 업로드 실패
1004
TVC_ERR_COVER_UPLOAD_FAILED
커버 업로드 실패
1005
MEDIA_PUBLISH_RESULT_PUBLISH_REQUEST_FAILED
업로드를 종료하지 못했습니다.
1006
MEDIA_PUBLISH_RESULT_PUBLISH_RESPONSE_ERROR
업로드 종료 시 응답 오류가 발생했습니다.
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
서명이 만료되었습니다


도움말 및 지원

문제 해결에 도움이 되었나요?

피드백