릴리스 노트
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 디렉토리 아래에 있습니다. |
TXUGCUploadDemo/upload를 프로젝트에 복사합니다.pod 'QCloudQuic','6.3.7'pod 'QCloudCOSXML/Slim','6.4.4'// 프로젝트에 이미 해당 종속성이 포함되어 있으면 추가할 필요가 없습니다pod 'AFNetworking','4.0.1'
-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 = @"비디오 파일의 경로";
[_videoPublish publishVideo:publishParam];
TXPublishParam *publishParam = [[TXPublishParam alloc] init];publishParam.signature = @"귀하의 비즈니스 백엔드에서 생성된 서명";publishParam.coverPath = @"커버 이미지 파일의 경로";publishParam.videoPath = @"비디오 파일의 경로";
canclePublish API를 호출합니다.[_videoPublish canclePublish];
TXUGCPublish의 publishVideo를 다시 호출하여 동일한 업로드 매개변수와 비디오 및 썸네일 경로를 전달합니다.enableResume 매개변수를 사용하여 체크포인트 시작을 활성화하거나 비활성화할 수 있습니다. 기본적으로 활성화되어 있습니다.TXPublishParam *publishParam = [[TXPublishParam alloc] init];publishParam.enableHTTPS = true;
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];
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 |
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 | 서명이 만료되었습니다 |
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 |
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 | 서명이 만료되었습니다 |
피드백