tencent cloud

비디오를 트랜스코딩하는 방법
마지막 업데이트 시간:2023-10-26 17:26:52
비디오를 트랜스코딩하는 방법
마지막 업데이트 시간: 2023-10-26 17:26:52

사용 수칙

내용 소개

이 문서에서는 VOD로 비디오를 트랜스코딩하고 트랜스코딩 출력 결과를 얻는 방법을 설명합니다.

요금

본문에서 제공된 코드는 오픈 소스이며 무료이지만 사용 중 다음과 같은 비용이 발생할 수 있습니다.
Tencent Cloud API 요청 스크립트를 실행하기 위한 Tencent Cloud CVM 인스턴스 구매 요금입니다. 자세한 내용은 CVM 과금을 참고하십시오.
VOD 저장 공간은 업로드된 비디오 저장에 사용됩니다. 자세한 내용은 스토리지 과금스토리지 리소스 패키지를 참고하십시오.
업로드된 비디오의 VOD 트랜스코딩 시간에 대한 요금입니다. 자세한 내용은 트랜스코딩 과금트랜스코딩 리소스 패키지를 참고하십시오.
비디오 재생에 소비된 VOD 트래픽에 대한 요금입니다. 자세한 내용은 트래픽 과금트래픽 리소스 패키지를 참고하십시오.

매개변수 소개

Tencent Cloud VOD 비디오 트랜스코딩은 현재 다음 형식을 지원합니다.
매개변수
유형
상세 설명
입력 형식
컨테이너 형식
WMV, RM, MOV, MPEG, MP4, 3GP, FLV, AVI, RMVB, TS, ASF, MPG, WEBM, MKV, M3U8, WM, ASX, RAM, MPE, VOB, DAT, MP4V, M4V, F4V, MXF, QT, OGG.
비디오 코덱
AV1, AVS2, H.264/AVC, H.263, H.263+, H.265, MPEG-1, MPEG-2, MPEG-4, MJPEG, VP8, VP9, QuickTime, RealVideo, Windows Media Video.
출력 형식
컨테이너 형식
비디오: FLV, MP4, HLS(m3u8+ts).
오디오: MP3, MP4, OGG, FLAC, m4a.
이미지: GIF, WEBP.
비디오 코덱
H.264/AVC, H.265/HEVC, AV1.
트랜스코딩의 타깃 사양에는 인코딩 포맷, 해상도 및 비트 레이트 등과 같은 매개변수가 포함됩니다. VOD는 트랜스코딩 템플릿을 사용하여 트랜스코딩 매개변수 집합을 나타냅니다. 트랜스코딩 템플릿을 통해 다음과 같은 트랜스코딩 관련 매개변수를 지정할 수 있습니다. 자세한 내용은 비디오 처리 개요를 참고하십시오.
분류
매개변수
설명
비디오 인코딩
코덱(Codec)
H.264, H.265 및 AV1 코덱 지원.
비트 레이트(Bitrate)
지원되는 비트레이트 범위: 10kbps - 35Mbps.
프레임 레이트(Frame Rate)
지원되는 프레임 속도 범위: 1fps - 60fps, 공통 값: 24fps, 25fps 및 30fps.
해상도(Resolution)
너비 값 범위: 128px - 4096px.
높이 값 범위: 128px - 4096px.
GOP 길이
지원되는 GOP 길이 범위: 1초 - 10초.
프로파일(Profile)
비디오 코덱이 H.264인 경우 Baseline, Main, High 프로파일이 지원됩니다.
비디오 코덱이 H.265인 경우 Main 프로파일만 지원합니다.
색 공간(Color Space)
YUV420P 지원.
설명:
인코딩 방식: 특정 압축 기술을 통해 비디오를 다른 형식의 파일로 변환하는 방식을 말합니다. H.264와 비교하여 H.265는 코드 변환을 위해 보다 발전된 인코딩 방법을 사용하여 비트 레이트를 크게 줄이고, 원본 이미지 품질을 유지하면서 재생 대역폭을 절감합니다.
비트 레이트: 인코더가 초당 컴파일하는 데이터 크기(kbps)입니다. 예를 들어 800kbps는 인코더가 초당 800kb의 데이터를 생성한다는 의미입니다.
**프레임 레이트(FPS)**: 초당 프레임 수를 나타냅니다.
해상도: 단위 인치에 포함된 픽셀 수입니다.
GOP: 일반적으로 두 I-프레임 사이의 간격을 나타냅니다.
일반 트랜스코딩 및 다른 해상도의 경우 권장 비트 레이트, 해상도 및 설정 간격은 다음 표와 같습니다.
선명도
권장 비트레이트
권장 해상도
해상도 범위
SD
600
640x480
SD(짧은 면 ≤ 480px)
HD
2000
1280x720
HD(짧은 면 ≤ 720px)
FHD
4000
1920x1080
FHD(짧은 면 ≤ 1080px)
2K
6000
2560x1440
2K(짧은 면 ≤ 1440px)
4K
8000
3840x2160
4K(짧은 면 ≤ 2160px)
Tencent Cloud VOD의 최고 속도 코덱 솔루션은 이미지 품질 복원 및 향상, 콘텐츠 어댑티브 매개변수 선택, V265 인코더와 같은 비디오 처리 솔루션를 통합합니다. 비디오를 더 작고 선명하게 만드는 트랜스코딩 방법을 제공하여 네트워크 리소스를 적게 소비함과 동시에 사용자에게 더 나은 시각적 경험을 제공합니다. VOD는 다음과 같은 세부 매개변수와 함께 다양한 사전 설정 선명도 설정을 제공합니다.
선명도
권장 비트레이트
권장 해상도
해상도 범위
SD
350 또는 비워 두십시오
640x480
SD(짧은 면 ≤ 480px)
HD
1350 또는 비워 두십시오
1280x720
HD(짧은 면 ≤ 720px)
FHD
2700 또는 비워 두십시오
1920x1080
FHD(짧은 면 ≤ 1080px)
2K
3500 또는 비워 두십시오
2560x1440
2K(짧은 면 ≤ 1440px)
4K
7500 또는 비워 두십시오
3840x2160
4K(짧은 면 ≤ 2160px)
설명:
비트 레이트가 비어 있는 경우 최고 속도 코덱은 소스 비디오의 지능형 분석을 기반으로 최저 비트 레이트를 설정합니다.

콘솔에서 트랜스코딩 시작

1단계: VOD 활성화

자세한 내용은 시작하기 - 1단계 VOD 활성화를 참고하십시오.

2단계: 비디오 업로드

자세한 내용은 시작하기 - 2단계 비디오 업로드를 참고하십시오. 이 Demo의 테스트 비디오(FileId: 243791581135666182)를 보려면 여기를 클릭하십시오.

설명:
트랜스코딩에 너무 많은 시간이 소요되지 않도록 테스트에 짧은 비디오 파일(지속 시간 수십 초)을 사용하는 것이 좋습니다.

3단계: 트랜스코딩 시작

1. 콘솔의 오디오/비디오 관리 페이지에서 업로드된 테스트 비디오를 확인하고 비디오 처리를 클릭합니다.

2. 팝업 창에서 처리 유형으로 ‘트랜스코딩’을 선택한 다음 트랜스코딩 템플릿을 클릭합니다.

3. 원하는 트랜스코딩 템플릿을 선택하고 확인을 클릭합니다. 이 Demo에서는 사전 설정 템플릿 STD-H264-MP4-360P(템플릿 ID 100010) 및 STD-H264-MP4-540P(템플릿 ID 100020)를 예시로 사용합니다. 사용자 정의 트랜스코딩 템플릿을 사용하려면 템플릿 설정 문서를 참고하십시오.

4. 확인을 클릭하여 트랜스코딩을 시작합니다.

5. ‘작업 센터’ 페이지에서 테스트 비디오의 상태가 ‘완료 됨’이면 오디오/비디오 트랜스코딩이 성공한 것입니다.


4단계: 트랜스코딩 결과 보기

1. 애플리케이션 관리 > 미디어 자산 관리 > 오디오/비디오 관리 페이지에서 테스트 비디오의 상태가 ‘정상’으로 변경되면 트랜스코딩이 완료된 것입니다. 오른쪽의 관리를 클릭하여 비디오 관리 페이지로 들어갑니다.

2. ‘기본 정보’ 탭의 ‘표준 트랜스코딩 목록’에서 STD-H264-MP4-360P 및 STD-H264-MP4-540P 사양의 비디오가 출력됩니다. 오른쪽에 있는 미리보기를 클릭하면 해당 비디오를 바로 볼 수 있습니다. 주소 복사를 클릭하여 해당 출력 비디오의 URL을 복사하고 다른 채널을 통해 시청자에게 게시할 수도 있습니다.


TencentCloud API를 호출하여 트랜스코딩 시작

1단계: Tencent Cloud CVM 준비

Tencent Cloud API 요청 스크립트는 다음 요구 사항을 충족하는 CVM 인스턴스에서 실행해야 합니다.
리전: 제한 없음.
모델: 최소 공식 구성(CPU 코어 1개 및 메모리 1GB)이면 충분합니다.
공중망: 공용 IP가 필요하며 대역폭은 1Mbps 이상이어야 합니다.
운영 체제: 공식 공용 이미지 Ubuntu Server 16.04.1 LTS 64비트 또는 Ubuntu Server 18.04.1 LTS 64비트.
CVM 구매 방법은 운영 가이드 - 인스턴스 생성을 참고하십시오. 시스템 재설치 방법은 운영 가이드 - 시스템 재설치를 참고하십시오.
주의사항:
상기 조건에 부합하는 Tencent Cloud CVM이 없을 경우, 다른 공인 네트워크의 Linux(예: CentOS, Debian 등) 또는 Mac 디바이스에서도 스크립트를 실행할 수 있으나 운영 체제에 따라 스크립트의 개별 명령을 수정해야 합니다. 자세한 수정 방법은 개발자가 직접 검색하시기 바랍니다.

2단계: API 키 가져오기

Tencent Cloud API 요청에는 API Keys(즉, SecretId 및 SecretKey)가 필요합니다. API Keys를 아직 생성하지 않은 경우 키 문서 생성에 따라 생성하십시오. 이미 키를 생성한 경우 키 문서 보기에 따라 API Keys를 받으십시오.

3단계: VOD 활성화

자세한 내용은 시작하기 - 1단계 VOD 활성화를 참고하십시오.

4단계: 비디오 업로드

자세한 내용은 시작하기 - 2단계 비디오 업로드를 참고하십시오. 이 Demo의 테스트 비디오(FileId: 243791581340253754)를 보려면 여기를 클릭하십시오.

설명:
트랜스코딩에 너무 많은 시간이 소요되지 않도록 테스트에 짧은 비디오 파일(지속 시간 수십 초)을 사용하는 것이 좋습니다.

5단계: 트랜스코딩 시작

1. 1단계에서 준비한 CVM 인스턴스에 운영 가이드 - Linux 로그인의 안내에 따라 로그인한 후 원격 단말에 다음 명령어를 입력하여 실행합니다.
ubuntu@VM-69-2-ubuntu:~$ export SECRET_ID=AKxxxxxxxxxxxxxxxxxxxxxxx; export SECRET_KEY=xxxxxxxxxxxxxxxxxxxxx;git clone https://github.com/tencentyun/vod-server-demo.git ~/vod-server-demo; bash ~/vod-server-demo/installer/transcode_api.sh
설명:
2단계에서 얻은 해당 값을 명령어의 SECRET_ID와 SECRET_KEY에 할당하십시오.
2. 해당 명령은 Github로부터 Demo 소스 코드를 다운로드하고 설치 스크립트를 자동 실행합니다. 설치 프로세스는 수 분(실제 시간은 CVM 네트워크 상태에 따라 다름)이 소요되며, 원격 터미널에서 다음과 같은 정보를 인쇄합니다.
[2020-06-15 20:39:56] pip3 설치 시작.
[2020-06-15 20:40:06]pip3 설치 성공.
[2020-06-15 20:40:06]Cloud API Python SDK 설치 시작.
[2020-06-15 20:40:07]Cloud API Python SDK 설치 완료.
[2020-06-15 20:40:07]API 매개변수 설정 시작.
[2020-06-15 20:40:07]API 매개변수 설정 완료.
3. ‘process_media.py’ 스크립트를 실행하여 트랜스코딩을 시작합니다.
ubuntu@VM-69-2-ubuntu:~$ cd ~/vod-server-demo/transcode_api/; python3 process_media.py 243791581340253754
설명:
명령의 243791581340253754를 4단계에서 얻은 실제 FileId로 바꿉니다.
4. 이 명령은 243791581340253754 비디오에 대한 ProcessMedia 요청을 시작하여 두 VOD 사전 설정 트랜스코딩 템플릿 사양 100010 및 100020 으로 트랜스코딩하고 요청 응답 콘텐츠를 출력합니다.
{"TaskId": "1400329073-procedurev2-f6bf6f01612369b6db30f2224792a2aft0", "RequestId": "809918fb-791c-4937-b684-5027ba6bc5f0"}

6단계: 트랜스코딩 결과 보기

1. ‘작업 센터’ 페이지에서 테스트 비디오의 상태가 ‘완료됨’이면 오디오/비디오 트랜스코딩이 성공한 것입니다.

2. 테스트 비디오 트랜스코딩이 완료되어 ‘정상’ 상태로 바뀔 때까지 기다립니다. 그 다음 테스트 비디오 오른쪽에 있는 관리를 클릭하여 비디오 관리 페이지로 들어갑니다.

3. ‘기본 정보’ 탭의 ‘표준 트랜스코딩 목록’에서 해당 사양의 비디오가 출력됩니다. 오른쪽에 있는 미리보기를 클릭하면 해당 영상을 바로 볼 수 있습니다. 주소 복사를 클릭하여 해당 출력 비디오의 URL을 복사하고 다른 채널을 통해 시청자에게 게시할 수도 있습니다.


비디오 업로드 후 자동 트랜스코딩(태스크 플로우)

VOD는 콘솔을 통한 업로드, 서버에서 업로드, 클라이언트에서 업로드, URL에서 가져오기(자세한 내용은 미디어 업로드 개요와 같은 다양한 비디오 업로드 방법을 제공합니다. 모든 업로드 방법을 사용하면 업로드가 완료된 후 자동으로 트랜스코딩을 트리거할 수 있는 태스크 플로우를 지정할 수 있습니다.

비디오 업로드 후 자동 트랜스코딩 (이벤트 알림)

비디오 업로드 또는 트랜스코딩 작업이 완료된 후 VOD 백엔드는 이벤트 알림 요청을 시작합니다. 이벤트 알림 메커니즘을 사용하여 새로 업로드된 비디오에 대한 트랜스코딩을 시작하고 이벤트 알림을 통해 트랜스코딩 결과를 자동으로 얻을 수 있습니다(상기에서 설명한 방법은 콘솔에서 트랜스코딩 결과를 수동으로 조회하는 것입니다). 자세한 내용은 모범 사례의 이벤트 알림 수신 방법을 참고하십시오.
문제 해결에 도움이 되었나요?
더 자세한 내용은 문의하기 또는 티켓 제출 을 통해 문의할 수 있습니다.
아니오

피드백