H p và trao đ i thông tin tr c tuy n
GI I THI U........................................................................................................................1
PHÂN TÍCH VÀ THI T K ................................................................................................2
1.
Phân tích.......................................................................................................................................................... 2
1.1.
Phân tích yêu c u .................................................................................................................................. 2
1.2.
Phân tích ch c n ng ............................................................................................................................ 2
1.2.1.
Lên l ch h p (ch c n ng c a ng i qu n tr ) ....................................................................... 2
1.2.2.
C p nh t và hu l ch h p ......................................................................................................... 2
1.2.3.
Qu n lí ng i dùng ..................................................................................................................... 2
1.2.4.
Cu c h p ..................................................................................................................................... 2
1.2.5.
Cu c
i tho i ........................................................................................................................... 3
2.
Thi t k ......................................................................................................................................................... 3
2.1.
Thi t k c s d li u ......................................................................................................................... 3
2.1.1.
S
quan ni m d li u.......................................................................................................... 3
2.1.2.
Mô t các th c th ......................................................................................................................... 3
2.1.3.
S
quan h d li u .............................................................................................................. 5
2.1.4.
Mô t chi ti t các b ng ................................................................................................................. 5
2.2.
Thi t k x lý ....................................................................................................................................... 7
2.2.1.
Lên l ch h p................................................................................................................................ 7
2.2.2.
C p nh t l ch h p....................................................................................................................... 7
2.2.3.
Hu l ch h p ............................................................................................................................... 7
2.2.4.
Qu n lý ng i dùng ................................................................................................................... 7
2.2.5.
Qu n lý cu c h p ....................................................................................................................... 8
2.2.6.
Qu n lý cu c
i tho i............................................................................................................. 9
K THU T VÀ CÔNG NGH ..........................................................................................11
1.
T ng quan ..................................................................................................................................................11
1.1.
Khái ni m c b n ................................................................................................................................11
1.1.1.
Nén không m t d li u ..............................................................................................................11
1.1.2.
Nén m t d li u..........................................................................................................................11
1.1.3.
So sánh gi a hai ki u nén ..........................................................................................................12
1.1.4.
M t s khái ni m c b n trong vi c thu nh n, truy n và trình di n d li u âm thanh,
hình nh 12
1.2.
Gi i thi u JMF....................................................................................................................................14
1.2.1.
C u trúc c p cao ......................................................................................................................15
1.2.2.
B qu n lý .................................................................................................................................16
1.2.3.
Các d ng c a d li u .................................................................................................................17
1.2.4.
nh d ng d li u ...................................................................................................................18
1.2.5.
Các b
i u khi n chu n .........................................................................................................18
2.
RTP và JMF................................................................................................................................................20
2.1.
RTP......................................................................................................................................................20
Khoa Tóan – Tin h c tr
ng
-1–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
2.1.1.
Gi i thi u...................................................................................................................................20
2.1.2.
C u trúc RTP ............................................................................................................................20
2.2.
Truy n d li u v i RTP ....................................................................................................................22
2.2.1.
Thu nh n d li u v i RTP.......................................................................................................22
2.2.2.
Truy n d li u v i RTP ...........................................................................................................24
2.3.
Thu nh n và trình di n d li u v i JMF ........................................................................................28
2.3.1.
Thu nh n d li u v i JMF .......................................................................................................28
2.3.2.
Các thành ph n trình di n d li u ..........................................................................................33
2.3.3.
Trình di n d li u v i JMF.......................................................................................................38
2.3.4.
T o m t Player. ........................................................................................................................38
3.
K thu t nén và mã hóa d li u.................................................................................................................43
3.1.
Nén âm thanh .......................................................................................................................................43
3.1.1.
Gi i thi u m t s thu t toán nén âm thanh thông d ng ........................................................43
3.1.2.
Thu t toán nén u-law và a-law.................................................................................................43
3.1.3.
Các i m t ng
ng gi a A-law và u-law .........................................................................46
3.1.4.
Các i m khác bi t gi a u-lau và A-law.................................................................................46
3.2.
Nén hình nh........................................................................................................................................46
3.2.1.
Các nguyên t c c a nén nh ......................................................................................................46
3.2.2.
M t s thu t toán nén nh thông d ng ....................................................................................47
3.2.3.
Gi i thi u thu t toán nén nh JPEG .........................................................................................47
3.2.4.
Thu t toán mã hóa và gi i mã chu n JPEG ...............................................................................48
3.2.5.
Thu t toán gi i mã tiêu chu n JPEG ........................................................................................50
3.3.
Mã hoá d li u v i MD5.......................................................................................................................50
3.3.1.
Khái ni m v mã b m ...............................................................................................................51
3.3.2.
C u trúc c b n c a các thu t toán hàm b m......................................................................51
3.3.3.
Thu t toán b m MD5..............................................................................................................51
3.3.4.
Mô hình ch ng th c m t kh u ................................................................................................52
TRI N KHAI VÀ CÀI
T ...............................................................................................53
1.
Các ch c n ng dành cho ng i dùng ..................................................................................................53
1.1.
Giao di n chính sau khi
ng nh p ............................................................................................53
1.2.
T o và th c hi n cu c
i tho i....................................................................................................53
1.2.1.
T o cu c
i tho i ..................................................................................................................53
1.2.2.
Truy n âm thanh và hình nh .................................................................................................54
1.2.3.
K t thúc
i tho i...................................................................................................................54
1.3.
Th c hi n cu c h p ..........................................................................................................................54
1.3.1.
M cu c h p..............................................................................................................................54
1.3.2.
Truy n âm thanh và hình nh .................................................................................................56
1.3.3.
R i kh i cu c h p ....................................................................................................................56
1.4.
Các ch c n ng khác............................................................................................................................56
1.4.1.
Xem danh sách nh ng thành viên trong cu c h p ............................................................56
2.
Các ch c n ng dành cho ng i qu n lý h th ng: ...........................................................................57
2.1.
Qu n lý thông qua ch ng trình: ....................................................................................................57
Khoa Tóan – Tin h c tr
ng
-2–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
2.1.1.
2.1.2.
2.2.
Qu
2.2.1.
2.2.2.
2.2.3.
2.2.4.
2.2.5.
3.
Qu n lý cu c h p: ....................................................................................................................57
Qu n lý ng i dùng .................................................................................................................59
n lý thông qua giao th c HTTP ...............................................................................................63
Màn hình
ng nh p ............................................................................................................63
Màn hình chính .........................................................................................................................63
Qu n lí ng i dùng ...................................................................................................................64
Qu n lí phòng h p.....................................................................................................................66
Qu n lý các cu c
i tho i......................................................................................................69
n
á h giá và h ng phát tri n.....................................................................................................................70
3.1.
n
á h giá ................................................................................................................................................70
3.1.1.
u i m ...................................................................................................................................70
3.1.2.
Khuy t i m ............................................................................................................................70
3.2.
H ng phát tri n.................................................................................................................................71
Khoa Tóan – Tin h c tr
ng
-3–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
Khoa Tóan – Tin h c tr
ng
-4–
i H c Khoa H c T NHiên Tp.HCM
GI I THI U
Hi n nay, nhu c u giao ti p c a con ng i ngày càng l n. Nh t là trong nh ng t ch c hay
công ty, nhu c u trao đ i, th o lu n gi a nh ng ng i không cùng phòng ban r t l n. Nh ng
cu c h p đông ng i hay nh ng cu c th o lu n nhóm th ng r t m t th i gian trong vi c đi
l i. Thông th ng, các công ty hay s d ng nh ng t ng đài đi n tho i. Nh ng vi c đó làm t n
chi phí l p đ t t ng đài, h n n a kh n ng phát tri n thêm các tính n ng m i nh truy n t p tin,
truy n hình nh, hay trao đ i là không th .
V i h th ng m ng ngày càng phát tri n, khó kh n đó đ c gi i quy t b ng mô hình Net
Conference. D a trên mô hình đó, chúng tôi đ a ra m t gi i pháp đ gi i quy t các v n đ trên.
Ph n m m h p và trao đ i thông tin tr c tuy n đ c thi t k đ ph c v cho các m c đích:
̇
̇
̇
Giao ti p, đ i tho i gi a hai ng i.
Giao ti p, đ i tho i gi a m t nhóm ng
Trao đ i thông tin.
i (có lên l ch tr
c).
Ph n m m này giúp cho nh ng nhân viên có th liên l c trong n i b công ty m t cách d
dàng, h không c n đi l i hay m t c c phí đi n tho i mà v n có th nói chuy n, nhìn th y
nhau. Ph n m m đáp ng nhu c u c a nhân viên trong cùng m t công s mu n giao d ch, trao
đ i thông tin, tài li u, hình nh… ng th i giúp t o, qu n lý và trao đ i d li u âm thanh, hình
nh c a m t cu c h p. Ph n m m đ m b o t t vi c truy n d li u âm thanh, hình nh nh n t
microphone và WebCam. Do các d li u đ u đ c nén tr c khi truy n, nên đ m b o vi c
truy n v i th i gian th c.
ng th i, v i vi c nén các tín hi u âm thanh hình nh v n t n r t
nhi u đ ng truy n khi truy n làm gi m chi phí trên m ng nên không làm ngh n m ng Ph n
m m có th truy n âm thanh và hình nh gi a hai ng i ho c gi a m t nhóm ng i. Ngoài ra,
ph n m m có c các ch c n ng chat và g i t p tin gi a hai ng i ho c m t nhóm ng i. Có
ch c n ng qu n lý t xa dành riêng cho ng i qu n tr qu n lý toàn b h th ng.
-1-
H p và trao đ i thông tin tr c tuy n
Ch
ng 1
PHÂN TÍCH VÀ THI T K
1. Phân tích
1.1. Phân tích yêu c u
Ph n m m g m ba ch c n ng chính:
̇ T o, th c hi n m t cu c đ i tho i.
̇ Lên l ch, qu n lý m t cu c th o lu n nhóm.
̇ Th c hi n m t cu c th o lu n nhóm.
Trong đ i tho i và th o lu n nhóm, ph n m m có các ch c n ng truy n âm thanh và hình
nh.
Ph n m m xây d ng theo mô hình Client/Server.
Yêu c u h th ng: do có truy n âm thanh và hình nh nên c n thi t ph i có microphone và
WebCam.
1.2. Phân tích ch c n ng
Ph n m m có các ch c n ng chính
1.2.1. Lên l ch h p (ch c n ng c a ng
̇
̇
̇
̇
i qu n tr )
Roomleader (ng i qu n lí cu c h p) s m cu c h p, thêm b t ng i dùng tr c
và trong khi cu c h p di n ra. Roomleader c ng có các ch c n ng gi ng nh ng i
dùng bình th ng trong cu c h p nh chat, g i hình nh, âm thanh, hay t p tin.
Th i gian di n ra: sau th i gian t o l ch h p.
S ng i tham d .
Ch đ nh luôn nh ng ng i tham d .
1.2.2. C p nh t và hu l ch h p
L ch h p ch đ
1.2.3. Qu n lí ng
̇
̇
̇
c c p nh t và hu tr
c khi cu c h p đ
c b t đ u.
i dùng
Thêm ng i dùng: ch có ng i qu n tr m i đ c thêm ng i dùng.
Xóa ng i dùng : ch có ng i qu n tr m i đ c xóa ng i dùng.
C p nh t thông tin: ch có ng i dùng m i đ c c p nh t thông tin c a chính mình.
1.2.4. Cu c h p
̇
̇
̇
T t c các cu c h p đ u ph i do ng i qu n tr lên l ch tr c, ch đ nh roomleader.
Roomleader s m cu c h p, lúc đó m i ng i m i đ c gia nh p cu c h p.
Khi h p, s có chat, truy n âm thanh và hình nh.
Khoa Tóan – Tin h c tr
ng
-2–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
̇
̇
̇
̇
Trong quá trình h p, roomleader có th thêm thành viên.
Ng i s d ng có th r i cu c h p trong khi đang h p.
Khi roomleader r i b cu c h p thì cu c h p s k t thúc.
Trong quá trình h p, ng i s d ng có th g i t p tin.
1.2.5. Cu c đ i tho i
̇
̇
̇
Khi có yêu c u, ng i s d ng s ch n l a ng i đ i tho i, h th ng s ki m tra và
thông báo có k t n i đ c hay không. K t n i không thành công khi ng i đ c
ch n đ i tho i không đ ng nh p, ho c đang đ i tho i v i ng i khác.
Khi b t đ u, đ i tho i m c đ nh là g i tin nh n, ng i s d ng có th dùng
microphone ho c WebCam.
Trong quá trình h p ng i s d ng có th g i t p tin.
2. Thi t k
2.1. Thi t k c s d li u
2.1.1. S đ quan ni m d li u
S đ quan ni m d li u (Entity Relationship Diagrams) đ
ROOM-USER
BeginPoint
EndP oint
1-1
USER
UserID
Password
UserName
Depart ment
UserPosit ion
St atus
id: UserID
JoinRoom
1-1
Has
0-N
0-N
0-N
1-1
Leader
0-N
0-N
Join1
1-1
1-1
Join2
c thi t k nh s đ 1:
ROOM
RoomID
RoomName
To pic
St art Point
Deadline
BeginPoint
EndP oint
id: RoomID
CONVERSAT ION
Conv erID
BeginPoint
EndP oint
Voice
Webcam
id: Conv erID
S đ 1
2.1.2. Mô t các th c th
̇
Th c th User
Tên thu c tính
UserID
Password
UserName
Department
UserPosition
Ki u DL
Char
Char
VarChar
VarChar
VarChar
Khoa Tóan – Tin h c tr
ng
Mô t
Tên đ ng nh p
M t kh u đ ng nh p
Tên ng i dùng
Phòng ban làm vi c
V trí công vi c
-3–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
Status
Char
Tr ng thái hi n hành
B ng 1
L uý
- UserID mang thông tin tài kho n đ ng nh p c a chính ng i dùng, và tên tài kho n
này là duy nh t.
- Thu c tính Status l u d thông tin tr ng thái ng i dùng. Các tr ng thái bao g m :
Online, Offline, Chat, JoinRoom, Off.
̇
Th c th Room
Tên thu c tính
RoomID
RoomName
Topic
StartPoint
Deadline
BeginPoint
EndPoint
Ki u DL
Numeric
VarChar
VarChar
DateTime
DateTime
DateTime
DateTime
Mô t
Mã cu c h p (s t đ ng phát sinh)
Tên cu c h p
N i dung tiêu đ c a cu c h p
Th i gian có th m cu c h p
H n chót đ m cu c h p
Th i gian b t đ u m cu c h p
Th i gian k t thúc cu c h p
B ng 2
L uý
- Kho ng StartPoint – Deadline là kho ng th i gian cu c h p đ c m . Thu c
tính Deadline l u tr th i h n cu i cùng mà cu c h p có th m . N u quá th i h n
mà cu c h p v n ch a đ c m thì coi nh cu c h p đã b hu b .
- Ta có th qu n lí tr ng thái cu c h p d a vào BeginPoint và EndPoint :
‚ BeginPoint và EndPoint b ng r ng thì cu c h p ch a đ c m .
‚ BeginPoint khác r ng và EndPoint b ng r ng thì cu c h p đang đ c m .
‚ BeginPoint và EndPoint khác r ng thì cu c h p đã đ c m và đã k t thúc.
̇
Th c th Conversation
Tên thu c tính
ConverID
BeginPoint
EndPoint
Voice
Webcam
Ki u DL
Numeric
Date
Date
Boolean
Boolean
Mô t
Mã cu c đàm lu n
Th i gian b t đ u cu c đàm lu n
Th i gian kêt thúc cu c đàm lu n
Tr ng thái có chat voice hay không
Tr ng thái dùng webcam hay không
B ng 3
L uý
Khoa Tóan – Tin h c tr
ng
-4–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
Các thông tin qu n lí tr ng thái đ i tho i hi n hành t ng t nh qu n lí trong cu c h p
đã đ c nêu trên.
Voice và Webcam dùng đ l u thông tin có hay không s d ng các tín hi u âm thanh
và hình nh đ truy n.
Cu c đ i tho i khi đ c m s ch có th i gian BeginPoint l u th i gian b t đ u. Khi
cu c đ i tho i k t thúc thì EndPoint m i đ c gán vào đ l u th i đi m k t thúc.
̇
Th c th Room-User
Tên thu c tính
BeginPoint
EndPoint
Ki u DL
Date
Date
Mô t
Th i gian b t đ u tham gia cu c h p
Th i gian thoát kh i cu c h p
B ng 4
L uý
BeginPoint và EndPoint
cu c h p.
đây là dùng đ l u tr chính xác th i gian tham gia
2.1.3. S đ quan h d li u
D a vào các phân tích
trên, ta đ a ra s đ quan h d li u nh sau:
S đ 2
2.1.4. Mô t chi ti t các b ng
̇
B ng User
Tên thu c tính
UserID
Password
UserName
Department
Ki u DL
Char
Char
VarChar
VarChar
Khoa Tóan – Tin h c tr
ng
Kích th
15
15
50
50
c
Mô t
Tên đ ng nh p
M t kh u đ ng nh p
Tên ng i dùng
Phòng ban làm vi c
-5–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
UserPosition
Status
VarChar
Char
50
1
V trí công vi c
Tr ng thái hi n hành
B ng 5
Pham The Bao
̇
Digitally signed by Pham The Bao
DN: CN = Pham The Bao, C = VN
Reason: I am the author of this
document
Date: 2006.08.03 15:48:42 +07'00'
B ng Room
Tên thu c tính
RoomID
RoomName
Topic
StartPoint
Deadline
Leader
BeginPoint
EndPoint
Ki u DL
Autonumber
VarChar
VarChar
DateTime
DateTime
Char
Date
Date
Kích
th c
50
255
-
Mô t
Mã cu c h p
Tên cu c h p
N i dung tiêu đ c a cu c h p
Th i gian có th m cu c h p
H n chót đ m cu c h p
Khoá ngo i tham chi u b ng
User
Th i gian b t đ u m cu c h p
Th i gian k t thúc cu c h p
15
B ng 6
̇
B ng Conversation
Tên thu c tính
ConverID
Ki u DL
Autonumber
Kích th
-
User1
Char
15
User2
BeginPoint
EndPoint
Voice
Webcam
Char
DateTime
DateTime
Boolean
Boolean
15
-
c
Mô t
Mã cu c đàm lu n
Khoá ngo i tham chi u b ng
User
Khoá ngo i tham chi u b ng
User
Th i gian b t đ u
Th i gian k t thúc
Tr ng thái có truy n âm thanh
Tr ng thái dùng hình nh
B ng 7
̇
B ng Room-User
Tên thu c tính
RoomID
UserID
Ki u DL
Kích th
Autonumber
Char
Khoa Tóan – Tin h c tr
ng
15
c
Mô t
Khoá ngo i tham chi u b ng
Room
Khoá ngo i tham chi u đ n
-6–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
BeginPoint
EndPoint
DateTime
DateTime
-
b ng User
Th i gian b t đ u tham gia cu c
h p
Th i gian thoát kh i cu c h p
B ng 8
2.2. Thi t k x lý
Chúng tôi thi t k , x lí các ch c n ng chính nh sau:
2.2.1. Lên l ch h p
Ch c n ng này ch có ng i qu n tr m i th c hi n đ c, c ng d ng và tính n ng
qu n lý t xa đ u có ch c n ng này. X lý bao g m:
a. Ti p nh n các thông tin v cu c h p.
b. Ki m tra các thông tin b t bu c (g i thông báo n u thông tin không h p l ).
c. L u các thông tin này vào c s d li u.
2.2.2. C p nh t l ch h p
Ch c n ng này ch có ng i qu n tr m i th c hi n đ c, c ng d ng và tính n ng
qu n lý t xa đ u có ch c n ng này. Ch th c hi n đ i v i m t cu c h p c th . X lý bao
g m:
a. Vào c s d li u l y tr ng thái hi n t i c a cu c h p c n thay đ i, ch thay đ i
đ c khi cu c h p ch a b t đ u.
b. Ti p nh n thông tin thay đ i, đ m b o các thông tin b t bu c (ki m tra các tr ng
b t bu c, g i thông báo n u thông tin không h p l ).
c. L u thay đ i vào CSDL.
2.2.3. Hu l ch h p
Ch c n ng này ch có ng i qu n tr m i th c hi n đ c, c ng d ng và tính n ng
qu n lý t xa đ u có ch c n ng này. Ch th c hi n đ i v i m t cu c h p c th . X lý bao
g m:
a. Vào c s d li u l y trang thái hi n t i c a cu c h p c n h y, ch h y đ c khi
cu c h p ch a b t đ u.
b. Xóa trong CSDL.
2.2.4. Qu n lý ng
i dùng
a. Thêm ng i dùng, ch có ng i qu n tr m i th c hi n ch c n ng này:
̇ L y thông tin ng i c n thêm, b o đ m các thông tin b t bu c,
̇ L u thông tin trong CSDL.
b. Xóa ng i dùng: ch c n ng c a ng i qu n tr .
Khoa Tóan – Tin h c tr
ng
-7–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
̇
̇
L y ng i c n xóa.
Xóa trong CSDL, xóa luôn các cu c h p ch a đ c m , do ng
roomleader.
c. C p nh t thông tin: ng i dùng c p nh t thông tin c a mình
̇ L y thông tin c n c p nh t.
̇ L u trong CSDL.
i này làm
2.2.5. Qu n lý cu c h p
X lý các thao tác liên quan t i cu c h p bao g m m , đóng, đ ng nh p, thoát kh i
cu c h p; x lý truy n nh n hình nh, âm thanh; thêm b t ng i dùng trong cu c h p.
Toàn b các ch c n ng đ u do máy ch x lý khi nh n yêu c u t ng ng t máy tr m
(có th t ng i dùng bình th ng hay t roomleader).
̇
X lý đ ng nh p cu c h p, ki m tra quy n c a ng
ti n hành t i máy tr m
i dùng vi c ki m tra này đ
c
− Roomleader: ki m tra tr ng thái hi n hành c a cu c h p
a. Order (cu c h p đã đ c t o và ch a m )
Ti n hành m cu c h p, c p nh t tr ng thái hi n hành c a cu c h p trong
b ng ROOM.
M k t n i cho roomleader. C p nh t tr ng thái hi n hành cho roomleader
trong c s d li u.
b. Finished (cu c h p đã k t thúc)
Thông báo cho ng i dùng bi t cu c h p đã đ c h p.
− Ng i dùng: ki m tra tr ng thái hi n hành c a cu c h p.
a. Order (cu c h p đã đ c t o và ch a m )
Thông báo cho ng i dùng bi t cu c h p ch a đ c m , quy n truy c p b
t ch i.
a. Meeting (cu c h p đang đ c h p)
M k t n i cho ng i dùng, c p nh t l i tr ng thái hi n hành cho ng i
dùng.
C p nh t l i b ng ROOM_USER trong c s d li u .
G i thông báo đ n t t c ng i dùng trong cu c h p.
b. Finished (cu c h p đã k t thúc)
Thông báo ng i dùng bi t cu c h p đã k t thúc, quy n truy c p b t ch i.
− Nh ng ng i khác
Thông báo quy n truy c p b t ch i vì ng i dùng không có quy n đ i v i cu c
h p.
̇
X lý thoát kh i cu c h p
− Ch c n ng này ch đ c th c hi n v i các ng i dùng không là roomleader
(quy n này đã đ c ki m t i máy tr m).
− Thông báo cho roomleader.
− Ng t k t n i c a ng i dùng. C p nh t tr ng thái hi n hành c a ng i dùng.
− C p nh t l i b ng ROOM_USER.
Khoa Tóan – Tin h c tr
ng
-8–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
̇
X lý truy n nh n các tín hi u âm thanh, hình nh
− M i máy s nh n đ c tín hi u âm thanh, hình nh t thi t b , chuy n đ nh d ng
d li u, r i truy n lên máy ch .
− Máy ch nh n đ c d li u t máy tr m, truy n cho t t c nh ng ng i dùng
đang có trong cu c h p.
− Ng i dùng nh n đ c d li u, gi i nén và hi n th d li u ra.
̇
X lý thêm ng
i dùng khi đang h p
Ch c n ng ch đ c th c hi n d i quy n ng
h p. Các b c ti n hành
Ki m tra tr ng thái ng i dùng đ c thêm vào
i qu n lý khi cu c h p đang đ
c
− Online (đang tr c tuy n):
- Thông báo và ch câu tr l i t phía ng i dùng đ c m i.
- N u ng i dùng đ ng ý tham gia cu c h p, c p nh t l i tr ng thái hi n hành
cho ng i dùng, c p nh t l i bang ROOM_USER. Chuy n sang ph n x lý gia
nh p cu c h p cho ng i dùng v a thêm.
- Ng c l i thông báo cho ng i qu n lý ng i dùng không đ ng ý.
− Chat ( ang trong cu c đ i tho i):
- Thông báo l i m i cho ng i dùng.
- N u đ c đ ng ý: x lý k t thúc cu c đ i tho i.
- C p nh t l i tr ng thái hi n hành c a ng i dùng trong c s d li u (cho phép
quy n đ ng nh p cho ng i dùng đ c m i vào cu c h p).
- X lý gia nh p cu c h p v i quy n ng i dùng cho ng i v a đ c m i.
− JoinRoom( ang trong cu c h p) hay Offline (không tr c tuy n):
- Thông báo cho roomleader bi t ng i dùng không s n sàng.
̇
X lý đóng cu c h p:
Ch c n ng ch đ c th c hi n d i quy n roomleader.
Ki m tra tình tr ng hi n t i c a nh ng ng i dùng có trong cu c h p, n u còn
ng i dùng thì thông báo cho ng i dùng, k t thúc h p cho ng i dùng này (c ng
b c), c p nh t l i tr ng thái hi n hành cho ng i dùng.
C p nh t tr ng thái hi n hành cho cu c h p.
2.2.6. Qu n lý cu c đ i tho i
̇
Kh i t o đ i tho i
Ta g i user1 là ng i kh i t o đ i tho i, user2 là ng i nh n đ c l i m i:
- User1 g i l nh kh i t o đ i tho i kèm v i ng i dùng đ n máy ch .
- Máy ch ki m tra tr ng thái c a user2: n u là “Online”, g i thông báo đ n
ng i dùng ch s ch p thu n. N u không “Online” g i thông báo không t o
đ c đ i tho i tr v cho user1.
- N u user2 không ch p nh n: g i thông báo không t o đ c đ i tho i cho user1.
- N u user2 ch p nh n: user2 g i s c ng mà nó s nh n âm thanh và hình nh,
user2 m k t n i ch , đ ng th i b t đ u ch các tín hi u âm thanh và hình nh t
user1.
Khoa Tóan – Tin h c tr
ng
-9–
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
- Máy ch g i l i cho user1 các thông tin v a nêu cùng IP c a user2.
- User1 nh n đ c các thông tin c n thi t, nó s t o k t n i đ n user2, m k t n i
ch các tín hi u âm thanh và hình nh, cu i cùng là b t đ u cu c đ i tho i.
̇
X lý truy n và nh n âm thanh, hình nh
Khi có tín hi u mu n s d ng âm thanh hay hình nh:
- H th ng s ki m tra thi t b , thông báo l i n u không tìm d c thi t b thích h p.
- G i thông báo lên máy ch ,
- Nh n tín hi u t thi t b , chuy n đ nh d ng thích h p, r i truy n d li u cho ng i
dùng còn l i.
Ng i dùng khi nh n đ c tín hi u, chuy n đ nh d ng thích h p đ trình di n d
li u.
Máy ch nh n đ c thông báo, c p nh t c s d li u.
̇
K t thúc đ i tho i
Khi m t trong hai ng i k t thúc, cu c đ i tho i s đ c k t thúc.
- G i thông báo lên máy ch .
- G i thông báo cho ng i dùng còn l i.
- K t thúc vi c truy n âm thanh/hình nh (n u còn).
- óng các k t n i.
Ng i dùng còn l i khi nh n đ c thông báo k t thúc đ i tho i, đóng các k t n i
đ n ng i dùng kia. i tho i k t thúc.
Khoa Tóan – Tin h c tr
ng
- 10 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
Ch
ng 2
K THU T VÀ CÔNG NGH
1. T ng quan
1.1. Khái ni m c b n
Vi c truy n d li u thông qua môi tr ng m ng g p m t khó kh n r t l n v b ng
thông và t c đ đ ng truy n, đ c bi t là đ i v i các d li u nh âm thanh và hình nh.
Nh ng d li u liên t c này đòi h i cao v đ ng truy n đ đ m b o cho nó đ c truy n
m t cách hi u qu (không b gián đo n, ng t quãng, hay m t thông tin). Do đó vi c nén các
tính hi u âm thanh, hình nh tr c khi chúng đ c truy n lên m ng là m t yêu c u h t s c
c n thi t c cho vi c ti t ki m đ ng truy n c ng nh đ m b o ch t l ng c a vi c truy n
nh n chúng.
K thu t nén d li u đ c chia thành hai k thu t c b n: nén không m t d li u và nén
m t d li u.
1.1.1. Nén không m t d li u
Nén không m t d li u (lossless data compression) [3] là m t ph ng pháp nén cho
phép d li u g c có th đ c tái t o l i t d li u đ c nén.
i v i d ng nén không m t d li u, nh đ c khôi ph c hoàn toàn gi ng nh g c, tuy
nhiên đi u này đòi h i ph i có thi t b l u tr và đ ng truy n l n h n.
Các thu t toán c a nén không m t d li u th ng d a vào vi c thay th m t nhóm các
ký t trùng l p b i m t nhóm các ký t đ c bi t khác ng n h n mà không quan tâm t i ý
ngh a c a dòng bit d li u.
Các ví d c a d ng nén không m t d li u là Run-Length Encoding (RLE), Huffman
Coding, Arithmetic coding, Shannon-Fano Coding,....
1.1.2. Nén m t d li u
Nén m t d li u (lossy data compression) [3] là m t ph ng pháp nén mà sau khi nén
ho c gi i nén, d li u ta nh n đ c s khác v i d li u ban đ u. Tuy nhiên, d li u này có
th s d ng t t trong các tr ng h p thích h p. Ki u nén này thông th ng đ c s d ng
trên m ng Internet và đ c bi t trong quá trình truy n t i d li u âm thanh, hình nh. Ki u
nén này t ng ph n v i nén không m t d li u. Ph thu c vào đ nh d ng c a d li u mà
ph ng pháp nén này mà d li u khi ph c h i s b m t khác nhau, vì v y khi nén và gi i
nén càng nhi u l n s càng gây ra nhi u h h i v d li u. Các ph ng pháp nén nh có
m t tín hi u g m có 4 b c, hình 1.
nh g c
Bi n đ i
L
ng t hoá
Mã hoá
Hình 1. S đ c b n c a quá trình mã hoá
Khoa Tóan – Tin h c tr
ng
- 11 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
Có nhi u gi i thu t đ c đ t ra đ đáp ng yêu c u gi m thi u kích th c c a t p tin
nh sao cho v n duy trì đ c ch t l ng m c đ ch p nh n đ c. Nh ng gi i thu t này
đ u d a trên n n t ng là lo i b t nh ng màu mà m t ng i không ho c khó c m nh n
đ c, ch gi l i nh ng màu ch y u th c s nh h ng tích c c lên kh n ng c m nh n
màu c a m t.
i v i âm thanh, có nhi u chu n nén khác nhau nh : Windows Media, MP3 (MPEG-1
Audio Layer-3) , Real G2, Liquid Audio, nh ng thông d ng nh t hi n nay là MP3. Nén theo
chu n MP3, kích th c t p tin âm thanh có th đ c thu nh đi tám l n so v i kích th c
ban đ u.
làm đ c nh v y, ng i ta s d ng m t k thu t g i là l y m u âm, th
nghi m r i b b t nh ng âm đi u mà tai ng i không nghe đ c ho c kém nh y. Do đó,
ch t l ng âm c a MP3 r t khó phân bi t v i âm c a đ a CD (Compact disc chu n) [4].
1.1.3. So sánh gi a hai ki u nén
Ph ng pháp nén m t d li u có ích h n nén không m t d li u m t vài đi m: ki u
nén m t d li u s cho ra các t p tin nén có kích th c nh h n r t nhi u so v i b t c ki u
nén không m t d li u nào.
Các ph ng pháp nén m t d li u th ng đ c dùng cho nén âm thanh, hình nh ho c
các đo n video. Do d li u âm thanh có m t s âm v c tai ng i không nghe đ c và khi
b m t m t s d li u thì ta v n không phân bi t đ c gi a d li u đã b m t và d li u
ch a b m t. i v i hình nh, lý do c ng t ng t .
T s nén (t s gi a kích th c c a t p tin nén và t p tin ch a nén) c a ki u nén m t d
li u cho video thì cao h n so v i nén cho âm thanh. Âm thanh có th đ c nén t i t l 10:1
và ch t l ng không kém h n bao nhiêu, video khi đ c nén v i t l m t mát không đáng
k có th đ t đ n t l 300:1.
Kh o sát nén m t d li u trên hình Lena v i hai t l nén khác nhau:
(a)
(b)
(c)
Hình 2: K t qu nén thông tin: (a)Hình ban đ u kích th c 12KB; (b)Hình đ c nén 85%
thông tin b m t, kích th c 1.8KB; (c)Hình đ c nén 96% thông tin b m t, kích th c
0.56KB.
1.1.4. M t s khái ni m c b n trong vi c thu nh n, truy n và trình di n d li u âm
thanh, hình nh
̇
Time-base Media (tín hi u đa truy n thông liên t c):
Khoa Tóan – Tin h c tr
ng
- 12 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
̇
̇
̇
M t đ c đi m chính c a tín hi u đa truy n thông liên t c là yêu c u vi c phát và
x lí m t cách đ ng th i [1]. M t khi b t đ u truy n m t lu ng tín hi u, c n đ t
đ c s gi i h n nghiêm kh c v th i gian trong c vi c nh n và hi n th d li u. Vì
v y, tín hi u đa truy n thông liên t c - đ c xem là streaming media- ph i đ c
phát trên m t đ ng truy n n đ nh, cung c p kh n ng truy n và nh n trong m t
khung th i gian nh t đ nh đ cho ra k t qu ch p nh n đ c. Ví d , khi m t đo n
phim đ c chi u, n u d li u không đ c phát đ nhanh, có th s xu t hi n các
kho ng d ng ngoài ý mu n. M c khác, n u d li u không đ c nh n và x lí m t
cách nhanh chóng, thì đo n phim s xu t hi n nh ng đo n nh y do m t d li u hay
đo n nh b b qua do mu n đ t đ c t c đ hi n th v n có.
Content Type:
Là đ nh d ng mà d li u media (âm thanh và hình nh) đu c l u tr
các d ng
Quicktime, MPEG (Motion Pictures Experts Group) hay WAV(Waveform Audio).
Content type v b n ch t t ng t nh đ nh d ng t p tin nh ng ng i ta dung
thu t ng content type vì d li u media ch y u thu đ c t các ngu n tài
nguyên h n là t các t p tin c c b .
Media Stream:
Media stream là m t dòng d li u media thu đ c t m t t p tin c c b , t
m ng hay thu nh n đ c t camera ho c microphone. Media stream th ng
bao g m nhi u kênh d li u đ c g i là các track. Ví d nh m t t p tin d ng
Quicktime có th bao g m các track âm thanh và track hình nh. Các media
stream ch a nhi u track th ng đ c g i là multiplexed hay complex.
- Demultiplexing là quá trình tách các track riêng r ra kh i các lu ng
media ch a nhi u track.
- D ng track đ c đ nh ngh a là lo i d li u mà nó ch a, nh là hình nh ho c
âm thanh.
nh d ng c a track cho bi t cách mà d li u c a track đ c xây d ng.
- M t media stream đ c xác đ nh nh đ a ch và giao th c truy c p nó.
Ch ng h n nh ng i ta dùng đ a ch URL(Uniform Resource Locator) đ xác đ nh
v trí c a t p tin Quicktime trên h th ng t xa hay c c b . N u t p tin máy c c
b thì nó có th đ c truy c p b ng giao th c FILE. Ng c l i n u nó n m máy ch
web thì có th truy c p đ c b ng giao th c HTTP(Hyper Text Transfer Protocol).
M t media locator đ c dùng thay th cho URL khi đ a ch d ng URL không
th dùng.
- Media stream có th đ c phân lo i theo cách mà d li u đ c phân
phát:
X Pull : d li u truy n đ c kh i đ ng và đi u khi n t phía máy khách.
HTTP và FILE là các ví d v giao th c Pull.
X Push : máy ch s kh i đ ng d li u truy n và đi u khi n dòng d li u. Ví
d nh RTP(Real-time Transport Protocol) là giao th c Push đ c s d ng
đ truy n thông media.
Trình di n các d li u media:
Khoa Tóan – Tin h c tr
ng
- 13 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
̇
̇
̇
̇
H u h t các d li u media đ c trình di n qua các thi t b nh loa hay màn
hình. Ngoài ra, các lu ng d li u media có th đ c l u vào t p tin ho c truy n qua
m ng. Các cách th c trình di n cho media đ c đ i di n nh m t data sink.
X lý d li u trình di n:
Trong h u h t tr ng h p, d li u trong lu ng media đ c x lí tr c khi bi u
di n cho ng i dùng. Thông th ng, vi c x lí th c hi n nh sau:
X N u lu ng là đa thành ph n, thì c n ph i tách ra thành t ng track riêng.
X N u các track này b nén thì ph i gi i nén ra.
X N u c n thi t, m i track s đ c chuy n sang các đ nh d ng khác nhau.
X N u mu n, có th g n các b l c vào t ng track c n gi i nén.
Sau đó, nh ng track này đ c g n vào thi t b xu t thích h p. N u lu ng media
đ c dùng đ l u tr thay vì trình di n ra thi t b , thì vi c x lí s khác m t chút. Ví
d , n u ta mu n thu nh n d li u âm thanh và hình nh t m t video camera,
x lí và l u xu ng t p tin. Ta làm nh sau:
X Thu nh n t ng track âm thanh và hình nh.
X Có th g n nh ng track này vào các b l c.
X Các track này s đ c mã hóa.
X Nh ng track sau khi nén s đ c k t h p và đ a vào m t lu ng media riêng.
X Lu ng đa thành ph n này s l u xu ng t p tin.
B nén d li u (codecs) :
- Codec có nhi m v nén và gi i nén d li u media. Khi m t track đ c mã
hóa, nó s chuy n sang d ng nén thích h p đ l u tr ho c truy n đi, khi gi i nén
nó s đ c chuy n sang d ng đ nh d ng không nén thích h p cho vi c bi u di n d
li u.
- M i codec nh n vào m t đ nh d ng thích h p và xu t ra m t đ nh d ng khác
mà nó có th t o ra. Trong m t vài tr ng h p, có th dùng nhi u codec đ
chuy n đ i t m t đ nh d ng này sang đ nh d ng khác.
B trình di n d li u (Renderer):
Renderer là thi t b trình di n d li u. i v i âm thanh, thi t b trình di n là
lo i audio card mà có th phát ra âm thanh còn v i hình nh là màn hình máy
tính.
Thu nh n các d li u media (Media Capture):
- D li u truy n thông đa liên t c có th đ c thu nh n t các thi t b bên ngoài
đ trình di n ho c thu l i. Ví d nh âm thanh có th đ c thu nh n t
microphone, video có th đ c thu nh n t m t camera.
- M t thi t b có th thu nh n đ c nhi u lu ng d li u cùng lúc. Ví d nh m t
camera có th thu nh n đ c c âm thanh l n hình nh. Các lu ng này đ c thu
nh n và đ c đi u khi n đ c l p ho c có th k t h p chúng thành m t.
1.2. Gi i thi u JMF
Java Media Framework (JMF) là m t th vi n đ c vi t b ng ngôn ng Java c a
hãng Sun, JMF cho phép các d li u nh âm thanh, hình nh hay các tín hi u đa truy n
thông liên t c có th thêm vào các ng d ng hay các applet đ c vi t b ng Java. Gói này
Khoa Tóan – Tin h c tr
ng
- 14 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
có th thu nh n, trình di n, truy n d li u âm thanh và hình nh, ngoài ra JMF còn h tr
chuy n mã gi a nhi u đ nh d ng d li u khác nhau.
JMF cung c p m t giao th c truy n thông và m t ki n trúc th ng nh t đ qu n lý, x lý
và phân phát các tín hi u media liên t c. JMF đ c thi t k thích h p v i h u h t các d ng
media chu n nh : AIFF (Audio Interchange File Format), AVI (Audio-Video Interleave),
GSM (Global System for Mobile Communication), MIDI (Musical Instrument Digital Interface),
MPEG, QuickTime và WAV,…
D a trên n n Java, JMF duy trì đ c kh n ng “vi t m t l n, ch y kh p n i” cho nh ng
nhà phát tri n mu n tích h p các tín hi u media nh âm thanh hình nh vào ng d ng Java
c a mình. S b sung c a JMF có th n ng cao kh n ng c a các h đi u hành c s , trong
khi ng i l p trình có th d dàng t o các ch ng trình Java v i các c ng giao ti p có th
truy n t i đ c các tín hi u media liên t c b ng cách s d ng các hàm API(Application
Program Interface) c a JMF.
V i JMF, b n có th d dàng t o các ch ng trình ng d ng đ trình di n, thu gi , x
lý hay l u tr các tín hi u media liên t c. JMF cho phép ng i l p trình có th t thêm vào
các x lý cho các d li u media thô, m r ng JMF đ h tr cho các content type và
đ nh d ng m i, t i u hóa vi c đi u khi n các đ nh d ng cung c p s n, và t o m t c ch
trình di n m i.
1.2.1. C u trúc c p cao
Các thi t b nh đ u máy video, đ u VCR (Video Cassette Recorder) cung c p m t mô
hình quen thu c cho vi c thu nh n, x lý, trình di n các tín hi u media theo th i gian. Khi
b n xem m t đo n phim v i đ u VCR b n s cung c p m t lu ng media cho đ u VCR
b ng m t cu n b ng. u VCR s x lý n i dung trong cu n b ng và g i d li u thích h p
đ n cho tivi đ hi n th .
JMF c ng s d ng m t mô hình t ng t . M t data source gi d li u c a dòng
tín hi u media nh m t cu n b ng và m t player cung c p ch c n ng x lý và c ch
đi u khi n nh là đ u VCR. Vi c hi n th và thu nh n tín hi u âm thanh, hình nh v i JMF
đòi h i các thi t b đ u vào và ra thích h p ch ng h n nh microphone, camera, loa
và monitor.
Khoa Tóan – Tin h c tr
ng
- 15 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
Hình 3: Minh h a các b
c thu nh n và trình di n d li u
Datasource và player là nh ng ph n bên trong b API c p cao c a JMF dùng đ
qu n lý tín hi u thu nh n đ c, trình di n và x lý các tín hi u media liên t c. JMF c ng
cung c p m t b API c p th p cho vi c tích h p tín hi u media liên t c vào ng d ng Java
trong khi v n duy trì đ c s linh đ ng và kh n ng m r ng.
Hình 4: C u trúc c a JMF
1.2.2. B qu n lý
t
B JMF API cung c p giao di n chính đ nh ngh a cách th c và t ng tác gi a các đ i
ng đ c dùng đ l y tín hi u, x lý và hi n th d li u media liên t c.
JMF bao g m 4 b qu n lý :
Khoa Tóan – Tin h c tr
ng
- 16 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
̇
Manager: n m gi các c u trúc Player, Processors, DataSource và
DataSink.
̇ PackageManager: gi registry c a gói th vi n ch a các l p c a JMF nh là
Players, Processors, DataSources, và DataSinks.
̇ CaptureDeviceManager : gi registry c a các bi n thi t b b t tín hi u.
̇ PlugInManager : gi registry c a các thành ph n x lý c a JMF nh
Multiplexers,
Demultiplexers,
Codecs,
Effects,
và
Renderers.
vi t m t ch ng trình JMF, ta c n dùng ph ng th c create c a Manager đ
xây d ng các Players, Processors, DataSources, và DataSinks. N u b n
c n b t d
li u media t
thi t b , b n c n dùng đ n đ i t ng
CaptureDeviceManager đ dò tìm thi t b thích h p và truy c p các thông tin c a
chúng. N u b n mu n n m đ c các x lý nào đang đ c ti n hành trên d li u media,
dùng l p PlugInManager đ xác đ nh nh ng plug-in nào đã đ c đ ng kí.
N u b n m r ng ch c n ng c a JMF b ng cách thi hành m t plug-in m i và đ ng
kí nó v i PlugInManager đ nó có hi u l c trong các API plug-in c a Processors.
s d ng các Player, Processor, DataSource, hay DataSink t đ nh ngh a
ch c n đ ng kí nó v i PackageManager.
1.2.3. Các d ng c a d li u
JMF đ nh ngh a 2 d ng ngu n d li u đ c bi t : cloneable và merging.
̇ D li u d ng cloneable có th đ c s d ng đ t o ra b n clone cho c pull và push
datasource.
t o đ c d li u d ng cloneable g i
ph ng th c
createCloneableDataSource c a Manager đ i v i DataSource c n
t o. M t khi DataSource đã đ c x
lý qua ph ng th c
createCloneableDataSource, ta ch nên thao tác trên b n clone m i đ c
t o.
- D li u ngu n cloneable th c thi giao di n SourceCloneable v i ph ng
th c createClone. B ng cách s d ng hàm createClone b n có th t o ra
nhi u b n clone t d li u mà đ c dùng đ t o ra d li u Cloneable. Các b n clone
đó có th đ c qu n lý thông qua b n cloneable đ c dùng đ t o ra chúng. Khi g i
các hàm connect, disconnect, start, hay stop lên b n cloneable, ph ng
th c c ng tác đ ng lên các b n clone.
- Các b n clone không nh t thi t ph i có cùng thu c tính v i d li u cloneable
dùng đ t o ra chúng hay là d li u g c.
̇ D li u d ng k t h p có th đ c s d ng đ k t h p nhi u lu ng d li u thành
m t. i u này cung c p kh n ng qu n lý t p trung các ngu n d li u. Khi g i các
hàm connect, disconnect, start, hay stop thì nó s tác d ng lên toàn b
d li u trong các d li u đ c k t h p.
t o d li u k t h p, g i ph ng th c createMergingData Source c a
Manager đ i v i d li u c n k t h p.
đ c k t h p v i nhau thì toàn b d li u
ph i có cùng đ nh d ng.
Khoa Tóan – Tin h c tr
ng
- 17 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
1.2.4.
nh d ng d li u
nh d ng d li u media đ c xác đ nh b i đ i t ng Format, hình 5. Ph n đ nh d ng
này không mang thông tin tham s mã hóa c ng nh l ng th i gian, nó ch mang thông tin
tên đ nh d ng mã hóa và d ng d li u thích h p v i ki u đ nh d ng đó.
JMF m r ng đ i t ng Format đ xác đ nh t ng đ nh d ng âm thanh và hình nh
riêng bi t.
Hình 5: C u trúc các l p Format
i t ng AudioFormat gi các đ c tính riêng bi t cho các đ nh d ng âm thanh nh
rate, s kênh v.v…
i t ng VideoFormat gi các thông tin v d li u hình nh. M t
vài đ i t ng Format đ c h tr b i VideoFormat đ di n t các tính ch t c a các
đ nh d ng hình nh thông d ng:
• IndexedColorFormat
• RGBFormat
• YUVFormat
• JPEGFormat
• H261Format
nh n đ c s ki n thay đ i đ nh d ng t các đ i t ng Controller, c n th c thi
giao ti p ControllerListener và l ng nghe s ki n FormatChangeEvents.
1.2.5. Các b đi u khi n chu n
JMF cung c p các đi u khi n chu n :
Khoa Tóan – Tin h c tr
ng
- 18 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
Hình 6: C u trúc các Control
M t s Control chính, hình 6:
CachingControl cho phép hi n th ti n trình download. N u m t Player hay
Processor mu n t ng thu t đ c ti n trình download, nó ph i th c thi giao ti p này.
GainControl cung c p kh n ng hi u ch nh m c đ âm thanh nh l n, nh , ho c
ng t tín hi u ra c a m t Player hay Processor. Nó còn h tr c ch l ng nghe s
thay đ i m c đ âm thanh.
i t ng DataSink hay Multiplexer đ c d li u t m t DataSource và ghi
nó lên m t ngu n khác ch ng h n nh m t t p tin. Hai đ i t ng này th c thi giao di n
StreamWriterControl. Control này cho phép ng i dùng gi i h n dung l ng c a
dòng d li u đ c t o.
M t TrackControl là m t d ng c a FormatControl, nó cung c p c ch ki m
soát ti n trình x lý c a Processor trên m t track c a d li u media. V i ph ng th c
TrackControl, ta có th xác đ nh rõ đ c nh ng chuy n bi n đ nh d ng trên nh ng
track riêng l và ch n các plug-in Effect, Codec, hay Renderer đ s d ng trong
Processor.
Khoa Tóan – Tin h c tr
ng
- 19 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
2. RTP và JMF
2.1. RTP
2.1.1. Gi i thi u
g i, nh n d l êu media ho c qu n lý m t video-conference thông qua Internet ho c
Intranet, ta ph i nh n và truy n các lu ng media theo th i gian th c (Real-time Media
Stream)[1].
Vi c truy n media qua m ng đòi h i m ng ph i có b ng thông cao. Vì d li u r t d b
m t nên kho ng th i gian trì hoãn đ nh n đ c d li u l n. i u này r t khác v i vi c
nh n các d li u t nh qua t p tin – đòi h i t t c các d li u ph i đ n đ c đích. Vì th , các
giao th c dùng cho vi c truy n t p tin thì r t khó s d ng đ c cho vi c truy n tín hi u
media.
HTTP và FTP là hai giao th c đ c d a trên TCP (Transmission Control Protocol) là
m t giao th c c a t ng transport đ c thi t k v i đ tin c y cao dùng cho m ng có b ng
thông th p. Theo giao th c này, khi m t d li u b m t ho c b th t l c, nó s ph i đ c
truy n l i. Do đó, UDP th ng đ c dùng cho vi c truy n các d li u media liên t c theo
th i gian th c.
RTP - m t giao th c đ c đ nh ngh a b i t ch c IETF RFC 1889 - là giao th c đ c
đ nh ngh a riêng cho vi c truy n các d li u âm thanh và hình nh. RTP th ng đ c dùng
thông qua UDP.
Hình 7: C u trúc RTP.
RTP có th đ c dùng v i c d ch v m ng unicast và multicast.
i v i unicast nó s
g i m t b n sao d li u đ c l p t ngu n đ n đ a ch đích.
i v i multicast d li u t
ngu n s đ c g i ch m t l n và m ng s ch u trách nhi m truy n các d li u này đ n các
đ a ch đích.
2.1.2. C u trúc RTP
RTPSession
M t session đ c đ nh ngh a b i m t đ a ch và m t c p c ng thu nh n d li u.
M t c ng dùng cho d li u media còn c ng kia thì dùng cho d li u đi u khi n
(RTCP).
Participant
Là m t máy tr m, máy ch hay m t ng i s d ng tham gia trong session.
i
t ng tham gia trong m t session có th g m có ng i nh n, ng i g i, ho c c hai.
M i lo i d li u media đ c truy n trong m t session khác nhau. Ví d nh n u
c tín hi u âm thanh và hình nh cùng đ c truy n, m t session s truy n audio, m t
Khoa Tóan – Tin h c tr
ng
- 20 –
i H c Khoa H c T NHiên Tp.HCM
H p và trao đ i thông tin tr c tuy n
session khác s truy n video. i u này giúp cho participant có th ch n l a lo i
d li u h mu n nh n.
DataPackets
D li u media đ c truy n đi b ng m t lo t các gói. Các gói này đ c b t đ u t
m t ngu n đ c g i là RTPStream. M i gói d li u RTP bao g m hai ph n : ph n
header và ph n d li u th c.
Bit 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 16 7 8 9 0 1 2 3 4 5 6 7 8 9 0 31
V P X OC
M
PT
Dãy s
Timestamp
Synchronization Source (SSRC)
Content Source (CSRC)
(0-15)
Hình 8:
nh d ng c a RTP data-packet header
RTCP (RTP Control Protocol) Các gói d li u đi u khi n.
Ngoài các d li u đ c g i trong m t session, các RTCP c ng đ c g i m t cách
đ nh k cho t t c participant trong m t session. Các gói này ch a thông tin v
ch t l ng c a d ch v , ngu n d li u đ c truy n trên c ng d li u, và các th ng kê v
d li u s đ c truy n ti p theo.
T t c các participant trong m t session đ u g i các gói RTCP.
participant g i gói d li u g n nh t s đ a ra m t b ng báo cáo xu t. B n báo cáo
xu t này ch a t ng s gói d li u và t ng s byte đã đ c g i c ng nh các thông tin
dùng đ đ ng b hóa d li u t các session khác nhau.
Các participant s g i đ nh k m t b n báo cáo nh n cho t t c các máy.
M t b n báo cáo nh n ch a thông tin v s gói d li u b m t, s th t l n nh t c a
các gói d li u đã nh n đ c, m t timestamp dùng đ
c tính kho ng th i gian trì
hoãn gi a ng i g i và ng i nh n.
Gói RTCP đ u tiên trong packet ghép ph i là m t b ng t ng thu t, th m chí n u
không có d li u nào đ c g i thì m t b n t ng thu t r ng s đ c g i.
T t c các packet RTCP ghép ph i có m t source description (SDES) đ nh n
d ng ngu n d li u, đ a ch email, tên ng d ng, ho c m t thông đi p đ mô t tr ng
thái hi n th i c a ngu n d li u.
Khi ngu n d li u không ho t đ ng, nó g i m t gói RTCP BYE. Gói này có th
đ a ra lý do vì sao ngu n d li u r i b phiên truy n nh n.
Khoa Tóan – Tin h c tr
ng
- 21 –
i H c Khoa H c T NHiên Tp.HCM