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

  • Số trang: 66 |
  • Loại file: PDF |
  • Lượt xem: 154 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô tả:

LÊ NGỌC ANH HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA VIỄN THÔNG 1 -------***------- XÂY DỰNG ỨNG DỤNG LUỒNG VIDEO STREAMING QUA MẠNG NGANG HÀNG ĐỒ Á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 D09VT2 Hà Nội, 12-2013 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 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 Lê Ngọc Anh – D09VT2 4 Đồ án tốt nghiệp đại học Mở Đầu 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 Lê Ngọc Anh – D09VT2 5 Đồ án tốt nghiệp đại học Mở đầu 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. Lê Ngọc Anh – D09VT2 6 Đồ án tốt nghiệp đại học Lời cảm ơn 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 Lê Ngọc Anh – D09VT2 7 Đồ án tốt nghiệp đại học Mục lục 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 Lê Ngọc Anh – D09VT2 8 Đồ án tốt nghiệp đại học Mục lục 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 Lê Ngọc Anh – D09VT2 9 Đồ án tốt nghiệp đại học Danh mục hình vẽ 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 Lê Ngọc Anh – D09VT2 10 Đồ án tốt nghiệp đại học Thuật ngữ viết tắt 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 Lê Ngọc Anh – D09VT2 11 Đồ án tốt nghiệp đại học Tóm Tắt 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. Lê Ngọc Anh – D09VT2 12 Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming 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ùng để lưu trữ các tập tin Video hoặc các bài học, cung cấp cho người dùng các tiện ích như tìm kiếm, liệt kê và khả năng hiển thị hoặc hiển thị lại các dữ liệu Video theo yêu cầu.Với các định dạng tập tin Video truyền thống, dữ liệu chỉ có thể hiển thị khi đã được tải về (download) toàn bộ, vì vậy đối với các tập tin Video chất lượng cao có dung lượ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 gian cho ngườ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ệu đồng thời trong lúc vẫn tiếp tục tải video về. Quá trình này được gọi là kỹ thuật đệm (buffering):  Thay vì được gửi một lần duy nhất, dữ liệu video streaming sẽ được chia thành từng gói nhỏ, sau đó liên tục truyền những phần được chia ra.  Ban đầu bên nhận sẽ lấy về một phần chia nhỏ của dữ liệu Video và hiển thị những phần video đã nhận được, đồng thời trong lúc hiển thị các gói dữ liệu còn lại sẽ lần lượt được lấy về để kịp cho việc hiển thị tiếp theo. Video Streaming được thể hiện dưới hai dạng:  Video theo yêu cầu (on demand): là các dữ liệu Video được lưu trữ trên máy chủ đa phương tiện và được truyền đến người dùng khi có yêu cầu, người dùng có toàn quyền để hiển thị cũng như thực hiện các thao tác (tua, dừng, quay lại…) với các đoạn dữ liệu này.  Video thời gian thực (live event): là các dữ liệu Video được biến đổi trực tiếp từ các nguồn cung cấp dữ liệu theo thời gian thực (máy camera, microphone, thiết bị phát dữ liệu Video…). Lê Ngọc Anh – D09VT2 13 Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming 1.1.2 Qu tr nh Video Streaming Với Video Streaming máy tính của người sử dụng không phải tải toàn bộ Video về cùng một lúc. Để thực hiện tăng tốc độ lần tải về, tại bất kỳ thời điểm nào máy tính chỉ cần tải về một phần thông tin của Video. Với kỹ thuật này, chúng ta cần một máy chủ đặc biệt kiểm soát việc cung cấp các nội dung Video, để bất kỳ phần nào của đoạn Video được lưu trữ trên máy chủ đều có thể được truy cập bất kỳ lúc nào. Video Streaming:  True Streaming: tín hiệu Video đến theo thời gian thực và hiển thị ngay lập tức cho người xem.  Download and Play: Sau khi tải toàn bộ Video về, sau đó phát Video.  Progressive Download and Play: Đây là công nghệ lai giữa hai công nghệ trên. Trong công nghệ này, Video sẽ được chia nhỏ ra thành nhiều frame, chương trình phát Video (player) sẽ hiện thị ngay những gói vừa được tải về và lưu trữ dữ liệu đó ở bộ nhớ đệm của máy. Khi tua lại những đoạn Video mà đã tải về, Player sẽ lấy dữ liệu từ bộ nhớ đệm để tải lên. 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 Internet, đồng thời sử dụng các chuẩn nén để giảm dung lượng dữ liệu, cung cấp khả năng nén dữ liệu tại nhiều mức nén, nhiều kích thước hiển thị để có thể phù hợp với độ rộng băng thông của nhiều mạng truyền dẫn để tối ưu hoá việc truyền dữ liệu qua mạng. Cũng chính vì vậ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. Hiện nay, có rất nhiều chuẩn công nghệ Video streaming. Cũng như có nhiều định dạng dữ liệu riêng với các chuẩn cộng nghệ đó. Các định dạng Video streaming chỉ giới hạn bởi các công ty dẫn đầu trong công nghệ streaming: Các hãng này đều cung cấp các bộ công cụ trọn gói gồm máy chủ luồng video (lưu trữ, 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 phía ngườ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 Kiến trúc hệ thống video streaming 1.1.3.1 Kiến trúc và chức năng c c thành phần Một hệ thống video thường bao gồm 6 khối, như minh họa trong hình 1.1. Trong hình 1.1 video và âm thanh gọi là dữ liệu thô được nén bằng cách sử dụng các thuật toán nén video và âm thanh rồi sau đó được lưu trong thiết bị lưu trữ . 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ị lưu trữ và sau đó cùng với lớp ứng dụng QoS là mô-đun kiểm soát điều chỉnh các video và âm thanh thành các luồng bit theo tình trạng mạng lưới và các yêu cầu QoS. Sau đó sử 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ị hư hỏng do bị lỗi bit. Để nâng Lê Ngọc Anh – D09VT2 14 Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming cao chất lượng truyền video và âm thanh được truyền liên tục, dịch vụ phân phối được triển khai trên mạng Internet cho các gói tin được gửi đến người nhận, sử dụng giao thức RSTP đi qua các lớp vận chuyển và sau đó được xử lý bởi lớp ứng dụng trước khi được giải mã ở các bộ giải mã video và âm thanh. Để đồng bộ hóa giữa video và âm thanh , các cơ chế đồng bộ truyền thông đượ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.  Cơ chế nén video. Dữ liệu video nguyên gốc cần phải được nén trước khi được truyền nhằm để đạt được hiệu quả tốt nhất về tiết kiệm băng thông.  Cơ chế điều khiển chất lƣợng dịch vụ tầng ứng dụng. Để đối phó với sự biến thiên của tài nguyên mạng hoặc để cung cấp chất lượng hình ảnh nhằm đáp ứngtheo yêu cầu của từng người sử dụng, nhiều kỹ thuật điều khiển chất lượng dịch vụ tầng ứng dụng đã được đưa ra. Kỹ thuật bao gồm điều khiển tắc nghẽn và kiểm soát lỗi. Điều khiển tắc nghẽn được sử dụng để ngăn ngừa mất gói dữ liệu và giảm trễ để kiểm soát lỗi, mặt khác còn nhằm để cải thiện chất lượng trình chiếu video khi không có phần dữ liệu của gói tin bị mất.  Dịch vụ phân phát video trên đƣờng truyền. Để cung cấp các dịch vụ đa phương tiện có chất lượng tốt, sự hỗ trợ của mạng là quan trọng. Điều này cho thấy do có sự hỗ trợ của mạng mà từ đó có thể giảm trễ khi truyền tải và giảm tỷ lệ mất gói tin. Được xây dựng trên nền của Internet (giao thức IP), dịch vụ phân phối video trên đường truyền cho phép đạt được QoS (chất lượng dịch vụ) và hiệu quả cao cho việc phân phát video qua mạng Internet.  M y chủ streaming. Máy chủ Streaming đóng một vai trò quan trọng trong việc cung cấp các dịch vụ trực tuyến. Để cung cấp các dịch vụ trực tuyến chất lượng, các máy chủ streaming được yêu cầu phải xử l dữ liệu video với sự ràng buộc về thời gian, hạn chế thời gian trễ và hỗ trợ hoạt động kiểm soát tương tác như tạm dừng (pause), tua (fast forword) tiếp tục, nhanh chóng chuyển tiếp và nhanh chóng quay lại. Một máy chủ streaming thường bao gồm ba hệ thống con: một hệ thống kết nối giao tiếp (ví dụ, giao thức vận chuyển), một hệ điều hành, và một hệ thống lưu trữ.  Cơ chế đồng bộ dữ liệu. Với cơ chế đồng bộ, ứng dụng tại bên nhận có thể hiển thị video gần giống như khi nó được khởi tạo tại bên gửi. Một ví dụ của cơ chế đồng bộ là cử động môi của người nói phải phù hợp với tiếng nói họ phát ra.  Giao thức cho video streaming. Giao thức được thiết kế và chuẩn hóa cho truyền thông giữa khách hàng và các máy chủ streaming. Giao thức có thể được chia làm 3 loại: giao thức tầng mạng như Internet Protocol (IP), giao thức tầng giao vận như Use Datagram Protocol (UDP) và giao thức điều khiển phiên như Real – time Streaming Protocol (RTSP). Lê Ngọc Anh – D09VT2 15 Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming 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ầu người dùng đang được sử dụng hiện nay, thì với mỗi yêu cầu của người dùng đến – sẽ được máy chủ xử l thông tin đảm bảo yêu cầu tải đó là hợp lệ để thiết lập kết nối. Tiếp sau đó, nó sẽ truy xuất đến ổ cứng (hoặc thiết bị lưu trữ cục bộ) để truy xuất tập tin yêu cầu đó và gửi về cho người dùng. Như chúng ta đều biết tốc độ truy xuất ổ cứng thường khá chậm. Bên cạnh đó, có những tập tin được nhiều dùng cùng quan tâm trong một thời điểm (sai khác nhỏ về thời gian), việc truy xuất ổ cứng liên tục để truy xuất cùng một tập tin như cách làm việ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ấn đề này, ta đưa ra giải pháp sử dụng Cache. Cache được hiểu theo nghĩa thường là nơi lưu trữ dữ liệu năm chờ phần cứng xử lý, nhằm mục đích tăng tốc độ xử lý. Cache có thể là một vùng lưu trữ của bộ nhớ chính hoặc một thiết bị lưu trữ tốc độ cao độc lập. Có rất nhiều loại Cache được biết đến hiện nay với những chức năng khác nhau như: Cache của CPU, Caching của Internet Browser, Caching của Oracle…Cụ thể ở đây ta quan tâm đến một cơ chế xử lý Video Caching ngay trên máy chủ thay thế cho Web Caching quá tải hiện nay. Việc đầu tư cho thiế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ạt động thông qua Cache:  Dữ liệu được truy xuất từ ổ cứng được đẩy lên Cache.  Với mỗi yêu cầu từ người nhận gửi tới, máy chủ sẽ tìm kiếm dữ liệu đã tồn tại trên Cache chưa, để thực hiện đẩy dữ liệu đó lên Cache, nếu tồn tại thì dữ liệu từ Cache thông qua quá trình xử l dữ liệu sẽ được truyền trực tiếp đến người Lê Ngọc Anh – D09VT2 16 Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming dùng thông qua quá trình xử l dữ liệu sẽ được truyền trực tiếp đến người dùng thông qua một luồng tin (bỏ qua giai đoạn truy xuất từ ổ cứng).  Cơ chế để quản l dữ liệu trên Cache, quyết định dữ liệu nào được đưa vào Cache hoặc loại bỏ ra khỏi Cache, chúng ta phải thông qua việc phân tích thông tin truy xuất dữ liệu, cùng với thử nghiệm những số liệu thực thực tế để đưa ra một giải thuật quản l Cache hợp l . 1.2 C c loại tệp tin video Các tập tin Video thường thuộc 2 loại: codec và không codec. Một số định dạng tập tin, chỉ cần nhìn vào đuôi tập tin ta biết được loại codec mà tập tin đó sử dụng như: WMV, RM, MOV… Hoặc các loại đuôi tập tin không chỉ định chính xác loại codec nào như: MP4, AVI, MKV… Các loại tập tin trên đều là các hộp đựng (container) để chứa nội dung, chúng ta thường phải sử dụng các trình media player để mở và đọc các tập tin đó. Để biết tập tin đó sử dụng loại codec nào để mã hóa. Ta xem xét một số loại định dạng tập tin mà các website và các nhà cung cấp lớn thường hỗ trợ: Định dạng 3GP – 3GPP Multimedia ASF – Advanced Systems Format Giới thiệu  Định dạng 3GP là định dạng Video được phát triển bởi dự án 3rd Generation Partnership dựa trên chuẩn MPEG-4. Được sử dụng cho các tập tin đa phương tiện trên mạng không dây 3G tốc độ cao, sử dụng phổ biến trên điện thoại có hỗ trợ quay phim.  Định dạng ASF được Microsoft phát triển. Định dạng này được dùng để truyền tải các tập tin đa phương tiện chứa văn bản, đồ họa, âm thanh, Video. Tập tin ASF chủ yếu là tập tin Windows Media Audio và Windows Media Video.  Tập tin ASF chỉ đặc tả cấu trúc của tập tin video hay âm thanh được truyển tải mà không chỉ rõ phương pháp mã hóa. Lê Ngọc Anh – D09VT2 17 Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming  Định dạng AVI cũng được phát triển bởi Microsoft và chứa dữ Audio Video liệu được mã hóa theo các codec khác nhau (có thể dùng các codec như DivX để mã hóa tập tin AVI). Định dạng AVI bao gồm hai loại Interleave định dạng chính DivX, Xvid. Đây là một định dạng rất phổ biển hiện nay.  AVI là một sản phẩm của RIFF. Dữ liệu của tập tin được chia trong các khối, mỗi khối được xác định bởi một nhãn. Khối đầu tiên chứa dữ liệu về Video, những thông tin về chiều dài, chiều rộng, tỷ lệ khung. Khối thứ 2 chứa dữ liệu thật sự của tập tin AVI. Khối thứ 3 chứa các chỉ mục của các khối dữ liệu trong tập tin. AVI – FLV – Flash Video MP4 – MPEG-4 Video MOV – Apple QuickTime Movie RM – Real Media  Flash Video là một định dạng Video thường được dùng cho những website chia s như Youtube hoặc những website chiếu phim trực tuyến, được phát triển bởi Adobe System (Macromedia). Hỗ trợ 2 loại định dạng FLV và F4V.  Flash Video: nội dụng nhúng trong tập tin SWF và phần mở rộng FLV chứa thông tin tập tin.  Định dạng này có chất lượng chấp nhận được, trong khi kích thước tập tin nhỏ, nên rất hiệu quả trong môi trường Internet. Phù hợp với hệ thống trình chiếu Video trực tuyến nói chung và hệ thống dạy học bằng Video nói riêng.  Định dạng MPEG-4 là một tiêu chuẩn được phát triển bởi Moving Picture Experts Group, được sử dụng trên rất nhiều điện thoại và các thiết bị chơi Video (còn gọi là thiết bị chơi MP4).  QuickTime Movie là định dạng được Apple phát triển. Cũng là một định dạng thường được sử dụng trên Internet.  Real Media là định dạng được phát triển bởi RealNetworks. Real Media chứa cả thông tin về Video (Real Video) và âm thanh (Real Audio). Thường được dùng để truyền tải các tập tin đa phương tiện thông qua internet. Lê Ngọc Anh – D09VT2 18 Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming  Định dạng VOB liên quan đến DVD Video Movie File. Một tập DVD Video tin VOB thường chứa các luồng đa công (multiplex) gồm: Video, âm thanh và phụ đề. Object VOB – WMVWindows Media Video  Windows Media Video là một định dạng tập tin thường gặp nhất cũng được phát triển bởi Microsoft. Tập tin Windows Media chứa Video được mã hóa theo bộ codec Windows Media Video và âm thanh được mã hóa theo codec Windows Media Audio codec.  Tập tin WMV được thiết kế dùng cho ứng dụng luồng (thread) trên Internet. Dung lượng tập tin WMV khá thấp nên dễ dàng truyền tải trên mạng, tuy nhiên chấp lượng hình ảnh và âm thanh không thực sự tốt. 1.2 Hoạt động của hệ thống video streaming 1.3.1 Kiến trúc hoạt động của một hệ thống Video Streaming Một hệ thống Video treaming hoạt độ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ạt động của hệ thống Lê Ngọc Anh – D09VT2 19 Đồ án tốt nghiệp đại học Chương I: Tổng quan về kỹ thuật video streaming  Web server  Web Server là máy chủ có dung lượng lớn, tốc độ cao, là nơi lưu trữ thông tin về các website có cung cấp dịch vụ chia s video trực tuyến (những Website này nhúng mã embeded flash player do nhà cung cấp dịch vụ lưu trữ và quản l tập tin cung cấp) cùng với những thông tin liên quan khác.  Khi máy chủ Web nhận yêu cầu từ máy khách về việc xem một video có trong danh sách video mà Website cung cấp, thì nó sẽ gửi về máy khách: đoạn mã html tĩnh chứa tập tin embeded flash và tập tin xml chứa thông tin của video đó.  Server  Server là một máy chủ gồm có: Ổ cứng (Hard disk) chứa dữ liệu và máy chủ quản l dùng quản l quá trình kết nối của các máy khách (thông qua một cổng nhất định).  Hard Disk: Ổ cứng lưu trữ tập tin video của nhà cung cấp.  Server Manager: o Tạo máy chủ với cổng được lựa chọn, chờ người dùng kết nối tới. o Quản l người dùng kết nối dựa trên IP. o Quản l những tập tin video đã được đưa vào cache. o Quản l việc lựa chọn gửi phần nào của tập tin video về cho người dùng.  Máy chủ Video Streaming: o Khi nhận được yêu cầu từ phía người dùng lấy một tập tin video, máy chủ Video Streaming tìm tập tin đó dưới ổ cứng và đẩy vào thiết bị Caching. o Tại thiết bị Caching, tập tin video được cắt ra thành nhiều gói nhỏ để lưu trữ. o Sau đó từng gói của tập tin video sẽ được đưa qua một cơ chế nén và mã hóa trước khi gửi về người dùng.(3)  Client  Truy cập vào web browser, chọn tập tin video cần xem và bấm play, lệnh yêu cầu play tập tin video sẽ được gửi lên máy chủ Web.(1)  Web browser sẽ nhận software player (trong đoạn mã html tĩnh chứa tập tin embeded flash) và thực hiện kết nối với server.(2)  Software player nhận những video stream và thực hiện việc giải nén, giải mã trước khi hiển thị Video lên cho người dùng. Tóm lại:  Web Server: trả về người dùng đoạn html tĩnh, nội dung tập tin chứa embeded flash.  Server: lưu trữ tập tin video, gửi tập tin video được yêu cầu về người dùng.  Client: nhận thông tin từ máy chủ Web và kết nối đến máy chủ (với thông tin nhận được từ máy chủ Web tương ứng về tập tin video đã chọn). Lê Ngọc Anh – D09VT2 20
- Xem thêm -