Multiplex Channel

Multiplex Channel을 사용하면 여러 입력 스트림을 하나로 결합하여 ABR(Adaptive Bitrate) 스트리밍을 구성하거나, 외부 스트림을 복제하여 다른 애플리케이션으로 전송할 수 있습니다.

Multiplex Channel은 다른 로컬 스트림의 트랙을 가져와 자체 트랙으로 구성합니다. 이미 인코딩된 트랙을 가져오기 때문에, 코덱을 변경하거나 품질을 다시 조정하려는 경우에 유용합니다. 또한 Multiplex Channel은 인코더를 거치지 않고 그대로 Publisher로 전달됩니다.

Configuration

이 기능을 사용하려면 Server.xml에서 Multiplex Provider를 활성화해야 합니다.

Multiplex Channel은 .mux 파일 또는 API를 통해 생성됩니다. <MuxFilesDir>.mux 파일이 위치한 경로이며, 절대 경로 또는 Server.xml이 위치한 경로 기준의 상대 경로로 설정할 수 있습니다.

Multiplex Provider는 <MuxFilesDir> 경로를 모니터링하며, mux 파일이 생성되면 해당 파일을 파싱하여 multiplex channel을 생성합니다. 파일이 수정되면 채널을 삭제한 후 다시 생성하며, 파일이 삭제되면 채널도 삭제됩니다.

Mux file format

mux 파일은 시스템 실행 중에도 생성 및 삭제할 수 있으며, 동적으로 동작합니다. mux 파일의 형식은 다음과 같습니다.

OutputStream

새로 생성될 스트림에 대한 정보이며, 파일 이름과 동일해야 합니다. {Stream Name}.mux 형식이어야 합니다.

SourceStreams

multiplex할 내부 스트림을 지정합니다. stream://{VHost Name}/{App Name}/{Stream Name} 형식으로 다른 VirtualHost나 Application의 스트림도 불러올 수 있습니다. 여러 스트림을 하나로 결합하기 때문에 트랙 이름이 중복될 수 있으며, 이를 방지하기 위해 <TrackMap>을 사용하여 각 트랙 이름을 변경해야 합니다. <SourceTrackName><OutputProfile>/<Encodes>/<Video>/<Name> 또는 <OutputProfile>/<Encodes>/<Audio>/<Name> 값입니다.

Playlist

<OutputProfile>과 동일한 형식을 사용해야 하며, <SourceStreams><TrackMap>에서 재정의된 트랙 이름을 기반으로 구성해야 합니다. 이 Playlist는 해당 스트림에서만 존재하며, <FileName>은 애플리케이션 전체에서 고유해야 합니다.

REST API

MultiplexChannel은 API를 통해서도 제어할 수 있습니다.

Multiplex Channelchevron-right

Last updated