Tải bản đầy đủ (.pdf) (70 trang)

Nghiên cứu hệ thống truyền thông đa phương tiện thời gian thực trên cơ sở giải pháp kỹ thuật WEBRTC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.15 MB, 70 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

HỒ MINH HỒNH

NGHIÊN CỨU HỆ THỐNG TRUYỀN THƠNG
ĐA PHƢƠNG TIỆN THỜI GIAN THỰC
TRÊN CƠ SỞ GIẢI PHÁP KỸ THUẬT WEBRTC

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Đà Nẵng - Năm 2016


BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

HỒ MINH HỒNH

NGHIÊN CỨU HỆ THỐNG TRUYỀN THƠNG
ĐA PHƢƠNG TIỆN THỜI GIAN THỰC
TRÊN CƠ SỞ GIẢI PHÁP KỸ THUẬT WEBRTC

Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 60.48.01.04

LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN

Ngƣời hƣớng dẫn khoa học: PGS.TS. LÊ VĂN SƠN

Đà Nẵng - Năm 2016




LỜI CAM ĐOAN

Tơi cam đoan đây là cơng trình nghiên cứu của riêng tôi. Các số liệu,
kết quả nêu trong luận văn là trung thực và chưa từng được ai cơng bố trong
bất kỳ cơng trình nào khác.
Tác giả luận văn

Hồ Minh Hoành


MỤC LỤC
MỞ ĐẦU .......................................................................................................... 1
1. Lý do chọn đề tài ................................................................................ 1
2. Mục tiêu và nhiệm vụ đề tài ............................................................... 2
3. Đối tƣợng và phạm vi nghiên cứu ...................................................... 2
4. Phƣơng pháp nghiên cứu .................................................................... 3
5. Mục đích và ý nghĩa của đề tài ........................................................... 3
6. Kết quả dự kiến .................................................................................. 4
7. Bố cục của luận văn ........................................................................... 4
CHƢƠNG 1. TỔNG QUAN VỀ TRUYỀN THÔNG ĐA PHƢƠNG TIỆN
.................................................................................................................. 5
1.1. TRUYỀN THƠNG ĐA PHƢƠNG TIỆN .................................................. 5
1.1.1. Khái niện truyền thơng đa phƣơng tiện ........................................ 5
1.1.2. Ví dụ về truyền thơng đa phƣơng tiện .......................................... 7
1.2. DỮ LIỆU ĐA PHƢƠNG TIỆN ................................................................. 8
1.2.1. Phân loại ........................................................................................ 8
1.2.2. Truyền dữ liệu đa phƣơng tiện ...................................................... 9
1.2.3. Các phƣơng pháp truyền dữ liệu đa phƣơng tiện ....................... 11

1.3. CÁC ỨNG DỤNG TRUYỀN THÔNG ĐA PHƢƠNG TIỆN ................ 15
1.3.1. Truyền video và audio đã đƣợc lƣu trữ trên server .................... 15
1.3.2. Truyền trực tiếp audio/video (Streaming live audio/video) ....... 15
1.3.3. Ứng dụng tƣơng tác audio/video thời gian thực ......................... 16
1.3.4. Ứng dụng video conference ....................................................... 16
CHƢƠNG 2. GIẢI PHÁP KỸ THUẬT WEBRTC ................................... 17
2.1. GIỚI THIỆU CHUNG ............................................................................. 17
2.2. LỊCH SỬ PHÁT TRIỂN 18
2.3. KIẾN TRÚC VÀ PHƢƠNG THỨC HOẠT ĐỘNG CỦA WEBRTC .... 19


2.3.1. Kiến trúc WebRTC .................................................................... 19
2.3.2. Phƣơng thức hoạt động .............................................................. 20
2.4. CÁC GIAO THỨC MẠNG TRUYỀN THÔNG THỜI GIAN THỰC ... 23
2.5. CÁC API CƠ BẢN .................................................................................. 29
2.5.1. MediaStream (hay getUserMedia) ............................................. 29
2.5.2. RTCPeerConnection .................................................................. 32
2.5.3. RTCDataChannel ....................................................................... 33
2.6. BẢO MẬT TRONG WebRTC ................................................................ 35
CHƢƠNG 3. XÂY DỰNG ỨNG DỤNG HỖ TRỢ TRỰC TUYẾN ........ 36
3.1. GIỚI THIỆU VỀ EASYRTC FRAMEWORK ........................................ 37
3.2. PHÂN TÍCH HỆ THỐNG ....................................................................... 38
3.2.1. Mục tiêu ....................................................................................... 38
3.2.2. Thực trạng .................................................................................... 38
3.2.3. Phân tích yêu cầu của ứng dụng .................................................. 40
3.3. THIẾT KẾ ỨNG DỤNG ......................................................................... 41
3.3.1 Xác định các tác nhân của hệ thống ............................................ 41
3.3.2. Biểu đồ ca sử dụng ..................................................................... 42
3.3.3. Biểu đồ tuần tự ........................................................................... 45
3.3.4. Biểu đồ hoạt động ...................................................................... 46

3.3.5. Thiết kế giao diện ....................................................................... 47
3.4. CÀI ĐẶT ỨNG DỤNG ........................................................................... 48
3.4.1. Chuẩn bị môi trƣờng và công cụ phát triển ............................... 48
3.4.2. Xây dựng hàm kết nối ................................................................ 49
3.4.3. Xây dựng hàm performCall ....................................................... 51
3.4.4. Xây dựng hàm gửi tin nhắn ........................................................ 53
3.5. CHẠY THỬ VÀ ĐÁNH GIÁ ỨNG DỤNG ........................................... 53
3.5.1 Chạy thử ứng dụng ......................................................................... 53


3.5.2. Đánh giá hiệu quả của ứng dụng ................................................... 58
KẾT LUẬN .................................................................................................... 59
TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao)


DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Viết tắt/Thuật ngữ

Nội dung tiếng Anh

API

Application Programmable Interface

DTLS

Datagram Transport Layer Security


GIPS

Global IP Solutions

IETF

Internet Engineering Task Force

IP

Internet Protocol

ICE

Interactive Connectivity stablishment

LAN

Local Area Network

NAT

Network Address Translation

RTC

Real-Time Communication

STUN


Session Traversal Utilities for NAT

SDP

Session Description Protocol

SIP

Session Initiation Protocol

SCTP

Stream Control Transport Protocol

SRTP

Secure Real-Time Transport Protocol

TFTP

Trivial File Transfer Protocol

TURN

Traversal Using Relays around NAT

TCP

Transfer Control Protocol


W3C

World Wide Web Consortium

UDP

User Datagram Protocol

WWW

World Wide Web

WebRTC

Web Real-Time Communication

XMPP

Extensible Messaging and Presence Protocol


DANH MỤC CÁC BẢNG

Số hiệu
bảng

Tên bảng

Trang


3.1.

Mô tả các tác nhân của hệ thống

42

3.2.

Mô tả các use case của hệ thống

43


DANH MỤC CÁC HÌNH ẢNH

Số hiệu

Tên hình

hình

Trang

1.1.

Sơ đồ khối cơ bản của 1 hệ thống đa phƣơng tiện

6

1.2.


Truyền dữ liệu liên tục thời gian thực trong đàm video từ xa

10

1.3.

Truyền dữ liệu bán thời gian thực

10

1.4.

Tƣơng tác giữa client và server trong mơ hình download

11

1.5.

Thời gian bắt đầu trễ trong mơ hình download

12

1.6.

Thời gian trễ để download 5.4 GB video

12

1.7.


Play từng phần dữ liệu trong mơ hình streaming

13

1.8.

Multistream pipelining trong mơ hình streaming

15

2.1.

Mơ hình WebRTC

17

2.2.

Mơ hình kiến trúc WebRTC

19

2.3.

Kênh báo hiệu trong WebRTC

21

2.4.


Máy chủ STUN

22

2.5.

TURN server và STUN server

23

2.6.

Ngăn xếp giao thức WebRTC

24

2.7.

Phân phối audio video qua SRTP trên UDP

29

2.8.

Audio và Video trong WebRTC

30

2.9.


Trình duyệt hỏi cấp phép chia sẻ sử dụng camera và

32

microphone
2.10.

RTCPeerConnection APIs

32

3.1.

Mục hỗ trợ trực tuyến

39

3.2.

Lựa chọn hỗ trợ thông qua Skype trên website

39


3.3.

Màn hình đăng nhập Skype trên máy tính.

40


3.4.

Các tác nhân của hệ thống phòng Đào tạo

41

3.5.

Biểu đồ ca sử dụng

42

3.6.

Biểu đồ tuần tự quá trình hỗ trợ tƣ vấn

45

3.7

Biểu đồ trạng thái hoạt động tạo phiên kết nối với cán bộ

47

phòng Đào tạo
3.8.

Thiết kế giao diện cho ứng dụng hỗ trợ tƣ vấn trực tuyến


48

3.9.

Ngƣời học xem các thông tin trên trang web quản lý đào

54

tạo và tìm đến menu hỗ trợ tƣ vấn trực tuyến.
3.10.

Ngƣời học nhập vào tên của mình để khởi tạo kết nối.

54

3.11.

Ngƣời học bấm vào nút kết nối với cán bộ hỗ trợ tƣ vấn

55

để đƣợc hỗ trợ.
3.12.

Cán bộ tƣ vấn nhận đƣợc yêu cầu kết nối từ ngƣời học và

55

đồng ý kết nối.
3.13.


Ngƣời học nhận phản hồi không đồng ý kết nối từ cán bộ

56

phòng đào tạo
3.14.

Giao diện của cán bộ phòng Đào tạo

56

3.15.

Giao diện của ngƣời học

57

3.16.

Cán bộ tƣ vấn và ngƣời học nói chuyện, chia sẻ webcam

57

và gửi tin nhắn với nhau


1

MỞ ĐẦU

1. Lý do chọn đề tài
Hãy tƣởng tƣợng một ngày mà điện thoại, máy tính, tivi, có thể kết nối
trực tiếp với nhau và thực hiện đƣợc các cuộc gọi thông qua một nền tảng
chung. Việc giao tiếp của chúng ta sẽ trở nên dễ hàng hơn và điều này có thể
thay thế các phƣơng phức liên lạc hiện có. Đó là mục tiêu mà dự án WebRTC
đang theo đuổi, WebRTC đƣợc kỳ vọng sẽ tạo bƣớc ngoặt lớn trong lĩnh vực
truyền thông đa phƣơng tiện.
Điểm đột phá của WebRTC là ta có thể tham gia cuộc hội thoại ngay trên
trình duyệt mà khơng cần cài thêm bất cứ một phần mềm hay plugin nào khác.
Nó đang đƣợc chuẩn hóa ở cấp độ API của W3C và cấp độ giao thức của IETF,
đƣợc hỗ trợ bởi các trình duyệt Google Chrome, Mozilla Firefox và Opera trên
PC và Android. Ngoài ra WebRTC cịn đƣợc hỗ trợ trên Chrome OS.
Tính đến thời điểm hiện tại, đã có trên 1 tỷ thiết bị đầu cuối hỗ trợ
WebRTC, dự báo tăng lên 4 tỷ vào năm 2016, trong đó có khoảng 1,5 tỷ
ngƣời dùng thƣờng xuyên. WebRTC có thể hoạt động trên bất cứ thiết bị nào
có cài một trong các trình duyệt hỗ trợ WebRTC.
Ở góc độ nhà phát triển, nếu khơng có WebRTC, việc tạo ra ứng dụng
RTC địi hỏi phải mất nhiều công sức từ việc lấy dữ liệu từ thiết bị camera,
microphone đến việc thiết lập phiên, xử lý tín hiệu, truyền tín hiệu, … Nhƣng
với WebRTC, tất cả công việc để tạo ra một cuộc hội thoại chỉ nằm trong vài
chục dòng lệnh. Việc phát triển ứng dụng với chức năng gọi điện, video chat
và chia sẻ file,.. là rất đơn giản khi dùng WebRTC kết hợp giữa JavaScript và
HTML5.
Ở góc độ ngƣời sử dụng, sử dụng WebRTC chỉ cần thơng qua trình
duyệt Web. Tính sẵn sàng cao cho phép thực hiện cuộc gọi mà không cần


2

đăng ký tài khoản hay cài đặt thêm thành phần nào ngồi một trình duyệt có

hỗ trợ WebRTC. Ví dụ, hai ngƣời dùng chỉ cần truy cập vào cùng một đƣờng
dẫn web để gọi video với nhau sử dụng trình duyệt Google Chrome hay
Mozilla Firefox.
Với các ƣu điểm kể trên, thì việc tìm hiểu hệ thống truyền thơng đa
phƣơng tiện thời gian thực trên cơ sở giải pháp kỹ thuật WebRTC và ứng
dụng giải pháp kỹ thuật này vào thực tế là vấn đề cần thiết hiện nay.
2. Mục tiêu và nhiệm vụ đề tài
2.1 Mục tiêu
Mục tiêu của đề tài là hiểu đƣợc công nghệ WebRTC và xây dựng ứng
dụng hỗ trợ trực tuyến trên nền tảng công nghệ WebRTC.
2.2 Nhiệm vụ
Để đạt đƣợc mục tiêu trên, nhiệm vụ của chúng tơi là tìm hiểu hệ thống
truyền thơng đa phƣơng tiện trên cơ sở giải pháp kỹ thuật WebRTC.

 Về lý thuyết:
- Tìm hiểu tổng quan về hệ thống truyền thơng đa phƣơng tiện.
- Tìm hiểu cấu trúc và cách thức hoạt động của WebRTC.
- Tìm hiểu các API cơ bản của WebRTC.

 Về thực tiễn:
Đề tài ứng dụng các giải pháp kỹ thuật WebRTC vào xây dựng các ứng
dụng thực tiển.
3. Đối tƣợng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- RTC (Real-time Communication).
- WebRTC.
- Framework EasyRTC.
- Một số bài báo và luận văn tốt nghiệp khóa trƣớc.



3

3.2. Phạm vi nghiên cứu
Trong khuôn khổ của một luận văn thực nghiệm, chúng tôi chỉ giới hạn
thực nghiệm xây dựng ứng dụng hỗ trợ trực tuyến ứng dụng tại trƣờng Đại
học Sƣ phạm – Đại học Đà Nẵng.
4. Phƣơng pháp nghiên cứu
Phƣơng pháp nghiên cứu, chúng tôi đã sử dụng hai phƣơng pháp chính
là nghiên cứu lý thuyết và nghiên cứu thực nghiệm.
4.1 Phương pháp nghiên cứu tài liệu
- Các tài liệu về cơ sở lý thuyết: truyền thông đa phƣơng tiện thời gian
thực, WebRTC, framework EasyRTC….
- Các tài liệu liên quan đến một số nghiên cứu.
4.2 Phương pháp thực nghiệm
Xây dựng ứng dụng hỗ trợ trực tuyến trên cơ sở giải pháp kỹ thuật
WebRTC.
5. Mục đích và ý nghĩa của đề tài
5.1. Mục đích
Tìm hiểu và ứng dụng đƣợc giải pháp kỹ thuật WebRTC vào thực tế.
5.2. Ý nghĩa khoa học và thực tiễn đề tài
a. Về khoa học
Tìm hiểu cơng nghệ WebRTC để phục vụ việc phát triển các ứng dụng
truyền thông đa phƣơng tiện thời gian thực trên Web.
b. Về thực tiễn
Có thể phát triển ứng dụng với chức năng gọi điện, video chat và chia
sẻ file sẽ rất đơn giản khi dùng WebRTC. Việc sử dụng WebRTC chỉ cần
thơng qua trình duyệt Web. Tính sẵn sàng cao cho phép thực hiện cuộc gọi
mà không cần đăng ký tài khoản hay cài đặt thêm thành phần nào ngồi một
trình duyệt có hỗ trợ WebRTC.



4

6. Kết quả dự kiến
6.1. Lý thuyết
- Nắm đƣợc công nghệ WebRTC và framework EasyRTC.
- Hiểu đƣợc cách xây dựng một hệ thống truyền thông đa phƣơng tiện
thời gian thực.
6.2. Thực tiễn
- Phát triển đƣợc ứng dụng hỗ trợ trực tuyến ứng dụng tại trƣờng Đại học
Sƣ phạm – Đại học Đà Nẵng.
7. Bố cục của luận văn
Bố cục của luận văn bao gồm 3 chƣơng nhƣ sau:
Chƣơng 1: Giới thiệu sơ lƣợc về truyền thông đa phƣơng tiện, các đặc
điểm của dữ liệu đa phƣơng tiện, và giới thiệu một số các ứng dụng truyền
thông đa phƣơng tiện hiện nay.
Chƣơng 2: Chúng tơi dành để nói về kiến trúc, các thành phần chính
của WebRTC.
Chƣơng 3: Tập trung vào phân tích, thiết kế và xây dựng một ứng dụng
hỗ trợ trực tuyến sử dụng WebRTC để hỗ trợ cho ngƣời học về các thông tin
đào tạo tại trƣờng Đại học Sƣ phạm – Đại học Đà Nẵng.


5

CHƢƠNG 1

TỔNG QUAN VỀ TRUYỀN THÔNG ĐA PHƢƠNG TIỆN
Ngày nay, truyền thơng nói chung, và truyền thơng đa phƣơng tiện nói
riêng đang rất đƣợc quan tâm. Nhờ có truyền thơng đa phƣơng tiện con ngƣời

trao đổi thông tin từ xa thơng qua văn bản, hình ảnh và âm thanh.
Bên cạnh đó, mạng máy tính đã và đang phổ biến trong cơ quan, doanh
nghiệp, nên ứng dụng mạng nhƣ chia sẻ dữ liệu, phần mềm trực tuyến ngày
càng đƣợc ƣu chuộng và trở thành yếu tố không thể thiếu trong xã hội thông
tin hiện đại.
Bởi vậy, việc nghiên cứu kỹ thuật truyền thơng nói chung, truyền thơng
đa phƣơng tiện nói riêng nhằm làm chủ và tạo nền tảng phát triển ứng dụng
truyền thông đa phƣơng tiện nhƣ dạy học trực tuyến, hội nghị truyền hình trực
tuyến… đang trở thành chủ đề nghiên cứu của nhiều tổ chức nghiên cứu trong
và ngoài nƣớc.
Trong chƣơng này chúng tôi sẽ giới thiệu sơ lƣợc về truyền thông đa
phƣơng tiện, các đặc điểm của dữ liệu đa phƣơng tiện, và giới thiệu một số
các ứng dụng truyền thơng đa phƣơng tiện hiện nay.
1.1. TRUYỀN THƠNG ĐA PHƢƠNG TIỆN
1.1.1. Khái niện truyền thông đa phƣơng tiện
Thuật ngữ đa phƣơng tiện dùng để chỉ các thông tin nhƣ dữ liệu, tiếng
nói, đồ họa, hình ảnh tĩnh, âm thanh và phim ảnh đƣợc các mạng truyền đi
cùng thời điểm.
Truyền thông đa phƣơng tiện là một công nghệ truyền thông giúp
ngƣời dùng trao đổi, chia sẻ thông tin đa phƣơng tiện trên mạng truyền thông,
thông tin gồm: Dữ liệu Audio, Video thời gian thực, hình ảnh văn bản và các
dạng dữ liệu khác.
Truyền thông đa phƣơng tiện thời gian thực là một phƣơng thức


6

truyền thơng, trong đó tất cả ngƣời dùng có thể trao đổi thông tin ngay lập tức
hoặc với độ trễ không đáng kể [8].
Các ứng dụng sử dụng truyền thông đa phƣơng tiện trên gồm: Hội

thảo từ xa (video conferencing), nói chuyện qua internet (voice over IP),
truyền hình internet, truyền hình theo yêu cầu (video on demand)….
Các thành phần của hệ thống truyền thơng đa phƣơng tiện: Hình 1.1
thể hiện mơ hình client/server để truyền dữ liệu đa phƣơng tiện hai đầu. Ở
phía nguồn, dữ liệu đa phƣơng tiện đƣợc nén và lƣu trữ. Qua hệ thống điều
khiển từ phía server, các dữ liệu này sẽ đƣợc gửi đi qua mạng tùy theo yêu
cầu của ngƣời dùng. Giao thức ở tầng application/transport sẽ đƣợc dùng để
truyền dữ liệu tới máy khách, dữ liệu này sẽ đƣợc lƣu trong bộ đệm hoặc thiết
bị lƣu trữ, từ đó đƣợc giải mã và đƣợc hiển thị cho ngƣời dùng.

Hình 1.1. Sơ đồ khối cơ bản của 1 hệ thống đa phương tiện
Đặc trƣng duy nhất của mơ hình hệ thống này là: Các thành phần của hệ
thống sẽ thực hiện công việc một cách tuần tự theo các bƣớc trong quá trình
truyền dữ liệu. Do đó, nếu 1 thành phần hoạt động khơng tốt sẽ ảnh hƣởng tới
tồn bộ hệ thống.
Tóm lại, các thành phần của hệ thống truyền thông đa phƣơng tiện bao gồm:


7

 Dữ liệu đa phƣơng tiện
 Hệ thống lƣu trữ
 Bộ đệm
 Mạng truyền thông
 Thiết bị xử lý, hiển thị
1.1.2. Ví dụ về truyền thơng đa phƣơng tiện
 Video streaming
Trong 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 file video hoặc các bài học, cung cấp cho ngƣời
dùng những 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. Video Streaming đƣợc thể hiện dƣới hai
dạng: Video theo yêu cầu và video thời gian thực.
+ Video theo yêu cầu là một dạng dữ liệu đƣợc lƣu trữ trên multimedia
server và đƣợc truyền đến ngƣời dùng khi có u cầu, ngƣời dùng có tồn
quyền để hiển thị cũng nhƣ thực hiện các thao tác (tua, dừng, …) với các đoạn
dữ liệu này.
+ Video thời gian thực là dạng dữ liệu video đƣợc convert 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, các
thiết bị phát dữ liệu video, …). Các dữ liệu này sẽ đƣợc multimedia phát
quảng bá thành các kênh ngƣời dùng sẽ chỉ quyền truy nhập bất kỳ kênh ƣu
thích nào để hiển thị dữ liệu mà không đƣợc thực hiện các thao tác tua, dừng
… trên các dữ liệu đó (giống nhƣ TV truyền thống).
 Hội nghị truyền hình
Là sự hoạt động tƣơng tác giữa tín hiệu audio, video trong thời gian
thực. Nó đƣợc ứng dụng trong hội họp từ xa giúp những ngƣời tham gia
không tốn thời gian đi lại mà vẫn có thể gặp mặt nhau.
Ví dụ:


8

Hệ thống hội nghị truyền hình đã đƣợc ứng dụng rộng rãi trong các
trƣờng đại học nhƣ dạy học trực tuyến từ xa theo mơ hình Elearning. Trong
lĩnh vực xã hội cũng nhƣ an ninh, quốc phòng. Trong các hội nghị giao ban,
trao đổi công việc của các đơn vị có vị trí địa lý cách xa nhau. Các xí nghiệp,
các trung tâm thƣơng mại, bệnh viện nhƣ ngƣời bệnh có thể đƣợc khám bệnh,
chuẩn đốn hay thậm chí phẫu thuật gián tiếp từ các chuyên gia y tế tại những
nơi rất xa. Và các công việc, lĩnh vực yêu cầu trao đổi thơng tin, hình ảnh, âm
thanh thời gian thực khác.
 Video camera số

 Các hệ thống giám sát video
1.2. DỮ LIỆU ĐA PHƢƠNG TIỆN
1.2.1. Phân loại
Dữ liệu đa phƣơng tiện cần đƣợc hiểu là nhiều loại dữ liệu sẽ đƣợc thu
thập, gửi đi và hiển thị một cách đồng thời. Có rất nhiều loại dữ liệu: đơn giản
nhất là dữ liệu văn bản thô, văn bản đã định dạng, và các dạng dữ liệu khác
nhƣ ảnh đồ họa, âm thanh, video ….
Ta có thể phân loại các loại dữ liệu trên ra thành 2 loại, theo ngữ cảnh
của việc truyền dữ liệu đa phƣơng tiện.
- Loại thứ nhất: dữ liệu rời rạc gồm các loại dữ liệu mà khi hiển thị
khơng bị bó buộc chặt chẽ về thời gian. Ví dụ ta có thể nhận một bức ảnh từ
web server để hiển thị trong web browser. Tùy theo thơng lƣợng mạng mà
thời gian nhận bức ảnh có thể nhanh hay chậm trƣớc khi nó đƣợc giải mã và
hiển thị.
- Loại thứ hai: dữ liệu liên tục. Dữ liệu này có một yêu cầu chặt chẽ về
thời gian hiển thị và các thông tin này đƣợc nhúng bên trong dữ liệu. Ta có
thể thấy ngay ví dụ đó là dữ liệu video, audio. Dữ liệu video thƣờng đƣợc mã
hóa theo các frame đƣợc hiển thị tuần tự với một tần số nào đó, ví dụ 25


9

hình/giây. Do đó, để hiển thị các đối tƣợng video một cách đúng đắn, thì
khơng chỉ cần nhận dữ liệu video một cách chính xác mà cịn cần phải giải mã
và hiển thị chúng theo đúng trình tự và thời điểm. Nếu khơng làm đƣợc điều
đó thì video hiển thị sẽ bị hỏng, chất lƣợng thấp. Do đó lƣu lƣợng mạng dành
cho dữ liệu đa phƣơng tiện có thể coi là lƣu lƣợng cố định do sự cần thiết duy
trì bộ định thời chặt chẽ.
Từ đó ta thấy, thách thức trong truyền thơng đa phƣơng tiện nói chung
và đặc biệt là truyền thông dữ liệu đa phƣơng tiện liên tục, đó là phải đảm bảo

tính vẹn tồn của cả dữ liệu và thời gian hiển thị. Hơn nữa, dữ liệu đa phƣơng
tiện thông thƣờng là sự kết hợp của nhiều dòng dữ liệu khác nhau và đƣợc
đồng bộ với nhau. Do đó, độ phức tạp sẽ đƣợc nhân lên nhiều lần và phải
đồng bộ giữa các dòng dữ liệu với nhau.
1.2.2. Truyền dữ liệu đa phƣơng tiện
Với 2 loại dữ liệu đa phƣơng tiện đã bàn ở trên, trong khuôn khổ luận
văn này chúng tôi chỉ tập trung vào truyền dữ liệu liên tục. Chúng ta có thể
phân lớp việc truyền dữ liệu đa phƣơng tiện liên tục thành 2 loại: truyền thời
gian thực và truyền bán thời gian thực. Truyền dữ liệu thời gian thực là dữ
liệu phải truyền từ nguồn và hiển thị tại đích với một độ trễ cho trƣớc. Truyền
dữ liệu thời gian thực thƣờng đƣợc sử dụng để ngƣời dùng tƣơng tác với nhau
nhƣ: Internet Phone, đàm thoại video từ xa (Hình 1.2).


10

Hình 1.2. Truyền dữ liệu liên tục thời gian thực trong đàm video từ xa
Truyền dữ liệu bán thời gian thực là khơng cho trƣớc thời gian trễ, thay
vào đó, hệ thống phải truyền sao cho đảm bảo tính tồn vẹn của dữ liệu và
toàn vẹn thời gian hiển thị, đồng thời giảm thời gian trễ ở mức tối đa. Ví dụ
của việc truyền dữ liệu bán thời gian thực là dịch vụ video theo yêu cầu. Hệ
thống này có thể có độ trễ ban đầu lớn để đổi lấy chất lƣợng video mịn trong
quá trình play (Hình 1.3).

Hình 1.3. Truyền dữ liệu bán thời gian thực


11

1.2.3. Các phƣơng pháp truyền dữ liệu đa phƣơng tiện

Việc truyền dữ liệu trên mạng máy tính đã đƣợc thực hiện từ lâu, và có
rất nhiều phƣơng pháp khác nhau để áp dụng. Trong đó phƣơng pháp
download là phƣơng pháp phổ biến nhất để truyền dữ liệu đa phƣơn tiện từ
server tới client.
a. Mơ hình download
Mơ hình download đƣợc mơ tả trong Hình 1.4: Client gửi một yêu cầu
tới server để chỉ ra đối tƣợng dữ liệu cần download; server sẽ lấy đối tƣợng
dữ liệu đó (có thể từ hệ thống file nội bộ) và truyền nó tới client qua hệ thống
mạng Internet.

Hình 1.4. Tương tác giữa client và server trong mơ hình download
Đặc điểm của phƣơng pháp: Trƣớc tiên đối tƣợng dữ liệu phải đƣợc
nhận về toàn bộ và lƣu trong bộ đệm hoặc file trƣớc khi đƣợc giải mã và hiển
thị. Khi đối tƣợng dữ liệu đã đƣợc client nhận đầy đủ thì việc giải mã và hiển
thị dữ liệu đó sẽ đƣợc thực hiện nhƣ trên hệ thống file nội bộ của client. Mơ
hình này hoạt động tốt trong một số ứng dụng nhƣng lại không phù hợp với
dữ liệu liên tục.
Giả sử quá trình download nhƣ trong Hình 1.5, bỏ qua thời gian xử lý,
thời gian từ khi bắt đầu yêu cầu đến khi có thể hiển thị đƣợc dữ liệu đƣợc tính
theo kích thƣớc của đối tƣợng dữ liệu và tốc độ truyền. Với những ứng dụng
nhƣ WWW thì dữ liệu thƣờng là văn bản HTML, hoặc ảnh nhỏ thì độ trễ này


12

tƣơng đối nhỏ.
Tuy nhiên, với đối tƣợng dữ liệu liên tục thì độ trễ có thể sẽ rất lớn, đến
mức khơng chấp nhận đƣợc.

Hình 1.5. Thời gian bắt đầu trễ trong mơ hình download

Nhƣợc điểm cơ bản của mơ hình download (đƣợc thể hiện trên Hình
1.6) là nó u cầu phải tải tồn bộ đối tƣợng video về thì mới bắt đầu hiển thị
đƣợc.

Hình 1.6. Thời gian trễ để download 5.4 GB video
Từ đặc điểm này mà ngƣời ta đã cải tiến mơ hình download thành mơ
hình Streaming nhƣ sau:
b. Mơ hình Streaming
Trong mơ hình streaming, dữ liệu liên tục sẽ đƣợc phát lại trong khi quá
trình nhận dữ liệu về vẫn tiếp diễn (minh họa trong Hình 1.7). Sau khi gửi yêu


13

cầu tới server để bắt đầu quá trình streaming client sẽ đợi gói dữ liệu đầu tiên
tới và bắt đầu phát lại, trong khi nhận gói dữ liệu thứ 2, và cứ nhƣ thế. Do đó,
q trình phát lại và quá trình nhận dữ liệu đƣợc thực hiện song song.

Hình 1.7. Play từng phần dữ liệu trong mơ hình streaming
So sánh với mơ hình download thì cần phải đáp ứng thêm 2 yêu cầu sau


14

để mơ hình streaming có thể hoạt động. Thứ nhất, dữ liệu đa phƣơng tiện phải
có thể chia nhỏ thành các đoạn độc lập, các đoạn này có thể đƣợc giải mã và
phát lại. Hầu hết các dữ liệu liên tục nhƣ audio, video đều có tính chất này.
Thứ hai, để bảo toàn bộ định thời trong khi hiển thị hay trình diễn, ta cần đảm
bảo các đoạn dữ liệu sẽ đƣợc nhận về trƣớc thời điểm dự kiến sẽ hiển thị nó.
Đây chính là u cầu về tính liên tục, một trong các tham số chủ đạo trong

thiết kế và đánh giá hệ thống đa phƣơng tiện liên tục.
c. So sánh các phương pháp truyền dữ liệu đa phương tiện
 Phƣơng pháp tải xuống (download)
 Phƣơng pháp tải theo dịng (streaming)
Với sự phát triển nhanh của cơng nghệ mạng thì ngƣời ta có thể đặt ra
câu hỏi rằng liệu trong tƣơng lai mạng máy trính sẽ có thể có thông lƣợng rất
lớn khiến cho thời gian truyền sẽ không đáng kể ngay cả khi dùng mơ hình
download hay khơng? Đây vẫn là một câu hỏi hỏi hợp lý, nhƣng mơ hình
streaming một mặt có thể giúp cho việc hiển thị đƣợc tiến hành sớm hơn, mặt
khác nó cịn mang đến một cải tiến khác: truyền đồng thời nhiều dòng.
Các media server thƣờng đồng thời phục vụ nhiều clients. Khi nhiều client
yêu cầu dịch vụ cùng lúc, sẽ có 2 lựa chọn cho media server khi dùng mơ hình
download: Một là phục vụ các clients một cách tuần tự hoặc phục vụ đồng thời.
Nếu phục vụ tuần tự thì các client thứ 2 trở đi trong hàng đợi sẽ phải chờ rất lâu
mặc dù thơng lƣợng mạng có thể rất lớn. Nếu phục vụ đồng thời thì thơng lƣợng
mạng dành cho từng client sẽ giảm do đó sẽ kéo dài thời gian download.
Ngƣợc lại, mơ hình streaming sẽ khơng mắc phải vấn đề này, quá trình
hiển thị sẽ đƣợc thực hiện ngay khi một đoạn dữ liệu đa phƣơng tiện đƣợc
nhận về (Hình 1.8). Thời gian chờ để bắt đầu hiển thị độc lập với số lƣợng
client yêu cầu đồng thời miễn sao media server và mạng không bị quá tải.


15

Hình 1.8. Multistream pipelining trong mơ hình streaming
1.3. CÁC ỨNG DỤNG TRUYỀN THƠNG ĐA PHƢƠNG TIỆN
Chúng ta có thể chia các ứng dụng truyền thông đa phƣơng tiện thành 3
lớp lớn.
1.3.1. Truyền video và audio đã đƣợc lƣu trữ trên server
Trong lớp ứng dụng này, client yêu cầu các tệp tin audio, video đã đƣợc

nén và lƣu trữ trên server. Các tệp tin audio có thể là bài giảng, bài hát ….
Các tệp tin video có thể là phim, clips …. Tại một thời điểm nào đó, client
yêu cầu tệp tin audio, video từ server. Trong hầu hết các ứng dụng loại này,
sau một thời gian trễ vài giây, client sẽ chạy tệp tin audio, video trong khi tiếp
tục nhận tệp tin từ server. Đặc tính vừa chạy tệp tin, trong khi tiếp tục nhận
những phần sau của tệp tin gọi là streaming. Nhiều ứng dụng cịn cung cấp
tính năng tƣơng tác ngƣời dùng. Ví dụ: pause, resume, jump, skip. Khoảng
thời gian từ lúc ngƣời dùng đƣa ra yêu cầu (play, skip, forward, jump) tới khi
bắt đầu nghe thấy trên máy client nên nằm trong khoảng từ 1 – 10 giây để
ngƣời dùng có thể chấp nhận đƣợc.
1.3.2. Truyền trực tiếp audio/video (Streaming live audio/video)
Các ứng dụng loại này cũng tƣơng tự nhƣ phát thanh và truyền hình
quảng bá truyền thống chỉ có điều nó đƣợc thực hiện trên internet. Nó cho
phép ngƣời dùng nhận đƣợc audio/video trực tiếp đƣợc phát ra từ bất kỳ nơi


×