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 -