본문 바로가기

# 03/프로토콜

HDS

반응형


f4f - 세그먼트 파일
f4f 파일안에는 소스파일의 세그먼트안에 클라이언트 플레이어가 재생을 요청할 콘텐츠 조각이 포함된다. 플레이어는 url을 사용하여 각 조각을 처리한다. 하나의 미디어 파일의 경우 데이터 속도에 따라 여러개의 세그먼트 파일이 있다. 
1. myhdsvideoSeg1.f4f 
2. myhdsvideo_300kSeg1.f4f 
3. myhdsvideo_600kSeg1.f4f 
4. myhdsvideo_1200kSeg1.f4f

f4m - 매니페스트 파일
코덱 해상도 및 다중비트전송률 파일에 대한 정보가 들어있다. 
플레이어가 비디오 파일을 재생하는 데 필요한 정보가 들어있는 xml파일. 
사용가능한 프로파일에 대한 정보를 포함. 
1. myhdsvideo_300k.f4m 
2. myhdsvideo_600k.f4m 
3. myhdsvideo_1200k.f4m

f4x - 인덱스 파일
세그먼트 파일 내의 조각에 대한 위치정보를 포함하는 인덱스 파일이다. 
스트림 내의 특정 프래그먼트의 위치를 포함한다.
1. myhdsvideoSeg1.f4x 
2. myhdsvideo_300kSeg1.f4x 
3. myhdsvideo_600kSeg1.f4x 
4. myhdsvideo_1200kSeg1.f4x

인덱스파일
  #! / bin / bash
mp4split -o video_200k-Seg1.f4f \
video_200k.mp4 \
audio_aac-lc.mp4
mp4split -o video_400k-Seg1.f4f \
video_400k.mp4 \
audio_aac-lc.mp4
mp4split -o video_600k-Seg1.f4f \
video_600k.mp4 \
audio_aac-lc.mp4
mp4split -o video_800k-Seg1.f4f \
video_800k.mp4 \
audio_aac-lc.mp4
mp4split -o audio_he-aac-Seg1.f4f \
audio_he-aac.mp4


세그먼트 파일
#! / bin / bash
mp4split -o video_400k.mp4 \
video_400k.mp4 \
audio_aac-lc.mp4
mp4split -o video_800k.mp4 \
video_800k.mp4 \
audio_he-aac.mp4


매니페스트 파일
#! / bin / bash
mp4split -o video.f4m \
video_200k-Seg1.f4f \
video_400k-Seg1.f4f \
video_600k-Seg1.f4f \
video_800k-Seg1.f4f \
audio_he-aac-Seg1.f4f --track_description = he_aac


hds는 mpeg-4 컨테이너 조각을 추출하여 전달하는 단일 집계 파일을 사용한다.
hds는 청크 요청에 시퀀스 번호를 사용하므로 클라이언트는 매니페스트 파일을 계속 다운로드 할 필요가 없다.
hds는 매니페스트 외에 부트스트랩 파일이 있다. 이 파일은 라이브 케이스에서 업데이트 된 시퀀스 번호를 제공하며 반복적으로 다운로드 되는 hls 재생목록과 동일하다. 
hls에서 처럼 클라이언트가 사용 가능한 청크의 url을 파생시킬 수 있게 하는 데이터는 클라이언트에 의해 반복적으로 다운로드 된다. 이를 부트스트랩 정보라고 한다. 바이너리 형식이므로 사람이 읽을 수 없다. 세그먼트 하나의 파일에 오디오 및 비디오 정보를 모두 포함하는 단편화된 mp4 파일로 인코딩 된다.


=>hds도 세가지 파일로 구성되어 있고 세그먼트 파일과 그 위치 정보를 알려주는 인덱스 파일 해상도 및 다중비트전송률에 대한 정보가 들어있는 매니페스트 파일이 있습니다. 세그먼트를 요청할때 시퀀스 번호를 사용하기 때문에 매니페스트 파일을 계속 다운로드 할 필요는 없다.


반응형

'# 03 > 프로토콜' 카테고리의 다른 글

Automated Objective and Subjective Evaluation of HTTP Adaptive Streaming Systems  (0) 2019.02.05
MPEG DASH  (0) 2019.02.05
HLS  (0) 2019.02.05
MPEG DASH: A Technical Deep Dive and Look at What’s Next  (0) 2019.02.05
용어정리  (0) 2019.02.05