Ở cấp độ này, mô hình tương tác giữa giáo viên và người học trực tuyến được xây dựng dựa trên một lớp học truyền thống, được mô phỏng lại dưới dạng đồ họa có hình ảnh, âm thanh, các giao
Trang 1HUỲNH PHAN DIỆU HIỀN
XÂY DỰNG MÔ HÌNH LỚP HỌC ẢO
CHO PHÒNG HỌC TRỰC TUYẾN
LUẬN VĂN THẠC SĨ NGÀNH: CÔNG NGHỆ THÔNG TIN
Mã số: 60 48 02 01
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS Đàm Quang Hồng Hải
TP HỒ CHÍ MINH – Năm 2017
Trang 2ỨNG DỤNG SẢN PHẨM
Trang 3văn Thạc sĩ chuyên ngành Công Nghệ Thông Tin
Cuối cùng tôi xin chân thành cảm ơn gia đình và bạn bè đã động viên, khích
lệ, chia sẽ, giúp đỡ và đồng hành cùng tôi trong cuộc sống cũng như quá trình học tập và nghiên cứu
Tp.Hồ Chí Minh, ngày 16 tháng 12 năm 2016
Tác giả luận văn
Huỳnh Phan Diệu Hiền
Trang 4Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của TS Đàm Quang Hồng Hải Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây
Mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đều được ghi rõ nguồn gốc
Tác giả luận văn
Huỳnh Phan Diệu Hiền
Trang 5Mục tiêu, đối tượng, phạm vi nghiên cứu 12
1.1 Sự phát triển các hệ thống Đào tạo trực tuyến 13
1.2 Tình hình nghiên cứu trong nước 15
1.3 Tình hình nghiên cứu ngoài nước: 19
2.1 Công nghệ truyền thông ảo: 22
2.1.1 Tổng quan: 22
2.1.2 Công nghệ hội thảo trực tuyến (Video Conferencing) 22
2.1.3 Khái niệm lớp học ảo: 24
2.1.4 Các đặc tính của lớp học ảo: 24
2.1.4 Các chức năng của lớp học ảo: 24
2.2 Một số hình ảnh về lớp học ảo: 26
2.3 Công nghệ Flash/HTML5/WebRTC 28
2.3.1 Flash Video 28
2.3.2 HTML5 Video 28
2.3.3 WebRTC 29
2.4 Ngôn ngữ lập trình ActionScript:[17] 30
Các chức năng chính của ngôn ngữ ActionScript 31
2.5 Giao thức RTMP và RED5 Server: 36
2.5.1 Giao thức RTMP 36
2.5.2 RED5 Server 39
3.1 Phân tích hành vi của học sinh trong lớp học: 43
3.2 Mô hình lớp học ảo cho phòng học trực tuyến 47
3.3 Thiết kế lớp học ảo trực tuyến 48
Trang 63.4 Mô hình truyền thông Client/Server 51
4.1 Chức năng phát hiện người học rời khỏi vị trí (màn hình camera) [12] 53
4.2 Chức năng của phân hệ giáo viên: 58
4.3 Chức năng của phân hệ học sinh 60
4.4 Hiện thực lớp học ảo với mô phỏng hoạt động của người học 66
4.5 Coding – xây dựng hệ thống, kết nối Server: 67
4.6 Độ trễ của hệ thống: 70
4.7 Đánh giá hệ thống: 72
5.1 Kết luận 74
5.2 Kiến nghị 74
TÀI LIỆU THAM KHẢO 76
Trang 8DANH MỤC CÁC THUẬT NGỮ ANH VIỆT
E-Learning Dạy học trực tuyến
Synchronous Learning Học đồng bộ
Virtual communication
technology Công nghệ truyền thông ảo
Virtual classroom Lớp học ảo
Support for live Audio-Video Hỗ trợ âm thanh, hình ảnh trực tuyến
Recording class lecture
(Session Recording) Ghi âm bài giảng
White Board Bảng viết
Sharing of Learning Resources
and/or Desktop Screen Chia sẻ tài nguyên học tập/ chia sẻ màn hình
Trang 10DANH MỤC CÁC BẢNG
Bảng 1: Các thuộc tính của lớp Camera 33
Bảng 2: Các thuộc tính của lớp Microphone 33
Bảng 3: Các phương thức của lớp NetStream 35
Bảng 4: Các thuộc tính của lớp Video 36
Bảng 5: Bảng mô phỏng các hoạt động cơ bản của người học tại lớp học ảo 50
Bảng 6: Bảng đo độ trễ của hệ thống 72
Bảng 7: Đánh giá của người dùng về lớp học trực tuyến ảo 73
Trang 11Hình 7: Lớp học trực tuyến tại CITD 19
Hình 8: Dạy với lớp học ảo (avatar) 21
Hình 9: Hình ảnh một cuộc hội thảo trực tuyến 23
Hình 10: Các chức năng của lớp học ảo [7] 25
Hình 11: Lớp học ảo tương tác bằng hình ảnh, âm thanh 26
Hình 12: Lớp học ảo dạng mô phỏng bằng đồ họa 26
Hình 13: Hình ảnh lớp học ảo mô phỏng dạng 2D 27
Hình 14: Hình ảnh lớp học ảo mô phỏng dạng 3D 27
Hình 15: Hình ảnh lớp học ảo mô phỏng dạng 3D 28
Hình 16: Kiến trúc WebRTC 30
Hình 17: Mô hình hoạt động của giao thức RTMP 38
Hình 18: Minh họa khái niệm phân vùng (scope) trong RED5 41
Hình 19: Quan sát hành vi học sinh của người Hàn 43
Hình 20: Quan sát hành vi học sinh của người Mỹ 44
Hình 21: Quan sát hành vi học sinh của người Canada 44
Hình 22: Quan sát hành vi học sinh của người Singapore 45
Hình 23: Quan sát hành vi học sinh của người Việt Nam (Dự giờ) 45
Hình 24: Kỹ thuật quan sát hành vi của học sinh từ xa 46
Hình 25: Mô hình lớp học ảo cho giảng dạy trực tuyến 48
Hình 26: Các màn hình giao diện lớp học ảo cho giáo viên trước và sau 10s 50
Hình 27: Mô hình truyền thông Client/Server giữa phần mềm của giáo viên và người học trực tuyến với Server 52
Hình 28: Hình ảnh học sinh khi ngồi trong lớp học 54
Hình 29: Hình ảnh học sinh khi ngồi trong lớp học (trạng thái nghiêng phải) 55
Hình 30: Hình ảnh học sinh khi ngồi trong lớp học (trạng thái nghiêng trái) 56
Hình 31: Đồng bộ trạng thái giữa giao diện SV và GV thông qua Server 56
Hình 32: Giao diện GV và HS khi học sinh tạm rời khỏi ví trí 57
Hình 33: Hình ảnh minh họa motion tracking 58
Hình 34: Giao diện lớp học ảo trên màn hình người học trực tuyến với 59
Hình 35: Màn hình giáo viên khi đăng nhập 59
Hình 36: Vùng chiếu bài giảng ( giao diện học sinh) 60
Trang 12Hình 37: Học sinh giơ tay phát biểu (tương ứng với hành động của người ảo) 61
Hình 38: Giao diện giáo viên và học sinh khi có học sinh phát biểu 62
Hình 39: Giao diện giáo viên và học sinh khi giáo viên đồng ý cho học sinh phát biểu 62
Hình 40: Màn hình học sinh khi có nhiều hs phát biểu 63
Hình 41: Màn hình giáo viên khi có nhiều hs phát biểu 64
Hình 42: Khi giáo viên chọn một trong các hs phát biểu 65
Hình 43: Sơ đồ hoạt động của Movie Clip lớp học ảo 66
Trang 13những yếu tố thay đổi sâu sắc trong giáo dục khi yếu tố thời gian và không gian sẽ không còn bị ràng buộc chặt chẽ, người học tham gia học tập mà không cần đến trường
Trên thế giới, các hệ thống trực tuyến đã được sử dụng trong các chương trình đào tạo thông thường lẫn các chương trình đào tạo trực tuyến và nhận được sự quan tâm cao của xã hội Đặc biệt việc triển khai các phần mềm hỗ trợ cho các hệ thống giảng dạy trực tuyến là một yêu cầu đang được nghiên cứu về công nghệ để có thể triển khai được trong những điều kiện thực tế Việc phát triển các công nghệ phòng học trực tuyến đã được thực hiện từ nhiều năm và đặc biệt có rất nhiều sản phẩm được đưa ra trong 10 năm gần đây [3] Hiện đang có nhiều các công cụ đã được xây dựng phục vụ cho việc
tổ chức các lớp học trực tuyến như các công nghệ hội nghị truyền hình (Video Conferencing), gặp mặt trực tuyến (Online Meeting), hội nghị trên Web (Web conferencing)… được đưa ra nhằm thực hiện những yêu cầu khác nhau của người dùng Trên thế giới, số lượng các trường học và công ty sử dụng công nghệ phòng học trực tuyến cho các lớp học của mình là khá lớn,
ví dụ như sản phẩm Gotomeeting của công ty Citix tại Hoa Kỳ hiện có hơn
300 ngàn cơ quan, doanh nghiệp sử dụng với hơn 50 triệu người dùng trên toàn cầu [4]
Theo Cyber Universities, gần 90% trường ĐH tại Singapore sử dụng phương pháp đào tạo trực tuyến và ở Mỹ con số này là hơn 80% Tại Việt Nam, đào
Trang 14tạo trực tuyến đang trở thành một xu hướng mới hứa hẹn sẽ tạo ra bước đột phá trong giáo dục
Các hệ thống trực tuyến có thể được triển khai dưới nhiều cấp độ khác nhau, trong đó lớp học ảo được xem là cấp độ cao nhất trong Online Learning Ở cấp độ này, mô hình tương tác giữa giáo viên và người học trực tuyến được xây dựng dựa trên một lớp học truyền thống, được mô phỏng lại dưới dạng
đồ họa có hình ảnh, âm thanh, các giao thức truyền tải thông tin, dữ liệu lên lớp học ảo Do đó, việc lựa chọn nghiên cứu xây dựng mô hình lớp học ảo cho phòng học trực tuyến là rất cần thiết, hướng đến một E-learning hoàn thiện hơn Qua đó nâng cao chất lượng phục vụ người học là một vấn đề rất cần thiết không chỉ ở Việt nam mà còn trên thế giới Trong [5], các chuyên gia trong lĩnh vực này đã nghiên cứu một giải pháp xây dựng lớp học trực tuyến (online classroom) tiếp cận với lớp học thông thường thông qua hệ thống đào tạo trực tuyến Easy Online Trong hệ thống Easy Online, các Video thông tin đào tạo được ghi tại lớp học thông thường và truyền trực tiếp tới người học trực tuyến trong thời gian giảng bài Tuy nhiên, trong trường hợp giáo viên chỉ giảng cho người học trực tuyến hay là chỉ có lớp học trực tuyến thì sẽ không có người học trực tiếp trong lớp học thông thường để giáo viên quan sát và giảng bài Trong trường hợp này, việc truyền Video từ những người học trực tuyến tới giáo viên và cho nhau là không khả thì vì đòi hỏi rất nhiều băng thông mà trong điều kiện Việt nam hiện nay khó có thể đáp ứng được Để khác phục khó khăn này, việc nghiên cứu mô hình lớp học
ảo với việc mô phỏng hoạt động của các người học trực tuyến là một giải pháp khả thi Đây là một giải pháp được nghiên cứu triển khai trên một số
Trang 15camera
- Đề tài xây dựng các mô hình trao đổi dựa trên giao thức truyền tải dữ
liệu, thông tin giữa những người sử dụng với nhau
Tính mới:
Hiện nay lớp học trực tuyến đã được ứng dụng rộng rãi, các lớp học trực tuyến gần như có đầy đủ các chức năng, tuy nhiên cái mới ở đây là các tương tác giữa người dạy với người học, hành vi của người học trong lớp (cười, nghiêng đầu, chớp mắt,…) được thể hiện một cách đầy đủ hơn
Ngoài ra, một số hành vi như: sự có mặt, sự nghiêng đầu,…sẽ được nhận dạng trực tiếp từ camera, điều này có thể giúp cho giáo viên nhận biết được hoạt động của học sinh, quản lý lớp học dễ dàng hơn
Đề tài thành công sẽ dần hoàn thiện phương pháp giảng dạy trực tuyến, thu hút thêm nhiều đối tượng người học, hình ảnh đồ họa được xem là một yếu tố quan trọng trong mô hình tương tác giữa giáo viên và học sinh, tiếp theo đó là chất lượng
âm thanh cũng không kém phần
Đề tài thành công sẽ được thử nghiệm tại lớp học trực tuyến của Trung tâm phát triển công nghệ thông tin – Đại học công nghệ thông tin và có thể được ứng dụng cho bất kỳ lớp học nào
Trang 16Mục tiêu, đối tượng, phạm vi nghiên cứu
Đối tượng nghiên cứu:
o Các mối quan hệ giữa giáo viên và học sinh trong môi trường truyền thống
o Các mô hình tương tác từ xa giữa giáo viên và học sinh bằng hình ảnh,
âm thanh theo thời gian thực
o Hành vi của người ảo: học sinh, giáo viên (chủ yếu là học sinh)
Phạm vi nghiên cứu, nền tảng dự dịnh phát triển demo:
o Mô tả hành vi của người ảo bằng ngôn ngữ Action Script
o Tập trung vào kỹ thuật phát triển ứng dụng giao tiếp với RED5 Server bằng ngôn ngữ MXML + Action Script
o Lập trình trình cắm phía RED5 Server bằng NNLT Java
o Giao thức RTMP và RED5 Server để truyền thông
o Demo một lớp học ảo với số lượng học sinh 20 học sinh
Trang 17Hình 1: Lớp học trực tuyến sử dụng công nghệ Video Conferencing
Hình 2: Giao diện hệ thống hội họp, giảng dạy trực tuyến WebEx của hãng Cisco
Trang 18Bên cạnh các lớp học trực tuyến thường dùng các công nghệ Video Conferencing qua các kênh thuê bao riêng như các lớp học giữa các đảo ở bang Hawaii - Hoa kỳ,
xem hình 1, thì hiện nay người học có thể tham gia lớp học trực tuyến qua Internet
bằng những kỹ thuật IP Video Phone trên mạng Internet với thời gian thực time) Việc nghiên cứu các giao thức truyền dữ liệu với thời gian thực (Real-time Protocols để xây dựng ứng dụng lớp học trực tuyến đang được nhiều nhóm nghiên cứu quan tâm và có nhiều kết quả khả quan Một số nhóm nghiên cứu có nhiều kết quả trong lĩnh vực này có thể kế đến là nhóm TLCNETGRP tại University of Pisa - Italia, nhóm ISNRG tại University of Plymouth - Anh, nhóm nghiên cứu về mạng trong Lawrence Berkeley National Laboratory - Hoa Kỳ, nhóm nghiên cứu xử lý tín hiệu số tại Western Australian Telecommunications Research Institute - Australia
(real-Một trong những dịch vụ rất được quan tâm nghiên cứu và phát triển là dịch vụ lớp học trực tuyến (online classroom) với công nghệ IP Video Phone mà qua đó các học viên và giáo viên có thể trông thấy nhau, có thể chia sẻ màn hình máy tính hay bảng trắng (Whiteboard) trong những tình huống gần giống như là đang học trong một lớp học trực tiếp Các hệ thống họp, giảng dạy trực tuyến (online meeting, online teaching) đã được phát triển và đưa vào sử dụng như những dịch vụ cho người dùng
thuê bao như hệ thống trực tuyến WebEx của hãng Cisco, xem hình 2 Người thuê
bao hệ thống trực tuyến WebEx có thể sử dụng hệ thống này trong các chương trình đào tạo thông thường lẫn các chương trình đào tạo từ xa như loại hình lớp học trực tuyến [3]
Việc triển khai các phần mềm với công nghệ IP Video Phone hỗ trợ cho các hệ thống giảng dạy trực tuyến đang được nghiên cứu với những công nghệ truyền thông mới để có thể triển khai được trong những điều kiện thực tế Hiện đã có nhiều
Trang 19học lẫn giảng viên vẫn là những bài toán được đầu tư nghiên cứu khi các công nghệ truyền thông như công nghệ IP Video Phone đang phát triển rất nhanh chóng
Tại Việt nam, hệ thống đào tạo từ xa qua mạng bước đầu đã được phát triển trong các trường Đại học trên cả nước như là hệ thống hỗ trợ học tập cho các hệ đào tạo khác nhau Đặc biệt riêng tại TP Hồ Chí Minh đã có một số trường Đại học có các
hệ đào tạo từ xa qua mạng như trường Đại học Công nghệ Thông tin, trường Đại học Khoa học Tự nhiên, Học viện Bưu chính Viễn thông Trong các hệ thống đào tạo từ xa qua mạng thì phần mềm mã nguồn mở Moodle (Modular Object-Oriented Dynamic Learning Environment) được sử dụng khá rộng rãi trong việc phát triển nội dung, xây dựng giáo án điện tử, quản trị học viên … Tuy nhiên nhiều hệ thống đào tạo từ xa qua mạng đưa vào sử dụng chủ yếu mới là các hệ thống quản lý học tập như: quản lý học viên , giáo viên, môn học, khoá học, cung cấp diễn đàn, cung cấp tài liệu (dạng văn bản hay video) còn các hệ thống lớp học trực tuyến còn chưa nhiều và việc triển khai còn có nhiều hạn chế
Hình 3: Một hệ thống lớp học trực tuyến với công nghệ IP Video Phone,
việc chuyển màn hình do giảng viên hay người phụ giảng điều khiển
Trang 20Việc thiết kế các lớp học trực tuyến còn chưa được quan tâm nhiều cả về lĩnh vực nghiên cứu công nghệ lẫn triển khai ứng dụng nhưng cũng đã có một số hệ thống sử
dụng công nghệ IP Video Phone được đưa vào hoạt động, xem hình 3 Tuy nhiên
có một điểm làm hạn chế chất lượng đào tạo nếu chỉ triển khai đào tạo từ xa là còn thiếu nhiều chức năng hỗ trợ tương tác trực tiếp giữa giảng viên và học viên từ xa Tại thời điểm này, người dùng có thể mua phần mềm và phần cứng để cài đặt riêng
hệ thống của mình Các hệ thống phần cứng của các hãng LifeSize, Polycom, Aver được đánh giá cao, ngoài ra người dùng cũng có thể lựa chọn cài đặt các phần mềm
mã nguồn mở như Jitsi, BigBlueButton, OpenMeetings
Một số lý do ảnh hưởng đến việc triển khai dịch vụ lớp học trực tuyến là điều kiện hạn chế về hạ tầng kỹ thuật mạng, khả năng đầu tư để mua những phần mềm chuyên dụng, thiếu nhân lực nghiên cứu phát triển Ngoài ra, các giải pháp xây dựng phòng học trực tuyến chưa được nhiều trường Đại học, công ty đón nhận và đưa vào sử dụng không chỉ do vấn đề về kinh phí mà còn do vấn đề kỹ thuật Nhiều cán bộ hay giáo viên khi tham gia vào việc sử dụng phòng học trực tuyến cho việc trình bày báo cáo hay giảng dạy còn chưa biết phải tiếp cận với hình thức trực tuyến mới này từ đâu khi họ cần có những kĩ năng và kiến thức về công nghệ thông tin Ví dụ: các giảng viên với kỹ năng sư phạm của mình khi ngồi sử dụng chương trình trực tuyến để giảng dạy sẽ thấy nhiều sự khác biệt so với khi đứng lớp học thông
thường, xem hình 4 Đặc biệt khi phòng học trực tuyến được sử dụng cho các buổi
hội thảo hay buổi bồi dưỡng nghiệp vụ mà trong đó giảng viên chưa được làm quen với các chức năng của hệ thống phần mềm cài trên máy tính Điều này cho thấy việc đầu tư nghiên cứu tìm ra các công nghệ phù hợp với điều kiện hiện tại của Việt nam
và triển khai các ứng dụng lớp học trực tuyến hoàn thiện là điều rất cần thiết
Trang 21Hình 4: Giao diện một hệ thống đào tạo trực tuyến với giảng viên online
Trong lớp học, khi thành phần tham dự bao gồm nhiều người học từ xa nên nếu giảng viên chưa nắm chắc các chức năng thì có thể làm ảnh hưởng đến chất lượng lớp học Ở đây, giảng viên sử dụng máy tính trình chiếu cho người học từ xa cùng xem thì việc điều khiển các chức năng trực tuyến trên màn hình sẽ có ảnh hưởng đến sự quan sát của các học viên Điều này rất dễ xảy ra với các giảng viên không không nằm trong lĩnh vực Công nghệ Thông tin, trong nhiều trường hợp, chính thói quen giảng dạy trong những phòng học thông thường sẽ làm ảnh hưởng đến việc sử dụng phòng học trực tuyến
Các website học trực tuyến
o Học tiếng anh (vd: tienganh123)
o Học các môn THCS, THPT (vd: violet)
o Nhận xét: các website dạng này thì học trực tuyến theo ý nghĩa là tự
học, dựa trên kho học liệu sẵn có và theo các hướng dẫn, cũng có sự tương tác với giáo viên nhưng theo hình thức gửi và nhận thông tin
qua email, có trao đổi bằng hình thức chat, chưa có”live”
Các website đào tạo hệ từ xa qua mạng
o Trường Đại học KHTN
o Trường Đại học CNTT
o Nhận xét: hình thức học trực tuyến này tương tự như học trên lớp, tại
thời điểm bắt đầu học thì có một số bạn có thể đến lớp để học, một số bạn ở xa không thể đến lớp thì kết nối vào hệ thống từ xa này, và học,
Trang 22nhận được tài liệu, thấy được giáo viên giảng bài qua hệ thống truyền tải dữ liệu, âm thanh và giọng nói theo thời gian thực Sau khi kết thúc buổi giảng, bài giảng được ghi hình và ghi âm tải lên kho học liệu để cho các bạn không đến lớp, không tham gia buổi giảng trực tuyến có thể download tài liệu về
Điểm chung của các hệ thống này là học sinh và giáo viên có thể thấy được
hình ảnh của nhau thông qua webcam, học sinh chỉ thấy được hình ảnh bằng webcam của các bạn và giáo viên khi tham gia thảo luận nhóm, hay phát
biểu, trao đổi với giáo viên
Hình 5: Lớp học ảo của Topica
Trang 23Hình 6: Mô hình lớp học online tương tác tại Rockit English
Hình 7: Lớp học trực tuyến tại CITD
Với lớp học trực tuyến tại CITD, có hình ảnh lớp học được quay lại bằng camera Tuy nhiên, hình ảnh này chỉ ghi nhận lại các bạn có đến lớp học, còn các bạn học tại nhà sẽ không có trong lớp
1.3 Tình hình nghiên cứu ngoài nước:
Ngày nay, các ứng dụng trực tuyến trên Internet đang được đầu tư mạnh mẽ trong lĩnh vực giáo dục và đào tạo là các hệ thống đào tạo trực tuyến Các hệ thống đào tạo trực tuyến cho phép người học có nhiều khả năng lựa chọn về thời gian, địa điểm học tập và phương thức truy cập tài nguyên học tập Theo số liệu thống kê của American Society for Training and Development (ASTD), trong năm 2012 tại Mỹ
Trang 24có gần 85% các trường Đại học, Cao đẳng có các hệ đào tạo từ xa với gần hàng trăm ngàn khoá học trực tuyến Hiện nay trên thị trường đã có các hệ thống đào tạo trực tuyến thương mại như WebCT, BlackBoard, Docent, Moodle được đánh giá cao
Với việc phát triển của Internet, ứng dụng truyền Video/Audio như phần mềm IP Video Phone thì việc xây dựng các ứng dụng đào tạo trực tuyến cho phép xem hình ảnh và nghe âm thanh với thời gian thực (Real-time) đang có nhu nhu cầu khai thác
cao trong xã hội
Các phần mềm phục vụ giảng dạy/ đào tạo trực tuyến:
o E-three-learning-platform của Timeless Learning Technologies
(TLT)
o Virtual Classroom for LMS của Wiziq
Chức năng:
o Giao tiếp thời gian thực
o Chia sẻ nội dung
o Chức năng ghi âm
…
Nhận xét chung: chỉ thấy được hình ảnh người học qua webcam
Trang 25Hình 8: Dạy với lớp học ảo (avatar)
Trang 26Chương 2 CƠ SỞ LÝ THUYẾT
2.1 Công nghệ truyền thông ảo:
2.1.1 Tổng quan:
Công nghệ truyền thông ảo đề cập đến bất kỳ người nào dùng công nghệ để giao tiếp với nhau khi họ không thể là mặt đối mặt Nó có khả năng nhìn thấy
và nghe thấy nhau trong thời gian thực
- Thế giới ảo và game: EverQuest và Gaia Online đã phát triển một phương
pháp vui vẻ trong trò chơi giao tiếp ảo giữa những người bạn với nhau Ở giữa hang động, người chơi có thể đi chơi trong một khu vực chung và trò chuyện Thay vì một cuộc trò chuyện văn bản nhàm chán, người chơi
tham gia vào các cuộc đàm thoại sử dụng avatar hoạt hình Công nghệ
này được phát triển hơn nữa để các avatar có thể sản xuất văn bản bài phát biểu dạng “bubble”, hay người chơi có thể sử dụng tai nchowiddeer nghe thời gian thực
- Video Chats and Conferencing: tiết kiệm được chi phí đi lại và tăng năng
suất làm việc, đặc biệt là các doanh nghiệp
- Lớp học ảo: sinh viên giờ đây có thể tham gia vào môi trường lớp học
trực tuyến, tương tác với giáo viên và các bạn cùng lớp, mà không cần phải đến lớp
2.1.2 Công nghệ hội thảo trực tuyến (Video Conferencing)
- Hiện đang có nhiều các công nghệ đã được xây dựng phục vụ cho việc tổ
chức các cuộc hội thảo trực tuyến như các công nghệ hội nghị truyền hình
Trang 27Hình 9: Hình ảnh một cuộc hội thảo trực tuyến
- Công nghệ hội thảo trực tuyến với việc sử dụng thoại và Video (Audio
and video Conference) là một giải pháp giúp cho việc tổ chức các buổi họp mà không cần tập trung tất cả mọi người tại phòng họp Việc sử dụng công nghệ hội thảo trực tuyến cho phép xây dựng phòng họp trực tuyến
mà những người ở xa có thể truy cập cùng tham dự với những người tại chỗ Trong công nghệ hội thảo trực tuyến, người ta sử dụng đồng thời cả
âm thanh và hình ảnh để truyền nội dung trong hội thảo Mỗi thành viên tham gia trực tuyến sẽ sử dụng một định danh cho các tiến trình truyền nhận truyền nội dung Audio/Video của cuộc hội thảo Ở đây, tất cả các thành viên tham gia cuộc họp trực tuyến đều cùng nhận một dạng format cho các dữ liệu media
- Việc phát triển các công nghệ hội thảo trực tuyến cho phép xây dựng
phòng họp, phòng học trực tuyến đã được thực hiện từ nhiều năm và đặc biệt trong 10 năm gần đây đã có rất nhiều giải pháp được đưa ra Trên thế giới, số lượng các công ty sử dụng khá lớn, ví dụ như sản phẩm
Gotomeeting của công ty Citix tại Hoa Kỳ hiện có hơn 300 ngàn cơ quan, doanh nghiệp sử dụng với hơn 50 triệu người dùng trên toàn cầu Hiện nay, có nhiều giải pháp xây dựng phòng họp trực tuyến được đưa ra cho người dùng lựa chọn Tại Việt nam, các công ty cung cấp các giải pháp phòng họp trực tuyến như: Telecom, Bao an Telecom, Sun Media
Trang 282.1.3 Khái niệm lớp học ảo:
Lớp học ảo là một lớp học trực tuyến cho phép người học giao tiếp với nhau, xem bài giảng hoặc các video, tương tác với các thành viên khác, và tham gia với các nguồn tài nguyên trong nhóm làm việc [6]
2.1.4 Các đặc tính của lớp học ảo:
Số lượng người học: không giới hạn số lượng người học, tùy thuộc vào
hệ thống triển khai
Chi phí: chi phí thấp hơn so với lớp học truyền thống, tiết kiệm được thời
gian đi lại
Học tập linh hoạt: người học có thể tham gia bất cứ lúc nào, có thể xem lại bài giảng nếu như vắng học, kho học liệu đa dạng, lớn
Thực tiễn: mô hình lớp học ảo gắn liền với thực tiễn, phù hợp với nhu
cầu của xã hội, cũng như xu hướng phát triển của ngành giáo dục
Hướng tiếp cận: dễ dàng tiếp cận
2.1.4 Các chức năng của lớp học ảo:
Các chức năng thông thường của lớp học ảo:
+ Synchronous Learning
+ Support for live Audio-Video
+ Recording class lecture (Session Recording)
+ White Board
+ Sharing of Learning Resources and/or Desktop Screen
+ Classroom control by professors & active student participation
+ Multi-Level Fallback Mechanism for continuity of class
+ Live Tech support
Trang 29Hình 10: Các chức năng của lớp học ảo [7]
Synchronous Learning: người dạy và người học kết nối, tương tác với nhau theo thời gian thực
Support for live Audio-Video: giúp người học tiếp thu bài tốt hơn
Recording class lecture (Session Recording): dùng để tham khảo trong tương lai, và hữu ích cho những sinh viên vắng mặt có thể xem lại bài giảng
White Board: công cụ hỗ trợ cho việc giảng giải
Sharing of Learning Resources and/or Desktop Screen: chia sẻ tài nguyên theo thời gian thực
Classroom control by professors & active student participation: giáo viên đóng vai trò chủ đạo, kiểm soát các hoạt động của người học ( được phép giơ tay phát biểu, chấp nhận cho người học phát biểu,…)
Multi-Level Fallback Mechanism for continuity of class: các cơ chế dự phòng trong trường hợp bị ngắt kết nối
Live Tech support: hỗ trợ người học kịp thời
Trang 302.2 Một số hình ảnh về lớp học ảo:
Hình 11: Lớp học ảo tương tác bằng hình ảnh, âm thanh
Trang 31Hình 13: Hình ảnh lớp học ảo mô phỏng dạng 2D
Hình 14: Hình ảnh lớp học ảo mô phỏng dạng 3D
Trang 32hỗ trợ từ phiên bản Flash Player 9 cập nhật lần 3 Cả hai loại định dạng này đều được hỗ trợ trong Adobe Flash Player và hiện tại do công ty Adobe System phát triển
Trang 33WebRTC là tập hợp các tiêu chuẩn và giao thức cho phép trình duyệt web thực hiện trực tiếp các tính năng truyền thông đa phương tiện theo thời gian thực như: gọi điện, truyền hình, truyền dữ liệu, gửi tin nhắn bằng các API JavaScript
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
Các gói WebRTC API chính:
MediaStream: truy cập audio, video
RTCPeerConnection: giao tiếp audio, video
RTCDataChanel: truyền dữ liệu peer-to-peer
Trang 34Hình 16: Kiến trúc WebRTC
WebRTC được xem là một bước tiếp nối Adobe Flash Flash là một plugin nên dễ
bị khai thác lỗ hỏng bảo mật, còn WebRTC không phải là một phần mềm từ bên ngoài nên khó bị khai thác hơn Flash
Và hiện tại WebRTC chỉ mới phát triển ở giai đoạn nháp, chưa hoàn tất
2.4 Ngôn ngữ lập trình ActionScript: [17]
Ngôn ngữ ActionScript là một ngôn ngữ lập trình hướng đối tượng, được sử dụng
để phát các nội dung đa phương tiện trên nền tảng các ứng dụng Flash Player, Flash Lite hoặc Adobe Air Ngôn ngữ ActionScript được thiết kế để sử dụng cho việc điều khiển các chuyển động hai chiều đơn giản được tạo thành từ Adobe Flash Với
Trang 35- Tạo ra các trò chơi với nhiều người chơi, có thể gửi dữ liệu cho các ứng dụng trung gian sử dụng PHP hoặc Cold Fusion
- Khởi tạo và phân tích các đối tượng XML Cho phép tạo các trang web có khả năng thích ứng cao, giúp trang web dễ tiếp cận hơn với người dùng
- Có thể giao tiếp với JavaScript
Để thực hiện việc truyền tải âm thành và hình ảnh trực tuyến, trong ActionScript có một số lớp hỗ trợ tạo một ứng dụng mạng như lớp Camera, lớp Microphone, lớp NetConnection, lớp NetStream, lớp Video
Lớp Camera: Lớp Camera cho phép thu lại video từ một thiết bị thu hình (camera
hoặc webcam) có sẵn trên một máy tính đã được cài đặt Adobe Flash Player Khi sử dụng với một Flash Server (ví dụ như Flash Server Red5), lớp Camera cho phép truyền, hiển thị và ghi lại video với các tuỳ chọn của người dùng Với những khả năng như vậy, có thể áp dụng lớp Camera trong việc phát triển các ứng dụng truyền thông như ứng dụng dạy học trực tuyến, ứng dụng hội nghị truyền hình (Video Conference), truyền video online Để tạo mới hoặc tham chiếu đến một đối tượng Camera trên máy tính, người ta sử dụng phương thức Camera.get() Sau khi tham chiếu đến một đối tượng Camera, người ta phải gắn đối tượng Camera vào một đối tượng Video hoặc một đối tượng NetStream Không giống như các đối tượng khác
sử dụng hàm khởi tạo new để tạo một đối tượng mới, nếu người ta gọi phương thức
Camera.get() nhiều lần thì vẫn chỉ tham chiếu đến một đối tượng Camera Thông thường người ta không cần truyền tham số index vào phương thức Camera.get() mà chỉ cần gọi phương thức, một tham chiếu đến một đối tượng camera mặc định sẽ được tạo Người ta cũng có thể thiết lập camera mặc định mà phương thức sẽ lựa
Trang 36chọn trong phần tuỳ chỉnh Camera của Flash Player Nếu sử dụng tham số index,
có thể lựa chọn camera theo ý riêng và khi một tập tin SWF (tập tin thực thi của Flash) được lấy bằng phương thức Camera.get() thông qua phương thức NetStream.attachVideo() hoặc Video.attachVideo() Flash Player sẽ hiển thị một hộp thoại xác nhận việc truy xuất thiết bị camera trên máy tính
Khi người dùng xác nhận hộp thoại này, một sự kiện Camera.onStatus sẽ được gọi
và trả về các thông tin xác nhận của người dùng (đồng ý hoặc từ chối) Nếu phương thức Camera.get() trả về giá trị null có nghĩa là camera đang được ứng dụng khác sử dụng hoặc máy tính không có camera nào kết nối Để xác định có camera nào đang kết nối hay không ta có thể sử dụng thuộc tính Camera.names.length, nếu thuộc tính này lớn hơn không có nghĩa là có thiết bị camera đã kết nối Một số thuộc tính phổ biến của lớp Camera:
Tên thuộc tính Chức năng
bandwidth
Lượng băng thông tối đa cho phép dùng để truyền các
dữ liệu từ camera ra ngoài được tính bằng byte Nếu giá trị này được thiết lập bằng 0, băng thông sẽ được tự động xác định dựa theo các thuộc tính khác
fps Giá trị của số khung hình trên một giây (viết tắt của
frame per second)
height Độ phân giải dọc của camera, tính bằng pixel
index Số thứ tự của camera trong mảng các camera lấy ra từ
thuộc tính Camera.names
Trang 37NetStream.attachAudio() Một số thuộc tính của lớp Microphone:
gain Giá trị khuếch đại âm thanh của microphone trước khi
truyền đi
name Tên của microphone, được xác định bằng tên của phần
cứng microphone
có kết nối với máy tính
silenceLevel Thời lượng âm thanh cần thiết để kích hoạt microphone,
tính bằng giây
Bảng 2: Các thuộc tính của lớp Microphone
Lớp NetConnection : Lớp NetConnection cung cấp khả năng quản lý kết nối hai chiều giữa Flash Player và Server truyền thông Flash Server truyền thông Flash cho phép chia sẻ âm thanh, video và dữ liệu bằng cách sử dụng giao thức RTMP (Real-Time Messaging Protocol).Để kết nối với một Server truyền thông Flash, người ta
sử dụng phương thức NetConnection.connect(targetURI) Với targetURI là định danh của ứng dụng hoạt động trên Server truyền thông Flash, ví dụ:
rtmpt:[//host][:port]/appname/[instanceName]
Với giao thức RTMP, Flash Player sẽ tạo một kết nối sử dụng socket với Server truyền thông Flash, Flash Player sẽ tạo một kết nối “đường hầm” thông qua giao
Trang 38thức HTTP với Server Tham số host có thể bỏ qua nếu tập tin SWF và Server truyền thông Flash đang ở cùng một host Nếu tham số instanceName không được gán, Flash Player sẽ kết nối với ứng dụng với instance mặc định của ứng dụng Port mặc định của kết nối RTMP là 1935, kết nối RTMPT là 80 và kết nối RTMPS là
443
Lớp NetStream: Lớp NetStream có chức năng mở một kết nối một chiều để truyền luồng dữ liệu giữa Flash Player và Server truyền thông Flash thông qua một kết nối được tạo từ lớp NetConnection Một đối tượng NetStream giống như một kênh bên trong một đối tượng NetConnection, kênh này có thể publish các dữ liệu âm thanh
và video bằng phương thức NetStream.publish() hoặc subscribe một luồng đã publish và nhận dữ liệu bằng phương thức NetStream.play()
Người ta có thể sử dụng đối tượng NetStream để publish hoặc phát trực tuyến (theo thời gian thực) dữ liệu đang thu trực tiếp hoặc các dữ liệu có sẵn Ngoài ra, lớp NetStream còn cho phép gửi thông điệp đến các Client đang subscribe qua phương thức NetStream.send() Một số phương thức phổ biến của lớp NetStream:
Tên phương thức Chức năng
attachAudio() Phương thức phía publish Xác định nguồn âm thanh
nào sẽ được gửi qua luồng
attachVideo() Phương thức phía publish Xác định nguồn video nào
sẽ được gửi qua luồng
pause()
Phương thức phía subscribe Tạm dừng luồng đang được phát hoặc khôi phục lại luồng nếu luồng đang ở trạng thái tạm dừng
Trang 39send() Phương thức phía publish Quảng bá một thông điệp
đến tất cả các Client đang subscribe
Bảng 3: Các phương thức của lớp NetStream
Video đang được thu hình trực tiếp hoặc là một tập tin Video được lưu trên Server truyền thông Flash Flash Player 7 hỗ trợ mã hoá Flash Video (FLV) với bộ mã hoá video Sorenson Spark Flash Player 8 hỗ trợ mã hoá Flash Video (FLV) với bộ mã hoá Sorenson hoặc On2 VP6 và ngoài ra còn hỗ trợ một kênh an-pha Bộ mã hoá On2 VP6 sử dụng ít băng thông hơn các công nghệ khác Người ta sử dụng phương thức Video.attachVideo(source:Object) để nhận một luồng Video và hiển thị Luồng video để hiển thị có thể là một đối tượng NetStream được trả về từ phương thức NetStream.play() hoặc có thể là một đối tượng Camera hoặc cũng có thể là null Nếu tập tin FLV của người ta không có video mà chỉ có âm thanh thì ta không cần
sử dụng lớp Video này Thành phần âm thanh của tập tin FLV sẽ được phát tự động sau khi phương thức NetStream.play() được gọi Nếu muốn điều khiển âm thanh, ta
có thể dùng phương thức MovieClip.attachAudio() để gửi âm thanh đến một video clip sau đó tạo một đối tượng Sound để điều khiển một số đặc tính âm thanh
Một số thuộc tính phổ biến của lớp Video:
height Độ phân giải dọc của video, tính bằng pixel
smoothing Hỗ trợ hình ảnh video trở nên mượt hơn khi khung hình
thay đổi tỉ lệ
Trang 40width Độ phân giải ngang của video, tính bằng pixel
Bảng 4: Các thuộc tính của lớp Video
2.5 Giao thức RTMP và RED5 Server:
2.5.1 Giao thức RTMP
Giao thức RTMP (Real Time Messaging Protocol) là giao thức truyền thông được công ty Adobe System phát triển và được sử dụng trong việc truyền các đối tượng trong thời gian thực Giao thức RTMP được xây dựng với phương thức chứa các gói dữ liệu AMF hoặc các đối tượng âm thanh, video ví dụ như Flash Video (FLV) Giao thức RTMP mặc định sử dụng cổng 1935
RTMPT (Real Time Messaging Protocol với Tunnel) là một biến thể của RTMP Nó hoạt động trên Port 80 và bọc các dữ liệu trong HTTP request RTMPS (Real Time Messaging Protocol Secure) là một biến thể của RTMP hoạt động qua kết nối HTTPS
RTMPE (Real Time Messaging Protocol với mật mã) là một giao thức mã hóa
128 bit mới được phát triển bởi Adobe cho việc đảm bảo các dòng dữ liệu giữa máy khách và máy chủ flash Giao thức này tiêu tốn ít băng thông hơn so