개요
Zencoder는 다양한 형태의 적응 형 및 세그먼트 스트리밍을 지원합니다.
각 스트리밍 형식은 아래 나열된 API 옵션의 다른 하위 집합을 사용합니다. 자세한 내용은 각 스트리밍 유형에 대한 가이드를 참조하세요.
참고 사항
streaming_delivery_format
streaming_delivery_format:String
API 버전: V2
부모의: outputs
유효한 값 :대시
호환 가능한 작업 유형: VOD
예:대시
설명:
필요한 매니페스트, 디렉터리 구조 또는 기타 패키징을 포함하여 특정 스트리밍 구성을 사용하여 전달 될 출력의 형식 / 프로토콜을 설정합니다.
'대시'출력의 경우 기본 segment_seconds를 2로 변경하고, 고정 키 프레임 간격을 적용하고, MPD 매니페스트를 포함하고, 초기화 및 세그먼트 파일이있는 디렉터리 구조를 만듭니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"streaming_delivery_format": "dash"
}
]
}
또한보십시오: streaming_delivery_profile
streaming_delivery_profile
streaming_delivery_profile:String
API 버전: V2
부모의: outputs
기본:라이브
유효한 값 :라이브, hbbtv_1.5, 주문형
호환 가능한 작업 유형: VOD
예:라이브
설명:
스트리밍 전송 형식의 프로파일을 설정하여 프로파일과의 호환성을 위해 옵션이 선택되도록 합니다. 유효한 옵션은 선택한 항목에 따라 다릅니다. streaming_delivery_format
.
에 대한dash
현재 지원되는 프로필은 다음과 같습니다.
- 라이브-설정합니다
DASH
프로필을 "urn : mpeg : dash : profile : isoff-live : 2011"로 설정하고SegmentTemplate
각각AdaptationSet
. DRM의 경우 8 바이트 IV를 사용합니다.PlayReady
미디어의 PSSH 원자를 포함하여 버전 1.1을 사용합니다. - hbbtv_1.5-설정합니다
DASH
프로필을 "urn : hbbtv : dash : profile : isoff-live : 2012"로 설정하고 오디오 및 비디오 표현에 필요한 속성을 포함합니다. DRM의 경우 16 바이트 IV를 사용합니다.PlayReady
PSSH 원자를 제외한 버전 1.0을 사용합니다. - on_demand-
DASH
프로필을 "urn : mpeg : dash : profile : isoff-on-demand : 2011"로 설정하고 미디어를 세그먼트 화하지 않고 각 스트림에 대해 하나의 조각난 파일로 인코딩합니다. 그렇지 않으면 라이브 프로필과 동일합니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"streaming_delivery_format": "dash",
"streaming_delivery_profile": "hbbtv_1.5"
}
]
}
또한보십시오: streaming_delivery_format
playlist_format
playlist_format:String
API 버전: V2
부모의: outputs
유효한 값 : dash
, mpd
, hls
, m3u
, m3u8
, ism
, mss
, highwinds
호환 가능한 작업 유형: VOD
예:대시
설명:
재생 목록 (변환 매니페스트) 출력의 형식을 설정합니다.
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"playlist_format": "dash"
}
]
}
segment_seconds
segment_seconds:Float
API 버전: V2
부모의: outputs
기본: 10
유효한 값 : 1.0에서 3600.0 사이의 숫자; 2.0 미만의 값은byte_range_segmenting
사용 가능. 매우 짧은 세그먼트가 재생 문제를 일으키는 것으로 확인되었으므로 최종 세그먼트가 지정된 값보다 길 수 있습니다.
호환 가능한 작업 유형: 주문형 비디오
예: 8
설명:
세그먼트화된 출력에서 각 세그먼트의 최대 지속 시간을 설정합니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"segment_seconds": 8
}
]
}
alternate_audio
alternate_audio:Hash
API 버전: V2
부모의: outputs
유효한 값 : 대체 오디오 그룹의 해시 (각각 오디오 스트림 변환 해시의 배열)
호환 가능한 작업 유형: VOD
설명:
다음에 대한 대체 오디오 스트림 세트를 제공합니다. HLS
재생 목록. 필요max_hls_protocol_version
4 이상이어야합니다.
이 옵션은EXT-X-MEDIA
태그를 재생 목록에 추가합니다. 만약name
설정되지 않은 경우 주어진 이름을 기반으로 이름이 생성됩니다. language
.
대체 오디오 변환에 유효한 옵션
language
: "en", "es"또는 "zh"와 같은 오디오 트랙의 언어에 대한 ISO 639 코드입니다.name
(선택 과목): 대체 오디오 그룹의 이름입니다. 이름이 설정되지 않은 경우 기본적으로 언어 이름이 사용됩니다.path
(선택 과목): 이 오디오 변환을위한 M3U8 재생 목록의 선택적 경로입니다. 경로가 설정되지 않은 경우이 대체 오디오 스트림은 소스 스트림에 포함 된 오디오를 설명합니다.source
(선택 과목): 동일한 작업의 미디어 출력에있는 레이블입니다. 이 오디오 스트림을 사용하는 렌 디션의 코덱을 설정하는 데 사용할 수 있습니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"alternate_audio": {
"custom_audio_group": [
{
"source": "english-audio",
"path": "alternate-audio-en.m3u8",
"language": "en"
},
{
"source": "french-audio",
"path": "alternate-audio-fr.m3u8",
"language": "fr"
}
],
"secondary_audio_group": {
"path": "path/to/secondary-audio-group.m3u8",
"language": "en",
"name": "Secondary English Audio Track",
"source": "secondary-english-audio"
}
}
}
]
}
streams
streams:Array
API 버전: V2
부모의: outputs
유효한 값 : 재생 목록 스트림 정보를 포함하는 해시 배열
호환 가능한 작업 유형: VOD
설명:
재생 목록으로 다시 포맷 할 스트림 정보 목록을 제공합니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"streams": [
{
"path": "low/index.m3u8",
"source": "low-hls-rendition"
},
{
"path": "high/index.m3u8",
"source": "high-hls-rendition"
}
]
}
]
}
path
path:String
API 버전: V2
유효한 값 : 매니페스트 파일에 대한 절대 또는 상대 경로를 포함하는 문자열
호환 가능한 작업 유형: VOD
설명:
스트림 매니페스트 파일의 경로를 지정합니다.
참고: 각 스트림에 필요한HLS
, Microsoft Smooth Streaming , 및고풍 SMIL재생 목록.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"streams": [
{
"path": "low/index.m3u8",
"source": "low-hls-rendition"
},
{
"path": "http://example.com/video/high/index.m3u8",
"source": "high-hls-rendition"
}
]
}
]
}
bandwidth
bandwidth:Integer
API 버전: V2
유효한 값 : Kbps의 양의 정수 값
호환 가능한 작업 유형: 주문형 비디오
예: 500
설명:
재생 목록 스트림의 대역폭을 지정합니다. 다음에서 결정된 대역폭을 무시합니다. 출처 .
참고: 각 스트림에 필요한HLS
과고풍 SMIL재생 목록, 출처제공됩니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"streams": [
{
"path": "low/index.m3u8",
"bandwidth": 240
},
{
"path": "high/index.m3u8",
"bandwidth": 640
}
]
}
]
}
resolution
resolution:String
API 버전: V2
유효한 값 : 너비와 높이를 포함하는 문자열 : 800x600
호환 가능한 작업 유형: VOD
설명:
재생 목록 스트림의 해상도를 지정합니다. 다음에서 결정된 해상도를 무시합니다. source
.
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"streams": [
{
"path": "low/index.m3u8",
"bandwidth": 240,
"resolution": "320x180"
},
{
"path": "high/index.m3u8",
"bandwidth": 640,
"resolution": "640x360"
}
]
}
]
}
codecs
codecs:String
API 버전: V2
유효한 값 : HTML5 형식의 코덱을 포함하는 문자열 (예 : mp4a.40.2)
호환 가능한 작업 유형: VOD
설명:
재생 목록 스트림에 사용되는 코덱을 지정합니다. 다음에서 결정된 코덱을 무시합니다. source
.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"streams": [
{
"path": "low/index.m3u8",
"bandwidth": 240,
"codecs": "avc1.42001e, mp4a.40.2"
},
{
"path": "audio/index.m3u8",
"bandwidth": 64,
"codecs": "mp4a.40.2"
}
]
}
]
}
audio
audio:String
API 버전: V2
유효한 값 : 사용할 오디오 GROUP-ID의 이름이 포함 된 문자열입니다. 이 값은 alternate_audio그룹화. 그만큼코덱설정은 대체 오디오 그룹의 모든 코덱을 반영해야합니다.
호환 가능한 작업 유형: VOD
설명:
재생 목록의 대체 오디오 트랙을 지정합니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"alternate_audio": {
"ac3_audio": {
"path": "path/to/ac3-audio.m3u8",
"language": "en",
"default": true,
"source": "ac3-audio-rendition"
},
"source_audio": {
"language": "en",
"default": true
}
},
"streams": [
{
"path": "low/index.m3u8",
"source": "low-hls-rendition",
"audio": "ac3_audio"
},
{
"path": "low/index.m3u8",
"source": "low-hls-rendition",
"audio": "source_audio"
}
]
}
]
}
segment_image_url
segment_image_url:String (URL)
API 버전: V2
부모의: outputs
호환 가능한 작업 유형: VOD
설명:
오디오 전용 세그먼트를 만들 때 지정된 이미지 파일을 각 세그먼트의 축소판으로 사용합니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"segment_image_url": "http://example.com/thumb.png"
}
]
}
segment_video_snapshots
segment_video_snapshots:Boolean
API 버전: V2
부모의: outputs
기본:그릇된
유효한 값 :참 또는 거짓
호환 가능한 작업 유형: 주문형 비디오
예:진실
설명:
비디오 파일을 오디오 전용 세그먼트로 분할하는 경우 비디오의 스냅샷을 각 세그먼트의 축소판으로 만듭니다.
이 옵션은 segment_image_file이 설정된 경우 효과가 없습니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"segment_video_snapshots": true
}
]
}
또한보십시오: segment_image_url
source
source:String
API 버전: V2
호환 가능한 작업 유형: VOD
설명:
동일한 작업의 미디어 출력에있는 레이블을 참조하여 재생 목록의 해당 데이터를 채 웁니다.
에 대한HLS
, 대역폭 , 코덱 , 및해결값은 기본적으로 소스에서 유추됩니다. 어떤대역폭 , 코덱 , 또는해결동일한 스트림에 지정된 값은 추론 된 값을 대체합니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"streams": [
{
"path": "low/index.m3u8",
"source": "low-hls-rendition"
},
{
"path": "high/index.m3u8",
"source": "high-hls-rendition"
}
]
}
]
}
max_hls_protocol_version
max_hls_protocol_version:Integer
API 버전: V2
기본: 샘플 AES 암호화의 경우 5; 그렇지 않으면 2.
유효한 값 : 2-5
호환 가능한 작업 유형: 주문형 비디오
예: 4
설명:
최대 값을 설정합니다. HLS
사용할 프로토콜 버전입니다. 사용 가능한 특수 기능이 사용됩니다.
이 옵션은 다음보다 크거나 같아야합니다. hls_protocol_version
제공되는 경우.
참고: 다음에 만 적용됩니다. HTTP 라이브 스트리밍출력.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"path": "file-240k.m3u8",
"bandwidth": 240,
"max_hls_protocol_version": 4
},
{
"type": "segmented",
"path": "file-64k.m3u8",
"bandwidth": 64,
"max_hls_protocol_version": 4
},
{
"filename":"playlist.m3u8",
"public":1,
"max_hls_protocol_version":4,
"streams":[
{
"path":"file-240k.m3u8"
},
{
"path":"file-64k.m3u8"
}
],
"type":"playlist"
}
]
}
또한보십시오: hls_protocol_version
hls_protocol_version
hls_protocol_version:Integer
API 버전: V2
기본: 에 따라 자동max_hls_protocol_version
환경
유효한 값 : 2-5
호환 가능한 작업 유형: 주문형 비디오
예: 3
설명:
사용할 HLS 프로토콜 버전을 설정합니다. 사용 가능한 특수 기능이 사용됩니다.
참고: 다음에 만 적용됩니다. HTTP 라이브 스트리밍출력.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"hls_protocol_version": 3
}
]
}
또한보십시오: max_hls_protocol_version
hls_optimized_ts
hls_optimized_ts:Boolean
API 버전: V2
기본: true
유효한 값 : true
또는false
호환 가능한 작업 유형: VOD
설명:
TS 세그먼트 파일 최적화HTTP Live Streaming
iOS 기기에서.
참고: 다음에 만 적용됩니다. HTTP Live Streaming
출력.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"hls_optimized_ts": false
}
]
}
prepare_for_segmenting
prepare_for_segmenting:String or Array
API 버전: V2
부모의: outputs
유효한 값 : hls
, mss
, dash
호환 가능한 작업 유형: VOD
예: hls,dash
설명:
출력을 다음으로 변환하려는 경우HLS
, MSS 및 / 또는DASH
캡션과 함께 MP4로 인코딩 한 후 세그먼트 화를위한 캡션 및 키 프레임 타이밍을 포함하려면이 옵션을 true로 설정합니다. 이를 통해 세그먼트 화 된 버전은 트랜스 먹싱에도 불구하고 HLS 호환 캡션을 포함 할 수 있으며 일관된 시간 간격으로 세그먼트화할 수 있습니다.
Zencoder가 필요에 따라 캡션과 키 프레임을 준비 할 수 있도록이 출력이 나중에 생성하기 위해 변환 될 세그먼트 출력 유형을 지정합니다.
참고: 현재 캡션을 추가 할 수 없습니다. HLS
트랜스 먹싱시 출력.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"prepare_for_segmenting": "hls,dash"
}
]
}
또한보십시오: caption_url과 skip_captions
smil-base-url
smil_base_url:String
API 버전: V2
부모의: outputs
호환 가능한 작업 유형: VOD
예: rtmp : //127.0.0.1/base/path/
설명:
그러면 SMIL 재생 목록의 <head> 섹션에 <meta base = "smil_base_url_value"/> 태그가 추가됩니다.
이 예제는 다음과 같은 재생 목록을 출력합니다.
<미소> <머리 > <meta base = "rtmp : //123.456.123.123/path/to/videos/"/> </머리 > <몸 > <스위치> <video src = "mp4 : test.mp4"system-bitrate = "500000"/> </ 스위치> </바디 > </ smil>
노트 : highwinds 형식으로 재생 목록 유형의 출력에서만 작동합니다.
{
"input": "s3://zencodertesting/test.mov",
"output": [
{
"filename": "test.mp4",
"video_bitrate": 400,
"audio_bitrate": 96
},
{
"type": "playlist",
"format": "highwinds",
"smil_base_url": "rtmp://123.456.123.123/path/to/videos/",
"url": "ftp://my.server/playlist.smil",
"streams": [
{
"path": "test.mp4",
"bandwidth": 500
}
]
}
]
}
byte_range_segmenting
byte_range_segmenting:Boolean
API 버전: V2
부모의: outputs
기본: false
유효한 값 : true
또는false
호환 가능한 작업 유형: 주문형 비디오
예:진실
설명:
구성HLS
세그먼트 당 하나의 파일이 아닌 단일 출력 파일을 생성합니다.
필요max_hls_protocol_version
또는hls_protocol_version
4 이상으로 설정합니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"byte_range_segmenting": true
}
]
}
또한보십시오: max_hls_protocol_version
generate_keyframe_manifest
generate_keyframe_manifest:Boolean
API 버전: V2
부모의: outputs
기본: false
유효한 값 : true
또는false
호환 가능한 작업 유형: VOD
예: true
설명:
생성HLS
빨리 감기 및 역방향 재생에 필요한 키 프레임 (I-frame) 매니페스트입니다.
기본 키 프레임 매니페스트 파일 이름은 재생 목록 파일 이름과 동일하지만 '-iframe-index'가 추가되어 있습니다 ( 'master.m3u8'재생 목록의 경우 키 프레임 매니페스트는 'master-iframe-index.m3u8'). 키 프레임 매니페스트 파일 이름은 다음으로 재정의 할 수 있습니다. keyframe_manifest_filename
.
다음과 같은 경우 기본적으로 활성화됩니다. max_hls_protocol_version
또는hls_protocol_version
4 이상으로 설정됩니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"generate_keyframe_manifest": true,
"keyframe_manifest_filename": "my_iframe_index.m3u8"
}
]
}
또한보십시오: keyframe_manifest_filename
keyframe_manifest_filename
keyframe_manifest_filename:String
API 버전: V2
부모의: outputs
기본: iframe_index.m3u8
호환 가능한 작업 유형: VOD
예: my_iframe_index.m3u8
설명:
지정하지 않는 한 키 프레임 매니페스트에 사용되는 파일 이름은 재생 목록 파일 이름과 동일하지만 '-iframe-index'가 추가됩니다. 예를 들어 재생 목록 'master.m3u8'의 경우 키 프레임 매니페스트는 'master-iframe-index.m3u8'이됩니다.
이 옵션을 사용하려면 generate_keyframe_manifest사실이거나hls_protocol_version
4 이상입니다.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"generate_keyframe_manifest": true,
"keyframe_manifest_filename": "my_iframe_index.m3u8"
}
]
}
또한보십시오: generate_keyframe_manifest
allow_skipped_sources
allow_skipped_sources:Boolean
API 버전: V2
부모의: outputs
기본: false
유효한 값 : true
또는false
호환 가능한 작업 유형: VOD
예: true
설명:
재생 목록을 생성 할 때 참조 된 스트림 중 하나라도 건너 뛴 경우 출력이 실패하는 대신 ( 조건부 출력기능), 재생 목록에서 제외하십시오.
건너 뛴 소스를 제대로 무시하려면 재생 목록의 스트림에source
한정된.
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"allow_skipped_sources": true,
"streams": [
{
"path": "low/index.m3u8",
"source": "low-hls-rendition"
},
{
"path": "high/index.m3u8",
"source": "high-hls-rendition"
}
]
}
]
}
또한보십시오: source