Packaging

최신 업데이트:2025-05-29 11:18:03

미디어 패키징 기능을 통해 오디오 및 비디오 파일의 컨테이너 형식을 변환하면서 콘텐츠 품질을 유지할 수 있습니다. 이 프로세스는 다양한 전송 요구사항에 적응하면서도 미디어 무결성을 보장합니다.

지원 형식

CDNetworks는 광범위한 미디어 형식을 지원합니다:

비디오 형식:

  • MP4, FLV, HLS, DASH, TS, MKV, MOV
  • WMV, AVI, VP8, VP9, RealVideo, Windows Media Video

오디오 형식:

  • AAC, AC-3, MP1, MP2, MP3
  • PCM, RealAudio, Windows Media Audio (WMA), OGG

스토리지 최적화

스트리밍 형식(HLS 및 DASH)의 경우 CDNetworks는 매니페스트 내 세그먼트 공유 기능을 제공합니다. 이는 .mpd(DASH)와 .m3u8(HLS) 파일이 동일한 세그먼트를 공유할 수 있음을 의미하며, 오브젝트 스토리지의 저장 공간 요구사항을 크게 줄입니다.

사용 방법

다음과 같이 fops 명령어를 구성하세요:

<op>/<Format>
    /vn/<value>
    /an/<value>
    /segtime/<value>
    /fastStartSeg/<value>
    /dash_hls_playlist/<value>
    /segtype/<value>
|saveas/<Urlsafe_Base64_Encode(bucket:savedfilename)>

파라미터

파라미터 필수 설명
op 작업 유형. 패키징 시 avthumb 사용
format 대상 형식 (mp4, flv, m3u8, mpd 등)
an 아니오 오디오 트랙 제어:
0 (기본값) - 오디오 트랙 유지
1 - 오디오 트랙 제거
vn 아니오 비디오 콘텐츠 제어:
0 (기본값) - 비디오 콘텐츠 유지
1 - 비디오 콘텐츠 제거
segtime 아니오 HLS/DASH 형식의 세그먼트 지속 시간(초 단위, 1-120)

기본 동작:
• 비 m3u8/mpd 입력: 10초 세그먼트
• 트랜스코딩 없는 m3u8/mpd 입력: 매니페스트만 생성
• 트랜스코딩 포함 m3u8/mpd 입력: 시스템이 동적으로 지속 시간 계산
fastStartSeg 아니오 HLS 전용: 빠른 시작을 위한 단축 초기 세그먼트 설정
형식: MxNs (여기서:
M = 세그먼트 수
N = 초 단위 지속 시간)

예시: 5x3s는 시작 부분에 3초 길이의 5개 세그먼트 생성
segtype 아니오 DASH 전용: DASH 세그먼트 출력 형식 정의:
mp4 - MP4 세그먼트
m4s (기본값) - M4S 세그먼트
dash_hls_playlist 아니오 DASH 콘텐츠에서 HLS 플레이리스트 생성 제어:
1 - 크로스 플랫폼 호환성을 위해 MPD 및 M3U8 파일 동시 생성
0 (기본값) - DASH 중심 전달을 위해 MPD 파일만 생성
saveas 아니오 URL-safe Base64 인코딩 문자열 형식의 출력 위치: Urlsafe_Base64_Encode(bucket:savedfilename)

예제

예제 1: FLV를 MP4로 변환

vod-wcs-test001 버킷의 test.flv 비디오를 MP4 형식으로 패키징:

의사 코드:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.flv)&fops=Urlsafe_Base64_Encode(avthumb/mp4|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test.mp4))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

실제 요청:

curl -v -X POST 
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5mbHY=&fops=YXZ0aHVtYi9tcDR8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViWEEw&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

예제 2: MP4를 HLS로 변환

test.mp4를 15초 세그먼트 HLS 형식으로 패키징:

의사 코드:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/m3u8/segtime/15|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test.m3u8))&force=1&separate=1" 
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

실제 요청:

curl -v -X POST 
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tM3U4L3NlZ3RpbWUvMTV8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViVE4xT0E9PQ==&force=1&separate=1"
-H "Authorization:Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

예제 3: MP4를 DASH로 변환

test.mp4를 DASH 형식으로 패키징:

의사 코드:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mpd)&fops=Urlsafe_Base64_Encode(avthumb/mpd|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test.mpd))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

실제 요청:

curl -v -X POST 
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcGQ=&fops=YXZ0aHVtYi9tcGR8c2F2ZWFzL2RtOWtMWGRqY3kxMFpYTjBNREF4T25SbGMzUXViWEJr&force=1&separate=1"
-H "Authorization:Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"
이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.