세그먼트화된 스트리밍 설정

이 항목에는 세그먼트 스트리밍과 관련된 인코딩 설정에 대한 세부 정보가 포함되어 있습니다.

개요

Zencoder는 다양한 형태의 적응 형 및 세그먼트 스트리밍을 지원합니다.

각 스트리밍 형식은 아래 나열된 API 옵션의 다른 하위 집합을 사용합니다. 자세한 내용은 각 스트리밍 유형에 대한 가이드를 참조하세요.

참고 사항

  • 작업에는 하나 이상의 표준 또는 세그먼트 출력이 있어야합니다. 재생 목록 출력만으로 작업을 생성하는 것은 작동하지 않습니다.
  • 재생 목록 출력은 다음을 제외하고 대부분의 출력 옵션을 무시합니다. URL , base_url , filename , streams , public , 및type .
  • 분할 된 출력이 임시 저장소에 업로드되면 ZIP 아카이브 .

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

부모의: outputs / 스트림

유효한 값 : 매니페스트 파일에 대한 절대 또는 상대 경로를 포함하는 문자열

호환 가능한 작업 유형: 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

부모의: outputs / 스트림

유효한 값 : 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

부모의: outputs / 스트림

유효한 값 : 너비와 높이를 포함하는 문자열 : 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

부모의: outputs / 스트림

유효한 값 : 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

부모의: outputs / 스트림

유효한 값 : 사용할 오디오 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

부모의: outputs / 스트림

호환 가능한 작업 유형: 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

부모의: outputs / 스트림

기본: 샘플 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

부모의: outputs / 스트림

기본: 에 따라 자동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

부모의: outputs / 스트림

기본: 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