Đề tài Xây dựng ứng dụng luồng video streaming qua mạng ngang hàng

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ể.

pdf66 trang | Chia sẻ: lvbuiluyen | Lượt xem: 4178 | Lượt tải: 2download
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