1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

20 530 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 0,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Trang 2

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

Trang 3

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à

Trang 4

Đồ á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

Trang 5

Đồ á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

Trang 6

Đồ á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.

Trang 7

Đồ á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

Trang 8

Đồ á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

Trang 9

Đồ á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

Trang 10

Đồ á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

Trang 11

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

THUẬT NGỮ VIẾT TẮT

ALM Application Layer Multicast Multicast lớp ứng dụng

BASS BitTorrent Assisted Streaming

System

HTTP Hypertext Transfer Protocol Giao thức chuyển tải siêu văn bản

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

Trang 12

Đồ á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

Trang 13

Đồ á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,

Trang 14

Đồ á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

Ngày đăng: 02/04/2014, 10:42

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Kiến trúc của hệ thống video streaming - Ứng dụng xây dựng luồng Video Streaming qua mạng ngang hàng
Hình 1.1 Kiến trúc của hệ thống video streaming (Trang 16)
Hình 1.2 Kiến trúc hoạt động của hệ thống - Ứng dụng xây dựng luồng Video Streaming qua mạng ngang hàng
Hình 1.2 Kiến trúc hoạt động của hệ thống (Trang 19)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w