Trong những ngày đầu phát triển của ứng dụng đa phương tiện, khoảng
nửa cuối thập niên 90, việc xem một video trên mạng gần như là điều không
thể. Ngày nay, cùng với sự bùng nổ của Internet, các ứng dụng đa phương tiện
trong đó có video streaming đã trở thành nhu cầu không thể thiếu của nhiều cư
dân mạng. Theo thống kê, riêng tại Mỹ đã có khoảng 33 tỉ video được xem
trong tháng 12-2012 (nguồn comScore). Con số trên đủ cho ta thấy được sự lớn
mạnh không ngừng của các ứng dụng video streaming.
Tuy nhiên, để phát triển một ứng dụng video streaming tốt gặp phải rất
nhiều vấn đề. Ứng dụng video streaming đòi hỏi nhiều băng thông và yêu cầu
độ trễ thấp. Chính vì vậy cần phải có một phương pháp phân phát video trên
đường truyền hợp lý. IP multicast với khả năng tối ưu hóa đường truyền là một
giải pháp cho vấn đề này. Tuy nhiên, việc triển khai IP multicast lại rất tốn kém
bởi nó đòi hỏi toàn mạng phải có những Router đắt tiền, chuyên dụng. Điều này
hoàn toàn không khả thi trong một mạng diện rộng như Internet. Triển khai
multicast trên tầng ứng dụng với việc không làm thay đổi hạ tầng mạng phía
dưới là một giải pháp thay thế hữu hiệu cho IP multicast.
Hiện nay, trên thế giới đã và đang phát triển rất nhiều phương pháp truyền
tin multicast trên tầng ứng dụng khác nhau. Trong đó truyền tin multicast dựa
mạng ngang hàng hứa hẹn có nhiều ưu điểm. Đặc thù của truyền tin multicast là
phải tạo được một cây multicast tối ưu, có sự liên kết chặt chẽ giữa các node với
nhau, có khả năng phục hồi lỗi nhanh. Mạng ngang hàng có cấu trúc hoàn toàn
có thể đáp ứng được yêu cầu đó với việc các node được liên kết với nhau bằng
một thuật toán cụ thể.
66 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 4310 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng ứng dụng luồng video streaming qua mạng ngang hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA VIỄN THÔNG 1
-------***-------
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
XÂY DỰNG ỨNG DỤNG LUỒNG VIDEO
STREAMING QUA MẠNG NGANG HÀNG
Ngƣời hƣớng dẫn : THS.VŨ THỊ 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
Ê
N
G
Ọ
C
A
N
H
X
Â
Y
D
Ự
N
G
Ứ
N
G
D
Ụ
N
G
L
U
Ồ
N
G
V
ID
E
O
S
T
R
E
A
M
IN
G
D
0
9
V
T
2
Q
U
A
M
Ạ
N
G
N
G
A
N
G
H
À
N
G
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA VIỄN THÔNG 1
-------***-------
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
XÂY DỰNG ỨNG DỤNG LUỒNG VIDEO STREAMING
QUA MẠNG NGANG HÀNG
Ngƣời hƣớng dẫn : THS.VŨ THỊ 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ỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
Điểm: ........ (bằng chữ ………………..)
Ngày …. tháng 12 năm 2013
Giáo viên hướng dẫn
ThS. Vũ Thị Thúy Hà
Đồ án tốt nghiệp đạ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
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
………………………………………………………………………
Điểm: ........ (bằng chữ ………………..)
Ngày …. tháng 12 năm 2013
Giáo viên phản biện
Đồ án tốt nghiệp đại học Mở Đầu
Lê Ngọc Anh – D09VT2 5
MỞ ĐẦU
Trong những ngày đầu phát triển của ứng dụng đa phương tiện, khoảng
nửa cuối thập niên 90, việc xem một video trên mạng gần như là điều không
thể. Ngày nay, cùng với sự bùng nổ của Internet, các ứng dụng đa phương tiện
trong đó có video streaming đã trở thành nhu cầu không thể thiếu của nhiều cư
dân mạng. Theo thống kê, riêng tại Mỹ đã có khoảng 33 tỉ video được xem
trong tháng 12-2012 (nguồn comScore). Con số trên đủ cho ta thấy được sự lớn
mạnh không ngừng của các ứng dụng video streaming.
Tuy nhiên, để phát triển một ứng dụng video streaming tốt gặp phải rất
nhiều vấn đề. Ứng dụng video streaming đòi hỏi nhiều băng thông và yêu cầu
độ trễ thấp. Chính vì vậy cần phải có một phương pháp phân phát video trên
đường truyền hợp lý. IP multicast với khả năng tối ưu hóa đường truyền là một
giải pháp cho vấn đề này. Tuy nhiên, việc triển khai IP multicast lại rất tốn kém
bởi nó đòi hỏi toàn mạng phải có những Router đắt tiền, chuyên dụng. Điều này
hoàn toàn không khả thi trong một mạng diện rộng như Internet. Triển khai
multicast trên tầng ứng dụng với việc không làm thay đổi hạ tầng mạng phía
dưới là một giải pháp thay thế hữu hiệu cho IP multicast.
Hiện nay, trên thế giới đã và đang phát triển rất nhiều phương pháp truyền
tin multicast trên tầng ứng dụng khác nhau. Trong đó truyền tin multicast dựa
mạng ngang hàng hứa hẹn có nhiều ưu điểm. Đặc thù của truyền tin multicast là
phải tạo được một cây multicast tối ưu, có sự liên kết chặt chẽ giữa các node với
nhau, có khả năng phục hồi lỗi nhanh. Mạng ngang hàng có cấu trúc hoàn toàn
có thể đáp ứng được yêu cầu đó với việc các node được liên kết với nhau bằng
một thuật toán cụ thể.
Để làm rõ hơn nhữ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ận này đã nghiên cứ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
Pastry. Sau đây là tóm tắt nội dung khóa luận gồm 3 chương.
Chƣơng 1: Tổng quan về kỹ thuật Video Streaming
Trong chương này giới thiệu khái quát về kỹ thuật Video Streaming. Cấu
trúc và chức năng của các thành phần trong hệ thống video streaming. Nêu ra
các loại định dạng tập tin video phổ biến hiện nay. Trong chương I cũng đề cập
đến vấn đề truyền tin multicast gồm truyền tin IP multicast và multicast lớp ứng
dụng.
Chƣơng 2: Hệ thống luồng video qua mạng ngang hàng P2P
Đồ án tốt nghiệp đại học Mở đầu
Lê Ngọc Anh – D09VT2 6
Trong chương này giớ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ó
khăn trong mạ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ện nay đang được sử dụng trên mạng
như NICE, CoopNet, HyPO…Nêu được các ưu nhược điểm của các hệ thống
này.
Chƣơng 3: Xây dựng ứng dụng luồng video streaming qua mạng
Pastry
Chương nà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.
Phần kết luận: Tổng kết lại toàn bộ nội dung luận văn và đưa ra hướng
phát triển tiếp theo.
Mặc dù đã cố gắng nhưng do kiến thức còn hạn chế, thời gian làm đồ á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ức. Do đó em rất mong nhận được sự góp ý của các thầy,
cô giáo để bản đồ án của em được hoàn thiện hơn.
Đồ án tốt nghiệp đại học Lời cảm ơn
Lê Ngọc Anh – D09VT2 7
LỜI CẢM ƠN
Trước tiên, em muốn gửi lời cảm ơn sâu sắc nhất đến cô Vũ Thị Thúy Hà,
người đã tận tình 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ảm ơn chân thành sâu sắc nhất tới tất cả các thầy, cô giáo
trường Học Viện Công Nghệ Bưu Chính Viễn Thông đã tận tình giảng dạy và
giúp đỡ em trong suốt hơn 4 năm học vừa qua để em có đủ kiến thức để hoàn
thành khóa luận này.
Tôi cũng xin gửi lời cảm ơn tới tất cả bạn bè D09VT2 của tôi, những người
đã đồng hành cùng tôi trong suốt 4 năm học qua.
Cuối cùng, xin gửi lời tri ân đến bố mẹ và gia đình, những người thân yêu
của tôi lòng biết ơn sâu sắc nhất.
Hà Nội, tháng 11 năm 2013
Sinh viên
Lê Ngọc Anh
Đồ án tốt nghiệp đại học Mục lục
Lê Ngọc Anh – D09VT2 8
MỤC LỤC
MỞ ĐẦU ........................................................................................................................ 1
MỤC LỤC ..................................................................................................................... 8
DANH MỤC HÌNH VẼ .............................................................................................. 10
TÓM TẮT.................................................................................................................... 12
CHƢƠNG I: TỔNG QUAN VỀ KỸ THUẬT VIDEO STREAMING .................. 13
1.1 Tổng quan video streaming ................................................................................. 13
1.1.1 Giới thiệu về Video Streaming ..................................................................... 13
1.1.2 Quá trình Video Streaming ........................................................................... 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ạt động của hệ thống video streaming ............................................................ 19
1.3.1 Kiến trúc hoạt động của một hệ thống Video Streaming ............................. 19
1.3.2 Mô hình hoạt động tổng quát của hệ thống .................................................. 21
1.4 Một số phương thứ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ận chương 1 ............................................................................................... 25
CHƢƠNG 2: HỆ THỐNG LUỒNG VIDEO QUA MẠNG NGANG HÀNG ....... 26
2.1 Phân tích một số điể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 Ưu thế 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ấn đề cần xem xét trong P2P streaming .............................................. 28
2.3 Các phương pháp tiếp cận xây dựng lớp phủ ...................................................... 29
2.3.1 Phương pháp tiếp cận dạng cây .................................................................... 30
2.3.2 Các hệ thống luồng trực truyến dựa trên cây đơn luồng .............................. 31
2.3.3 Phương pháp tiếp cận dựa trên cây đa luồng ................................................ 35
2.3.4 Các hệ thống luồng trực truyến dựa trên cây đa luồng ................................. 36
2.4 Phương thức tiếp cận dựa trên lưới ..................................................................... 37
Đồ án tốt nghiệp đạ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 lướ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ựa trên lưới ......................................................................... 50
2.6 Kết luận chương 2 ............................................................................................... 52
CHƢƠNG III: ỨNG DỤNG LUỒNG VIDEO STREAMING QUA MẠNG
PASTRY ....................................................................................................................... 53
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
3.3.2 Cơ chế xây dựng luồng trong SplitStream .................................................... 62
3.4 Kết luận chương 3 ............................................................................................... 64
KẾT LUẬN ĐỒ ÁN .................................................................................................... 65
TÀI LIỆU THAM KHẢO .......................................................................................... 66
Đồ án tốt nghiệp đại học Danh mục hình vẽ
Lê Ngọc Anh – D09VT2 10
DANH MỤC HÌNH VẼ
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ạt động của hệ thống .................................................................. 19
Hình 1.3 Lược đồ hoạt động tổng quát ......................................................................... 21
Hình 1.4 Lược đồ hoạt động trên Server ...................... Error! Bookmark not defined.
Hình 1.5 Lược đồ hoạt động quản l Cache trên máy chủ Streaming .................. Error!
Bookmark not defined.
Hình 1.6 Các phương thứ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 Mô hình cây đơn ............................................................................................ 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
Hình 2.11 Cây đa luồng trên cơ sở 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
Hình 2.15 Trao đổi dữ liệu thiết kế trong hệ thống dựa trên lưới ................................ 38
Hình 2.16 Sơ đồ hệ thống của một nút Anysee ............................................................ 40
Hình 2.17 Kiến trúc cơ bản PPLive ............................................................................. 41
Hình 2.18 Một sơ đồ 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ớp 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 Phương pháp tiếp cận BiToS ....................................................................... 51
Hình 3.1 Bảng định tuyến của nút 10233102 trong Pastry .......................................... 55
Hình 3.2 Nút 10233102 gửi thông điệp m đế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 giản minh họa cách tiếp cận của SplitStream ........................ 62
Hình 3.7 Splitstream F luồng ........................................................................................ 62
Hình 3.8 Xác định nút cha khi băng thông đi ra vượ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
Từ viết tắt Tiếng Anh Tiếng Việt
ALM Application Layer Multicast Multicast lớp ứng dụng
BASS BitTorrent Assisted Streaming
System
DHT Distributed Hash Table Bảng băm phân tán
HTTP Hypertext Transfer Protocol Giao thức chuyển tải siêu văn bản
ID Indentity Số nhận dạng
I/O Input/Ouput Đầu vào/Đầu ra
IP Internet Protocol Giao thức mạng Internet
LAN Local Area Network Mạng cục bộ
P2P Peer – to – Peer Mạng ngang hàng
QoS Quality of Service Chất lượng dịch vụ
RTSP Real Time Streaming Protocol Giao thức điều khiển phiên
TCP Transmission Control Protocol Giao thức điều khiển truyền dẫn
UDP User Datagram Protocol Giao thức lớp giao vận
VoD Video on Demand Video theo yêu cầu
Đồ án tốt nghiệp đại học Tóm Tắt
Lê Ngọc Anh – D09VT2 12
TÓM TẮT
Thời gian gần đây, cùng với sự phát triển của các ứng dụng đa phương tiện trên
mạng Internet, video streamig qua Internet ngày càng thu được sự quan tâm của nhiều
người, đặ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ấn đề khó khăn. Do vậy, nhiều nghiên cứu đã chuyển sang
hướ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ụng đã được đưa ra. Tuy chúng có những yêu điểm riêng, xong vẫn chưa đáp
ứng được hầu hết các yêu cầu của P2P streaming thời gian thực, ví dụ như sự ra vào
của các nút, độ trễ còn lớn. Hơn nữa, các giải pháp này chưa xét đến vấn đề của các
nút không đóng góp.
Luận vă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ấn đề truyền
video streaming được đề cập đến. Từ đó khóa luận xây dựng nên ứng dụng truyền
video streaming multicast trên nền Pastry. Việc đánh giá kết quả thu được qua quá
trình xây dựng cho ta thấy được những ưu điểm của việc triển khai multicast trên
mạng ngang hàng, cũng như những nhược điểm cần khắc phục.
Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming
Lê Ngọc Anh – D09VT2 13
CHƢƠNG I: TỔNG QUAN VỀ KỸ THUẬT VIDEO STREAMING
1.1 Tổng quan video streaming
1.1.1 Giới thiệu về Video Streaming
Video là một loại dữ liệu đa phương tiện quan trọng phục vụ cho truyền thông
hoặc cho nhu cầu giải trí của con người trong nhiều thập niên. Trong thời kỳ đầu
video được xử lý và truyền dưới dạng tín hiệu tương tự (analog). Với sự phát triển
không ngừng của mạch điện tử và máy tính dẫn đế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 năm 90 đã định hướ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ề băng thông, độ trễ
và mất gói tin, cùng với một số vấn đề như làm thế nào để 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ả phương thức truyền thông
một – nhiều. Từ đó đã có rất nhiều giải pháp được nghiên cứu và phát triển nhằm khắc
phục những vấn đề này.
Video Streaming được định nghĩa là một “dòng chảy” video, nghĩa là dữ liệu video
được truyền liên tục từ một nguồn đến một đích nào đó thông qua Internet. Video
Streaming thường được sử dụng trong lĩnh vực giải trí hoặc dạy học, dùn