메뉴 닫기

Wowza HLS 스트리밍에서 LIVE 지연시간 줄이기

 

Wowza Streaming Engine 을 이용 LIVE 영상을 송출할 때

RTMP방식으로 보는 것은 원본과 중계 영상간 큰 지연시간이 발생하지 않습니다.

모바일에서는 여러 장점으로  HLS 방식으로 송출된 영상을 보게되는데, 구조상 파일을 먼저 만들고 스트리밍하는 방식을 취하므로 RTMP/RTSP 방식에 비해
지연시간 문제가 발생합니다.   (환경에 따라 지연시간을 다를 수 있으나 안드로이드 기기에서 대략적으로  35초 전후 발생)

* HLS, HLS 장점은 하단부 참조 

Wowza 이런 지연시간을 Cupertino Streaming Packetizer 설정으로 조정해줄 수 있습니다.
***  Wowza Streaming Engine 4.x 이후 버전에서만 지원 ***

 각 LIVE 어플리케이션의 Application.xml 파일을 열고 아래 위치에 관련 설정이 있는지 확인 합니다.  

설정값 위치

<LiveStreamPacketizer>
<Properties>

   이하…

<Property>
	<Name>cupertinoChunkDurationTarget</Name>
	<Value>10000</Value>
	<Type>Integer</Type>
</Property>
<Property>
	<Name>cupertinoMaxChunkCount</Name>
	<Value>10</Value>
	<Type>Integer</Type>
</Property>
<Property>
	<Name>cupertinoPlaylistChunkCount</Name>
	<Value>3</Value>
	<Type>Integer</Type>
</Property>
<Property>
	<Name>cupertinoRepeaterChunkCount</Name>
	<Value>3</Value>
	<Type>Integer</Type>
</Property>

위와 같이 환경 설정값이 존재해야 하고 그 중에 cupertinoChunkDurationTarget 의 Value 값을 조절하면 됩니다.

기본은 10000 값이며,  500 이하의 값을 주면 지연시간을 많이 줄일 수 있습니다.   본 테스트에서는 10 값을 주고 확인함.

<Property>
	<Name>cupertinoChunkDurationTarget</Name>
	<Value>10</Value>
	<Type>Integer</Type>
</Property>

 

cupertinoChunkDurationTarget 기본 값, LIVE 영상

http://neosky.icamv.com/player.php?vod=20151230_130248&storage=_tmp&key=s1451449598

18초 정도 지연시간 발생.

cupertinoChunkDurationTarget 10으로 조정 후, LIVE 영상

http://neosky.icamv.com/player.php?vod=20151230_130449&storage=_tmp&key=s1451449598

5~6초 정도 지연시간이 줄어듬.

* HLS

HTTP 라이브 스트리밍 (HLS) 은 Apple 에서 iOS 운영 체제의 일부로 구현한 비디오 전송 프로토콜입니다.
프로토콜에서 스트리밍 데이터를 m3u8 의 확장자를 가진 재생목록 파일과 잘게 쪼개놓은 다수의 ts 파일들(동영상)을 HTTP 를 통해 전송하는 방식을 사용합니다.

HLS 에서는 ABS(Adaptive Bitrate Streaming) 를 위해 동시에 여러 비트율의 ts 파일에 대한 정보를 제공합니다.
ABS 을 지원하기 위한 m3u8 파일과 ts 파일 구조가 존재하는데, 전체를 대표하는 m3u8 파일이 있고, 대표 파일 내 각각의 비트율별 플레이 리스트 파일을 가리키게 합니다.
각 비트율별 플레이 리스트 파일은 다시 각 비트율에 해당하는 ts 파일을 가리킵니다.

HLS는 확장성이 높고 안정적이기는 하나, 이러한 구조상 파일을 먼저 만들고 스트리밍하는 방식이기 때문에 RTMP/RTSP 방식에 비해 딜레이 문제가 발생할 수 있다.

* HLS 장점

– 인프라 비용 절감
– CDN과 기타 HTTP 캐싱 인프라에서의 캐시 기능
– 프록시와 방화벽에서 차단당할 위험이 줄어듦
– 클라이언트에 대한 추정을 통한 실시간 최적화 (Adaptive Bitrate)
– 포맷으로 인한 안정성 향상
– HTML5 플레이어 구현의 용이성

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다