RTMP 스트리밍을 위해 와우자 스트리밍 엔진에서 Low Latency(짧은 대기시간)을 설정하는 방법

 

최근 들어 Low Latency에 대한 관심과 이를 적용하는 장비나 소프트웨어가 시장에 속속 출시되고 있다. 이에 오늘은 미디어 스트리밍 시 가장 많이 사용하는 와우자 스트리밍 엔진(Wowza Streaming Engine)에서 애플리케이션을 설정하여 비디오 캡처에서 RTMP 재생에 이르기까지 가능한 가장 짧은 대기 시간을 달성하는 방법에 대하여 간단히 설명하고 자 한다,

참조.

※ 스트리밍 지연시간(Latency)을 조정하기 위해 이 블로그에서 사용된 속성은 RTMP 기반 클라이언트에만 영향을 줍니다.

Low Latency 라이브 애플리케이션의 사용

낮은 대기 시간 스트리밍 옵션을 라이브 응용 프로그램에서 활성화하여 스트리밍 대기 시간을 줄일 수 있습니다. 이 설정은 일반적으로 비디오 채팅과 같은 하나 또는 몇 개의 클라이언트 응용 프로그램에 라이브 비디오 콘텐츠를 게시하고 재생하는 응용프로그램에서 사용됩니다.

Wowza Streaming Engine Manager 구성

  • 응용 프로그램 탭을 클릭한 다음 라이브 응용 프로그램 이름(예, 라이브)을 클릭하십시오.
  • 세부사항 페이지(Details Page)의 설정(Setup) 탭에서 편집(Edit)을 클릭하십시오.
  • Low Latency stream은 활성화(Enable) 하고 저장(Save)를 클릭한 다음 변경사항을 적용하라는 메시지가 표시되면 응용 프로그램을 다시 시작하십시오

XML 구성

텍스트 편집기(Text Editor)를 사용하여 라이브 애플리케이션의 [install-dir] / conf / [application] /Application.xml 을 열고 treams / StreamType 특성 값을 live-lowlatency로 변경하십시오.

와우자 스트리밍 엔진을 다시 시작하시기 바랍니다.

플레이어 버퍼 시간 (Player Buffer Time) 변경

플레이어 쪽에서는 NetStream.setBufferTime ()0을 설정하는 것이 중요합니다. ( ActionScript3에서는 “NetStream.bufferTime = 0;” 사용). 재생(Playback) 쪽에서는 가능한 가장 낮은 대시 시간을 제공합니다.

0은 최상의 지연 시간을 제공하지만 가장 부드러운 재생을 제공하지 못할 수도 있습니다. 따라서 버퍼 시간을 0보다 약간 큰 값(예, .1 또는. 25)으로 늘려야 할 수 있습니다. H.264로 인코딩 된 비디오를 사용할 때, 0보다 큰 버퍼 설정은 30fps(frame per second)로 인코딩 된 비디오에서 최소 2~3초의 대기 시간이 발생하며 더 낮은 프레임 속도에서는 더 높은 지연이 발생한다는 것을 알 수 있는 데 이것은 플레이어 문제일 것입니다.

참조

JW Player를 사용하는 경우 버퍼 길이는 bufferlength라는 매개 변수를 사용하여 설정됩니다. 와우자 스트리밍 엔진과 JW 플레이어 사용을 참조하기 바랍니다.

Smoothing Low Frame Rate Playback

NetStream.setBufferTime 을 0으로 설정한 상태에서 실행하면 플레이어가 프레임을 즉시 렌더링 하는 방식을 인해 낮은 프레임 속도를 볼 수 있습니다. flushInterval 속성 값을 줄이면 재생을 부드럽게 할 수 있습니다. 그러나 flushInterval 을 사용하면 서버의 스트리밍 당 CPU 로드가 증가하여 서버당 많은 동시 세션을 처리할 수 없습니다.

Wowza Streaming Engine Manager 구성

flushInterval 설정을 사용하여 부드럽게 재생하려면:

응용 프로그램 탭 (Application Tab)을 클릭하고 내용 창에서 라이브 응용프로그램(Live Application)을 선택하십시오.

세부 정보 페이지(Detail Page)에서 속성 탭(Properties Tab)을 클릭한 다음 Quick Links bar에서 Custom을 클릭하십시오.

참조

속성 탭에 대한 접근은 고급 권한이 있는 관리자로 제한됩니다. 자세한 내용은 Manage Credential를 참조하기 바랍니다.

Custom 섹션에서 Edit를 클릭합니다.

Add Custom Property를 클릭하고 Add Custom Property Dialog 창에서 다음 설정을 지정한 다음 Add를 클릭합니다.

Path – Select /Root/Application/Streams.

Name – Enter flushInterval.

Type – Select Integer.

Value – Enter 25.

아래의 값을 사용하여 onFlushNotifyClients의 Property를 추가하려면 이전 단계와 같이 반복하기 바랍니다.

Path – Select /Root/Application/Streams.

Name – Enter onFlushNotifyClients.

Type – Select Boolean.

Value – Enter true.

Save를 클릭한 다음 응용 프로그램을 다시 시작하여 변경 사항을 적용하십시오.

XML 구성

flushInterval을 설정하여 부드럽게 재생하려면:

① 텍스트 편집기를 사용하여 라이브 애플리케이션의 [install-dir] / conf / [application] /Application.xml 을 열고 Streams / Properties 컨테이너에 다음 특성을 추가하십시오, 파일에 여러 개가 있으므로 Application.xml의 올바른 <Properties> 컨테이너에 속성을 추가해야 합니다.

② 와우자 스트리밍 엔진을 다시 시작하십시오.

문의는 sales@castware.co.kr

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다