RTMP 는 영상 원본이 A라 할 때 세션을 맺은 후 A에서 NAL 데이터를 추출해서 클라이언트로 바로 전송합니다.
이와 달리 HLS는 A 에서 각 세그먼트를 생성( 1.ts, 2.ts, 3.ts .... ) 하고, 이 segment에 대한 리스트 (m3u8)를 생성해 둬야, 클라이언트에서 리스트를 다운 받고 리스트에 해당하는 세그먼트(ts)를 다운 받아 재생할 수 있는 구조입니다.(DASH는 1.m4v, 2.m4v. 같은 세그먼트와 mpd 를 리스트로 사용한다는 것만 다르고 거의 동일 합니다.)
즉 m3u8 에 들어있는 ts 파일 리스트 갯수에 따라 (ts 파일 시간 * 갯수) + 리스트 생성 시간이 추가로 들어갑니다. 예를 들어 ts 파일 한개당 시간이 5 초이고 m3u8에 있는 ts 파일 리스트가 5개라면, 최소 25초 만큼의 딜레이가 존재할 수 밖에 없습니다.