Tải bản đầy đủ (.pdf) (20 trang)

Ứng dụng xây dựng luồng Video Streaming qua mạng ngang hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (935.56 KB, 20 trang )




HC VIN CÔNG NGH N THÔNG
KHOA VIN THÔNG 1
***

 ÁN
TT NGHII HC

 tài:
XÂY DNG NG DNG LUNG VIDEO
STREAMING QUA MNG NGANG HÀNG



ng dn :  THÚY HÀ
Sinh viên thc hin : LÊ NGC ANH
Lp : D09VT2
Khoá : 2009 - 2014
H I HC CHÍNH QUY



Hà Nội, 12-2013
LÊ NGC ANH XÂY DNG NG DNG LUNG VIDEO STREAMING D09VT2

QUA MNG NGANG HÀNG







HC VIN CÔNG NGH N THÔNG
KHOA VIN THÔNG 1
***

 ÁN
TT NGHII HC

 tài:
XÂY DNG NG DNG LUNG VIDEO STREAMING
QUA MNG NGANG HÀNG



ng dn :  THÚY HÀ
Sinh viên thc hin : LÊ NGC ANH
Lp : D09VT2
Khoá : 2009 - 2014
H I HC CHÍNH QUY



Hà Ni, 12-2013



NHN XÉT CNG DN

















m: (bng ch 

ng dn


 Thúy Hà

 án tt nghii hc M u

Lê Ngọc Anh – D09VT2 4

NHN XÉT CA GIÁO VIÊN PHN BIN



















m: (bng ch 

Giáo viên phn bin


 án tt nghii hc M u

Lê Ngọc Anh – D09VT2 5


Trong nhu phát trin ca ng d  n, khong
na cui thp niên 90, vic xem mt video trên mng gu không
th. Ngày nay, cùng vi s bùng n ca Internet, các ng dn
 thành nhu cu không th thiu ca nhi
dân mng. Theo thng kê, riêng ti M  ng 33 t  c xem

trong tháng 12-2012 (ngun comScore). Con s  cho ta thy c s ln
mnh không ngng ca các ng dng video streaming.
 phát trin mt ng dng video streaming tt gp phi rt
nhiu v. ng di nhiu
 tr thp. Chính vì vy cn phi có mng pháp phân phát video trên
ng truyn hp lý. IP multicast vi kh ng truyn là mt
gii pháp cho v này. Tuy nhiên, vic trin khai IP multicast li rt tn kém
bi toàn mng phi có nht tin, chuyên dngu này
hoàn toàn không kh thi trong mt mng din r   n khai
multicast trên tng ng dng vi vii h tng mng phía
i là mt gii pháp thay th hu hiu cho IP multicast.
Hin nay, trên th git trin rt nhin
tin multicast trên tng ng dn tin multicast da
mng ngang hàng ha hn có nhic thù ca truyn tin multicast là
phi tc mt cây multicast t liên kt cht ch gia các node vi
nhau, có kh c hi li nhanh. Mng ngang hàng có cu trúc hoàn toàn
có th c yêu ci vic liên kt vi nhau bng
mt thut toán c th.
 ng li th ca mng ngang hàng có cu trúc trong vic
truyn tin multicast, khóa luu xây dng ng dng truyn
video streaming multicast da trên nn tng mng ngang hàng có cu trúc
t ni dung khóa lun g
 treaming
i thiu khái quát v k thut Video Streaming. Cu
trúc và cha các thành phn trong h thng video streaming. Nêu ra
các lonh dng tp tin video ph bin hi  cp
n v truyn tin multicast gm truyn tin IP multicast và multicast lp ng
dng.
 


 án tt nghii hc M u

Lê Ngọc Anh – D09VT2 6

i thiu khái quát mng ngang hàng P2P. Khái nim
v mng P2P và các kin trúc mng ca nó. Các mc tiêu, các thun li, khó
ng P2P. Trình bày các cách xây dng lp ph cho truyn video
streaming, nêu mt s h thng ph bin hic s dng trên mng
CoopNet, HyPOm ca các h thng
này.
           
Pastry
 y ch yu mô t quá trình gia nhp, ri nhóm, truyn tin
multicast ti mng và quá trình sa cây multicast.
 


M gn thc còn hn ch, thi gian  án
không nhiu, nên  án tt nghip ca em không th tránh khi nhng thiu sót
v ni dung và hình tht mong nhc s góp ý ca các thy,
 bn  án ca em c hoàn thi.

 án tt nghii hc Li c

Lê Ngọc Anh – D09VT2 7


LI C
c tiên, em mun gi li cc nh Thúy Hà,
ng dn em trong sut quá trình hoàn thành khóa lun tt

nghip.
Em xin gi li cc nht ti tt c các thy, cô giáo
ng Hc Vin Công Ngh n tình ging dy và
 em trong suc v  kin th hoàn
thành khóa lun này.
i li ci tt c bn bè D09VT2 ca tôi, nhi
ng hành cùng tôi trong suc qua.
Cui cùng, xin gi ln b m i thân yêu
ca tôi lòng bic nht.

Hà N
Sinh viên



Lê Ngc Anh



 án tt nghii hc Mc lc

Lê Ngọc Anh – D09VT2 8



 
 
 
 
 

1.1 Tng quan video streaming 13
1.1.1 Gii thiu v Video Streaming 13
1.1.2  14
1.1.3 Kin trúc h thng video streaming 14
1.2 Các loi tp tin video 17
1.3 Hong ca h thng video streaming 19
1.3.1 Kin trúc hong ca mt h thng Video Streaming 19
1.3.2 Mô hình hong tng quát ca h thng 21
1.4 Mt s c phân phi lung video 22
1.4.1 IP multicast 23
1.4.2 Multicast lp ng dng 24
1.5 Kt lu 25
 
2.1 Phân tích mt s m còn tn ti ca k thut streaming truyn thng 26
2.2 Mng ngang hàng Peer-to-Peer 26
2.2.1 Khái nim 26
2.2.2  ca mng ngang hàng 27
2.2.3 Phân loi mng ngang hàng 27
2.2.4 Các v cn xem xét trong P2P streaming 28
2.3 p cn xây dng lp ph 29
p cn dng cây 30
2.3.2 Các h thng lung trc truyn dng 31
p cn dng 35
2.3.4 Các h thng lung trc truyn dng 36
2.4 c tip cn di 37

 án tt nghii hc Mc lc

Lê Ngọc Anh – D09VT2 9


2.4.1 Các h thng lung trc truyn ph bin da trên i 39
2.5 Video theo yêu cu trên P2P 46
2.5.1 H thng VoD da trên dng cây 47
2.5.2 H thng VoD di 50
2.6 Kt lu 52

 
3.1 Gii thiu v Pastry 53
3.2 Quá trình truyn tin multicast trong nhóm Scribe 56
3.2.1 Chi tit gii thut 57
3.2.2 Quá trình gia nhp nhóm (join group): 58
3.2.3 Quá trình ri nhóm (leave group) 59
3.2.4 Truyn tin multicast ti mng 59
3.2.5 Sa cây multicast 60
3.3 Ci thin Scribe bng cu trúc Splitstream 61
3.3.1 Gii thiu SplitStream 61
 xây dng lung trong SplitStream 62
3.4 Kt lu 64
 
 



 án tt nghii hc Danh mc hình v

Lê Ngọc Anh – D09VT2 10


Hình 1.1 Kin trúc ca h thng video streaming 16
Hình 1.2 Kin trúc hong ca h thng 19

 hong tng quát 21
 Error! Bookmark not defined.
 Streaming Error!
Bookmark not defined.
c truyn tin trên mng 23
Hình 1.7 Thành phn ca IP multicast 23
Hình 1.8 (a) IP multicast (b) Multicast lp ng dng 25
Hình 2.1 Phân loi mng ngang hàng 27
Hình 2.2 Các loi P2P Streaming 29
Hình 2.3  30
Hình 2.4 Xây dng li cây Streaming(a)Peer 0 ri (b)Mô hình cây sau khi phc hi 31
Hình 2.5 Gii pháp tp trung cho cu trúc cây và duy trì cây 31
Hình 2.6 Sp xp các host trong NICE. 32
Hình 2.7 SpreadIt  mt ng dng cây multicast xây dng trên các Peer 32
Hình 2.8 SpreadItKin trúc phân lp ca mt Peer 33
Hình 2.9 Ví d v ESM 34
Hình 2.10 T chc hành chính ca Peer trongZigZag 35
 Streaming 35
Hình 2.12 Streaming Media s dng ni dung CoopNet 37
Hình 2.13 Danh sách peer t Tracker Server Hình 2.14 P2PliveVideo Streaming 37
i d liu thit k trong h thng di 38
 h thng ca mt nút Anysee 40
Hình 2.17 Kin PPLive 41
Hình 2.18 M h thng chung cho mt nút DONet 42
Hình 2.19 GridMedia Kin trúc Da trên MSOMP 43
Hình 2.20 Hai li/ cây che ph trong mng lai 45
Hình 2.21 Khung mTreebone (a) mt lp ph lai (b) x lý trng thái nút 46
Hình 2.22 Cu trúc trc tuyn trong CiqueStream 46
Hình 2.23 Cu trúc DirectStream 49
Hình 2.24 BASS: (a) Tng quan h thng, (b)Mu khách hàng 51

Hình 2.25 p cn BiToS 51
Hình 3.1 Bnh tuyn ca nút 10233102 trong Pastry 55
Hình 3.2 Nút 10233102 gn nút 33321220 56
Hình 3.3 Quá trình 1 nút gia nhp vào nhóm 58
Hình 3.4 Truyn tin multicast trong nhóm Scribe 59
Hình 3.5 Quá trình t sa câymulticast 60
Hình 3.6 Mt ví d n minh ha cách tip cn ca SplitStream 62
Hình 3.7 Splitstream F lung 62
t quá gii hn 63



Đồ án tốt nghip đại học Thuật ngữ viết tắt

Lê Ngọc Anh – D09VT2 11


THUT NG VIT TT



ALM
Application Layer Multicast

BASS
BitTorrent Assisted Streaming
System

DHT
Distributed Hash Table


HTTP
Hypertext Transfer Protocol

ID
Indentity

I/O
Input/Ouput

IP
Internet Protocol

LAN
Local Area Network

P2P
Peer  to  Peer

QoS
Quality of Service

RTSP
Real Time Streaming Protocol

TCP
Transmission Control Protocol

UDP
User Datagram Protocol


VoD
Video on Demand



 án tt nghii hc Tóm Tt

Lê Ngọc Anh – D09VT2 12


Thi gian gi s phát trin ca các ng dn trên
mng c s quan tâm ca nhiu
c bit là các ng dng video streaming thi gian thc. IP multicast là gii
pháp hiu qu nht cho yêu cu này. Tuy nhiên, vic trin khai IP multicast trên mng
din rng gp nhiu v     y, nhiu nghiên c  n sang
ng nghiên cu v các ng dng multicast lp ng dng. Nhiu gii pháp multicast
lp ng dm riêng, xong v
c hu ht các yêu cu ca P2P streaming thi gian thc, ví d  ra vào
c tr còn la, các gin v ca các
.
Lun mô t chi tit giao thc mng ngang hàng có cu trúc Pastry và cách thc
tuyn tin multicast trên nn mng ngang hàng Pastry. Trong khóa lun, v truyn
video streaming  c n. T  n xây dng nên ng dng truyn
video streaming multicast trên nn Pastry. Vit qu  c qua quá
trình xây dng cho ta thc nh  m ca vic trin khai multicast trên
mm cn khc phc.




 án tt nghii hc ng quan v k thut video streaming

Lê Ngọc Anh – D09VT2 13


1.1 
1.1.1 
Video là mt loi d li n quan trng phc v cho truyn thông
hoc cho nhu cu gii trí c  i trong nhiu thp niên. Trong thi k u
c x lý và truyi dng tín hi (analog). Vi s phát trin
không ngng ca mn t và máy tính dn s hóa video và m ra mt cuc
cách mng v nén và truyn thông video. S phát trin và ph bin ca Internet gia
nhng truyn thông video qua mng chuyn mch gói best 
effort. Video qua mng Internet gp phi rt nhiu yu t bt li v  tr
và mt gói tin, cùng vi mt s v   chia s tài nguyên mng
gia các lung hay làm th nào có th trin khai hiu qu c truyn thông
mt  nhiu. T t nhiu gic nghiên cu và phát trin nhm khc
phc nhng vn  này.
Video Streaming  liu video
c truyn liên tc t mt ngu n m  thông qua Internet. Video
c s dc gii trí hoc dy h 
c các bài hc, cung ci dùng các ti
kim, lit kê và kh n th hoc hin th li các d liu Video theo yêu cu.Vi
nh dn thng, d liu ch có th hin th 
(download) toàn b, vì vi vng ln
thì công vic này s tiêu tn rt nhiu thi gian.
Video Streaming tit kim thi dùng bng cách s dng các công
ngh gii nén kt hp vi hin th d ling thi trong lúc vn tip tc ti video v.
c gi là k thum (buffering):
           video    chia

  .
   và 


Video c th hii hai dng:
 Video máy
 

qua.
  



 án tt nghii hc ng quan v k thut video streaming

Lê Ngọc Anh – D09VT2 14

1.1.2 
Video Streaming 
 thc hi ln ti v, t
 

 u
Video Streaming:
 

 
           
             
 

và  
  
Video Streaming s dng các giao thc RTSP, MMS, HTTP  truyn d liu
theo dng lung qua mng thi s dng các chu gim dung
ng d liu, cung cp kh  liu ti nhiu mc nén, nhi c
hin th  có th phù hp v ra nhiu mng truyn d ti
  c truyn d liu qua mng.    y vic truyn các Video
Streaming qua mng s ph thuc rt nhiu vào các sn phm phn mm máy ch
lung Video
             nh dng Video
streaming ch gii hn bu trong công ngh streaming: Các hãng
u cung cp các b công c trn gói gm máy ch lung video , truyn
phát d liu theo các giao thc h tr ), Video Playe (hin th d liu ti
dùng), và công c kin to d liu vi các chun nén.
1.1.3 K
1.1.3.1 Kin trúc và chn
Mt h thng bao gm 6 kha trong hình 1.1. Trong
hình 1.1 video và âm thanh gi là d lic nén bng cách s dng các thut
toán nén video và âm thanh rt b r . Theo yêu cu t
khách hàng, mt máy ch streaming s ly video và âm thanh nén d liu trong các
thit b  i lp ng dng QoS là mô-u chnh
các video và âm thanh thành các lung bit theo tình trng mi và các yêu cu
QoS. Sau   dng các giao thc truyn ti nén các chui bit ri gi các gói tin
video và âm thanh qua mng Internet. Gói có th b gim hoc hoc b tr quá mc
trong mng Internet do tc nghn, các gói tin có th b ng do b l nâng

 án tt nghii hc ng quan v k thut video streaming

Lê Ngọc Anh – D09VT2 15


cao chng truyn video và âm thanh c truyn liên tc, dch v phân phc
trin khai trên mng Internet cc gi nhn, s dng giao
thc RSTP p vn chuyc x lý bi lp ng dc
c gii mã  các b gii mã video và âm thanh ng b hóa gia video và
 ng b truyc yêu cu.
T hình 1.1 ta có th thy 6 khi này liên quan rt cht ch vi nhau và chúng là
thành phn thng nht ca kin trúc video streaming.
 . 

 . 
thiên              



   

    át    .       




 video  Internet.
 M. 



       nhanh     

 


 . 


    video streaming.         
  
n
 Use Datagram Protocol (UDP) và 
Real  time Streaming Protocol (RTSP).

 án tt nghii hc ng quan v k thut video streaming

Lê Ngọc Anh – D09VT2 16


Hình 1.1 Kin trúc ca h thng video streaming
1.1.3.2 Cache
Vi nhng h thng máy ch trình chiu Video trc truyn hoc cung cp cho vic
ti v theo yêu cc s dng hin nay, thì vi mi yêu cu ca
n  s c máy ch x m bo yêu cu tp l 
thit lp kt ni. Ti truy xun  cng (hoc thit b  cc b)
 truy xut tp tin yêu ci v u bit tc
 truy xut  cng khá chm. Bên cng tc nhiu dùng
cùng quan tâm trong mt thm (sai khác nh v thi gian), vic truy xut  cng
liên t truy xut cùng mt tc hin ti là rt lãng phí và tn
kém cho máy ch.
 gii quyt v i pháp s dng Cache. c hiu theo
 d li phn cng x lý, nhm mc
 x lý. Cache có th là m ca b nh chính hoc mt thit b 
t c lp. Có rt nhiu loc bin hin nay vi nhng chc
     a CPU, Caching ca Internet Browser, Caching ca

 th  n m x lý Video Caching ngay trên máy
ch thay th cho Web Caching quá ti hin nay. Vit b Cache cng
vi vic có mt gii pháp qun lý Cache hiu qu s gim ti rt nhiu cho máy ch.
Cách thc hong thông qua Cache:
 
 
trên Cache ch


 án tt nghii hc ng quan v k thut video streaming

Lê Ngọc Anh – D09VT2 17



  



1.2 
Các tng thuc 2 loi: codec và không codec. Mt s nh dng
tp tin ta bic loi codec mà t dng
 Hoc các lop tin không ch nh chính xác loi
codec       i t   u là các h ng
(container)  cha ni s d
m c các t bit tp ti dng lo mã hóa. Ta xe







3GP 
3GPP
Multimedia


  
-



ASF 
Advanced
Systems
Format


 


Audio và Windows Media Video.
   hay âm thanh


 án tt nghii hc ng quan v k thut video streaming

Lê Ngọc Anh – D09VT2 18

AVI 

Audio Video
Interleave

   
 (

  

 
            
            


FLV 
Flash Video
           
         
 

 

            

            

MP4 
MPEG-4
Video

 -



MOV 
Apple
QuickTime
Movie
 


RM 
Real Media

 
Video (Real Video) và âm thanh (Real

thông qua internet.


 án tt nghii hc ng quan v k thut video streaming

Lê Ngọc Anh – D09VT2 19

VOB 
DVD Video
Object

 
 

WMV-

Windows
Media Video

 



  




1.2 
1.3.1  
Mt h thng Video treaming hong ch yu gm 3 thành phn: Web server,
Server và Client.

Hình 1.2 Kin trúc hong ca h thng

 án tt nghii hc ng quan v k thut video streaming

Lê Ngọc Anh – D09VT2 20

 Web server
 
              
embeded flash player 
 .
 Khi máy khách  
trong danh sách video mmáy khách



 Server
 Server l  máy
  (thông qua

 Hard Disk: 
 Server Manager:
o   
o 
o 
o 
 Streaming:
o  video, 
Video Streaming  Caching.
o 
.
o  
(3)
 Client
  web browser
i lên Web.(1)
 
embeded flash) và .(2)
 Software  

Tóm li:
 Web Server: 
flash.
 Server: 

  


×