| 리포트 | 기술문서 | 테크-블로그 | 글로벌 블로그 | 원샷 갤러리 | 통신 방송 통계  | 한국 ICT 기업 총람 |

제품 검색

| 네트워크/통신 뉴스 | 기술자료실 | 자유게시판 |  
 
 
섹션 5G 4G LTE C-RAN/Fronthaul Gigabit Internet IPTV/UHD IoT SDN/NFV Wi-Fi Video Streaming KT SK Telecom LG U+ OTT Network Protocol CDN YouTube Data Center
 
스폰서채널 |

 

  스폰서채널 서비스란?
HTTP Adaptive Streaming 분석 - Microsoft Silverlight Smooth Streaming
HTTP Adaptive Streaming: Microsoft Silverlight Smooth Streaming
By Netmanias (tech@netmanias.com)
banner
코멘트 (0)
13
Page 1 of 2

 

왼쪽 Download PDF File을 클릭하시어 문서를 다운로드 받거나 Next를 클릭하여 온라인으로 전문을 보실 수 있습니다.

 

인터넷 비디오 기술에서 HTTP Adaptive Streaming 기술이 현재 주종인 Progressive Download 방식을 대체해나가고 있다. HTTP Adaptive Streaming은 Microsoft의 Silverlight Smooth Streaming (SSS), Adobe의 HTTP Dynamic Streaming (HDS) 그리고 Apple의 HTTP Live Streaming (HLS)이 대표적인 기술이다. 본 기술문서에서의 이중에 Microsoft의 SSS에 대해 Workflow를 분석하고 Wireshark Capture를 통해 Manifest Request/Response, Fragment Request/Response 메시지 등을 정리하였다.

 

 

 

 

Page 1 of 2
Thank you for visiting Netmanias! Please leave your comment if you have a question or suggestion.
Transcript
Netmanias Technical Document : Analysis on Microsoft Sliverlight Smooth Streaming (SSS)

2011년 8월 30일
NMC Consulting Group (tech@netmanias.com)

www.netmanias.com www.nmcgroups.com
About NMC Consulting Group

Copyright ⓒ 2002-2011 NMC Consulting Group. All rights reserved.

Page 2

..
.
Origin Server
(IIS Media Server)
CDN
(optional)
2sec
Player
(Silverlight)
Fragmented MP4 file
[Avatar_2750000.ismv]
Fragmented MP4 file
[Avatar_2040000.ismv]
Fragmented MP4 file
[Avatar_350000.ismv]
Client Manifest
file [Avatar.ismc]
Media Assets (Disk Storage)
...
Decoding
(VC-1, H.264)
A Chunk = a
single GoP
1 0 2
Manifest Request for Avatar [Avatar.ism]
Manifest Response [Avatar.ismc]
Fragment Request (Avatar.ism/350000/Video=0s)
HTTP PDL (Fragment 0)
Fragment Request (Avatar.ism/2040000/Video=2s)
HTTP PDL (Fragment 1)
Fragment Request (Avatar.ism/2750000/Video=4s)
HTTP PDL (Fragment 2)
Fragment Request (Avatar.ism/2040000/Video=6s)
HTTP PDL (Fragment 3)
3
Smooth Streaming
Start Quickly
(Lowest Bit-Rate)
Improve Quality
Congestion
Detection
Improve Quality
Bitrate (f)MP4 file
2750000 Avatar_2750000.ismv
2040000 Avatar_2040000.ismv
...
350000 Avatar_350000.ismv
1. Transcoding (VC-1 or H.264)
Multi-Bite Rate/Multi-Resolution
2. generates a single contiguous Fragmented MP4 file
per bit rate
3. generates a Server Manifest file and
Client Manifest file
· 2750000bps
· 1280x720
· VC-1
...
Fragmented MP4 file
[Avatar_2750000.ismv]
Fragmented MP4 file
[Avatar_2040000.ismv]
Fragmented MP4 file
[Avatar_350000.ismv]
· 2040000bps
· 1056x592
· VC-1
· 350000bps
· 320x176
· VC-1
Server Manifest file [Avatar.ism]
Client Manifest file [Avatar.ismc]
Encoder
Fragmented MP4 file MP4 fragment (=Chunk)
File Type (ftyp)
Movie Metadata (moov) Movie Fragment Random Access (mfra)
Fragment (Chunk)
MPEG-4 Part 14 (ISO/IEC 14496-12) File Format
...
...
...
Fragmented MP4 files
...
...
...
...
Manifest files
...
...
...
Movie Fragment (moof) Media Data (mdat)
3 2 1 0
cn=0
d=2sec
cn=1
d=2sec
cn=298
d=1sec
cn=0
d=2sec
cn=1
d=2sec
cn=298
d=1sec
cn=0
d=2sec
cn=1
d=2sec
cn=298
d=1sec
cn=0
d=2sec
cn=1
d=2sec
cn=298
d=1sec
cn=0
d=2sec
cn=1
d=2sec
cn=298
d=1sec
cn=0
d=2sec
cn=1
d=2sec
cn=298
d=1sec
0
1
2
3
www.netmanias.com Copyright ⓒ 2002-2011 NMC Consulting Group. All rights reserved.
Netmanias Technical Document: ANALYSIS ON MICROSOFT SMOOTH STREAMING
Server Manifest
file [Avatar.ism]
C
S
C S
C S

Page 3

Manifest Response
<SmoothStreamingMedia MajorVersion=\"1\" MinorVersion=\"0\" Duration=\"5965419999\">
<StreamIndex Type=\"video\" Subtype=\"WVC1\" Chunks=\"299\" Url=\"QualityLevels({bitrate})/
Fragments(video={start time})\">
<QualityLevel Bitrate=\"2750000\" FourCC=\"WVC1\" Width=\"1280\" Height=\"720\"
CodecPrivateData=\"250000010FD3BE27F1678A27F859E804508253EBE8E6C00000010E5AE7F840\" />
<QualityLevel Bitrate=\"2040000\" FourCC=\"WVC1\" Width=\"1056\" Height=\"592\"
CodecPrivateData=\"250000010FD3BE20F1278A20F849E80450823E414DD1400000010E5AE7F840\" />
<QualityLevel Bitrate=\"1520000\" FourCC=\"WVC1\" Width=\"848\" Height=\"480\"
CodecPrivateData=\"250000010FCBAE1A70EF8A1A783BE8045081AE62F3F7400000010E5AE7F840\" />
<QualityLevel Bitrate=\"1130000\" FourCC=\"WVC1\" Width=\"704\" Height=\"400\"
CodecPrivateData=\"250000010FCBA215F0C78A15F831E8045081A27BD635C00000010E5AE7F840\" />
<QualityLevel Bitrate=\"845000\" FourCC=\"WVC1\" Width=\"576\" Height=\"320\"
CodecPrivateData=\"250000010FCB9A11F09F8A11F827E804508199C94077400000010E5AE7F840\" />
<QualityLevel Bitrate=\"630000\" FourCC=\"WVC1\" Width=\"448\" Height=\"256\"
CodecPrivateData=\"250000010FCB920DF07F8A0DF81FE804508113396020C00000010E5AE7F840\" />
<QualityLevel Bitrate=\"470000\" FourCC=\"WVC1\" Width=\"368\" Height=\"208\"
CodecPrivateData=\"250000010FC38E0B70678A0B7819E80450810E5747B6C00000010E5AE7F840\" />
<QualityLevel Bitrate=\"350000\" FourCC=\"WVC1\" Width=\"320\" Height=\"176\"
CodecPrivateData=\"250000010FC38A09F0578A09F815E80450808AADEACF400000010E5AE7F840\" />
<c n=\"0\" d=\"20000000\" />
<c n=\"1\" d=\"20000000\" />
.....
<c n=\"297\" d=\"20000000\" />
<c n=\"298\" d=\"5000001\" />
</StreamIndex>
<StreamIndex Type=\"audio\" Subtype=\"WmaPro\" Chunks=\"299\" Url=\"QualityLevels({bitrate})/
Fragments(audio={start time})\">
<QualityLevel Bitrate=\"64000\"
WaveFormatEx=\"6201020044AC0000451F0000CF05100012001000030000000000000000000000E0004
2C0\" />
<c n=\"0\" d=\"20433560\" />
....
<c n=\"297\" d=\"20433560\" />
<c n=\"298\" d=\"4393197\" />
</StreamIndex>
</SmoothStreamingMedia>
Fragment Response
TCP (Media Data)
TCP (Media Data)
TCP (Media Data)
….
HTTP /1.1 200 OK (video/mp4)
Fragment Request (HTTP Get)
Request Method: GET
Request URI: /mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/
QualityLevels(350000)/Fragments(video=0)
Request Version: HTTP/1.1
Manifest Request (HTTP Get)
Request Method: GET
Request URI: /mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/Manifest
Request Version: HTTP/1.1
Netmanias Technical Document: ANALYSIS ON MICROSOFT SMOOTH STREAMING

Page 5

2. Fragment Request (Video Chunk)
3. Network Throughput
4. Recevied Byte (Video)
Video Chunk
Audio
Chunk
1000000
500000
www.netmanias.com Copyright ⓒ 2002-2011 NMC Consulting Group. All rights reserved.
15개 정도의 Chunk를 Back-to-back Request함 (Buffering State)
어느 정도 버퍼가 쌓이면 Periodic Request (Steady State)
매 Chunk는 Progressive Download (2초 짜리 Chunk를 2초 동안 받는 것이 아니라
Line Rate으로 순식간에 받는 다. 본 테스트에서는 40~50Mbps로 0.x초안에 한
Chunk를 다 받음을 확인할 수 있었다.)
2 sec
Chunk Request
1. Playout BW
2.75 Mbps
2.04 Mbps
1.52 Mbps
1.13 Mbps
845 Kbps
630 Kbps
470 Kbps
350 Kbps
http://www.iis.net/media/experiencesmoothstreaming
Wireshark
Capture
Netmanias Technical Document: ANALYSIS ON MICROSOFT SMOOTH STREAMING
0s 2s 4s 6s 8s 10s 12s 14s 16s 18s 20s 22s 24s 26s 28s 30s 32s 34s 36s

 

 

     
         
     

 

     
     

넷매니아즈 회원 가입 하기

2020년 1월 현재 넷매니아즈 회원은 49,000+분입니다.

 

넷매니아즈 회원 가입을 하시면,

► 넷매니아즈 신규 컨텐츠 발행 소식 등의 정보를

   이메일 뉴스레터로 발송해드립니다.

► 넷매니아즈의 모든 컨텐츠를 pdf 파일로 다운로드

   받으실 수 있습니다. 

     
     

 

     
         
     

 

 

비밀번호 확인
코멘트 작성시 등록하신 비밀번호를 입력하여주세요.
비밀번호