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

NGHIÊN cứu về các CHUẨN VIDEO COFERENCE xây DỰNG ỨNG DỤNG lớp học TRỰC TUYẾN

104 103 0

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

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

THÔNG TIN TÀI LIỆU

1 CHƢƠNG 1: TỔNG QUAN 1.1 Giới thiệu Lớp học trực tuyến hình thức đào tạo ảo, khơng tập trung mang lại nhiều lợi ích cho học viên giảng viên Bao gồm tiết kiệm chi phí lại, thời gian không gian Các học viên xa, khơng có điều kiện đến trường lớp tham gia vào lớp học Là ứng dụng web cung cấp cho người dùng học tập , trao đổi với giáo viên nơi đâu ( cần có máy tính webcam kết nối Internet) Mọi người trao đổi (nói chuyện), chat vẽ whiteboard Hầu hết ứng dụng video conference có nhược điểm khả đáp ứng (chịu tải) server băng thơng có giới hạn ứng dụng đòi hỏi truyền thời gian thực Nhóm giải vấn đề cách xây dựng hệ thống tích hợp (NodeJS+WebSocket+OpenTok) với nhằm tạo ứng dụng có khả đáp ứng 20 người tương tác với sở hạ tầng mạng Internet bình thường 1.2 Mục tiêu đề tài Chúng em chọn đề tài xây dựng lớp học trực tuyến với mong muốn xây dựng ứng dụng lớp học trực tuyến web, trang thiết bị yêu cầu gồm có máy vi tính có kết nối mạng internet, webcam, headphone, microphone web browser để truy cập web 1.3 Phạm vi đề tài Vấn đề khó khăn gặp phải xây dựng ứng dụng lớp học trực tuyến hạ tầng mạng Tốc độ truyền tải liệu chậm làm chất lượng hình ảnh, âm khơng tốt Chúng em hướng đến giải pháp công nghệ với mong muốn tăng số lượng người tham gia vào lớp học Chúng em hướng đến số 10 học viên lớp học GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 1.4 Nội dung thực Xây dựng ứng dụng web sử dụng web server node.js, sở liệu mongo, ngơn ngữ kịch phía server JavaScript Bên cạnh sử dụng framework Express, số API hỗ trợ Node.js Giao diện web sử dụng EJS template, HTML, CSS, Jquery JavaScript Ứng dụng tập trung vào giải vấn đề chịu tải máy chủ máy khách tham gia vào lớp Ứng dụng web lớp học trực tuyến cung cấp chức lớp học Bao gồm đăng ký tài khoản mới, đăng nhập, đăng xuất, tạo lớp học mới, đăng ký lớp học, quản lý lớp học, quản lý học viên tham gia vào lớp học 1.5 Tổng quan công trình nghiên cứu tác giả ngồi nước Video Conferencing Hội thảo truyền hình (video conferencing) dịch vụ cho phép nhiều người Hội thảo từ xa, với xuất hình ảnh âm từ người đến người lại Sự xuất mạng tốc độ cao, với đời thuật toán nén video hiệu quả, thúc đẩy phát triển dịch vụ môi trường mạng Nhiều tiêu chuẩn công bố, chẳng hạn tiêu chuẩn ITU H.320 liên quan đến việc Hội thảo truyền hình mạng ISDN, tiêu chẩn ITU H.323 liên quan đến Hội thảo truyền hình mạng IP, tiêu chuẩn ITU H.324 liên quan đến Hội thảo truyền hình mạng điện thoại, giao thức SIP (Session Initiation Protocol) liên quan đến việc quản lý phiên truyền thông, Nhiều giải pháp ứng dụng cung cấp dịch vụ Hội thảo truyền hình giới thiệu: AIM Express AOL cho phép nhắn tin trực tuyến Hội thảo truyền hình, Ekiga giải pháp phần mềm tự do, mã nguồn mở cung cấp dịch vụ Hội thảo truyền hình GNOME, Skype mạng truyền thơng cho phép truyền thoại hình miễn phí Internet, sử dụng kỹ thuật peer-to-peer để giải hạn chế tường lửa (firewall) NAT, Nhiều cơng trình nghiên cứu lĩnh vực hội thảo truyền hình thực Việt nam năm qua, nghiên cứu chủ yếu tập trung nghiên cứu cơng nghệ Hội thảo truyền hình xây dựng ứng dụng triển khai thí điểm mạng riêng Chưa có cơng trình nghiên cứu việc khai thác cơng nghệ hội thảo truyền hình mã nguồn mở, áp dụng vào mạng IP cao tốc Đề tài NCKH – TPHCM năm 2004: Phần mềm hội thảo đa điểm dựa giao thức IP Multicast – Lê Phước Lộc, Võ Đình Hiếu, Đỗ Văn Long, Trần Văn Lăng GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng Đánh giá chất lượng truyền hình qua mạng phương pháp khách quan – Lê Phước Lộc Đề tài cấp sở năm 2003 – Viện Công nghệ Thông tin: Xây dựng thử nghiệm công nghệ hội nghị, hội thảo từ xa qua mạng Đề tài cấp sở năm 2003 – Viện Công nghệ Thông tin: Nghiên cứu triển khai công nghệ Video- Conferencing đa điểm thử nghiệm hạ tầng mạng VAREnet – Dương Đức Hoàn GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng CHƢƠNG 2: KHẢO SÁT CÁC PHẦN MỀM VIDEO CONFERENCE HIỆN NAY 2.1 Phần mềm nguồn mở Ekiga 2.1.1 Giới thiệu: Ekiga (tên gọi trước GnomeMeeting) ứng dụng mã nguồn mở, cung cấp dịch vụ VoIP Hội thảo truyền hình GNOME Ekiga sử dụng giao thức H.323 lẫn SIP Nó cho phép nhiều codec dành cho audio/video, làm việc cộng tác với phần mềm theo giao thức SIP khác, với Microsoft NetMeeting Ekiga tương thích với nhiều thiết bị phần cứng (chẳng hạn Swiss Voice, SISCO, SNOM, IP Phones) phần mềm có hỗ trợ SIP H.323 (chẳng hạn Windows Messenger, Net Meeting, SJPhone, Eyebeam, X-Lite, …) Tuy nhiên Ekiga lại khơng tương thích với Skype khác biệt giao thức (Skype sử dụng giao thức riêng, closed protocols) Để thiết lập hệ thống Ekiga, cần có: Firewall NAT router/gateway cấu hình Microphone headset Webcam (khơng bắt buộc, Ekiga chủ yếu sử dụng ứng dụng VoIP) Hiện nay, Ekiga thiết kế để chạy GNOME, KDE desktop 2.1.2 Nhận xét Ekiga phần mềm có hỗ trợ cho hai giao thức SIP H.323, cho phép làm việc với nhiều phần cứng phần mềm tuân thủ giao thức Ekiga phần mềm chủ yếu để thực gọi VoiceIP Chức videoconrefencing có dừng lại mức độ cá nhân, chưa thật tỏ phần mềm videoconrefencing chuyên nghiệp Ekiga phần mềm mã nguồn mở, miễn phí theo yêu cầu GNU/GPL GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 2.2 Phần mềm Unreal Media 2.2.1 Giới thiệu Unreal Media Server phần mềm streaming server dành cho hệ điều hành Windows, cung cấp chức video “sống” theo yêu cầu Server cho phép sử dụng với nguồn ảnh trực tiếp dạng file lưu lại dạng định dạng mà Microsoft DirectX có hỗ trợ, bao gồm: AVI, MPEG-1 (VCD), MPEG-2 (SVCD, DVD), MPEG-4, MPA, WMV, WMA, ASF, MP3, QuickTime (version and lower) Các dạng file khác dạng file nén hỗ trợ cần cài đặt kèm theo codec tương ứng, Ogg, , DivX, XVid, VP6, Apple mp4, AC3, h.264 Unreal Media Server không chuyển mã giải mã truyền; file truyền ngun dạng; chương trình player có khả chơi lại file miễn codec thích hợp cài đặt máy tính nguời xem Các nguồn video “sống” mà server làm việc bao gồm: máy quay kỹ thuật số có hỗ trợ USB/Firewire, Máy quay mạng IP, microphones, cạc thu tín hiệu TV, nguồn hình analog (từ máy quay analog từ TV) kết nối với cạc đồ họa, cạc bắt hình (video capture) thiết bị phần cứng có hỗ trợ giao diện DirectShow Các codec dùng cho nén video trực tiếp: Microsoft MPEG-4 V2, WMV Codecs dùng cho nén audio trực tiếp: Fraunhofer MPEG Layer-3 (MP3), GSM 6.10 and WMA Có hai chế độ chuyển giao hình: Near-Real-Time and Buffered Các ứng dụng hội thảo đòi hỏi phải có độ trễ thấp, sử dụng chế độ Near-Real-Time với độ trễ từ 0.2 đến giây, kích cỡ vùng đệm nhỏ (cực tiểu) Khi độ trễ thấp khơng quan trọng, dùng chế độ vùng đệm (Buffered), cho phép server hạn chế xuống cấp hình chập chờn, tắc nghẽn mạng Ứng với loại tốc độ đường truyền truyền qua Modem, DSL, T1, T2, …, Unreal Media Server cung cấp sẵn profile, cho phép lựa chọn thông số (codecs/bitrates) phù hợp Có thể ghi lại nội dung video “sống” theo lịch lập sẵn, theo phát có tín hiệu, hồn tồn độc lập với luồng hình truyền đến Media Server sử dụng giao thức vận chuyển TCP, HTTP(S) Unicast; RTP Multicast để truyền hình đến players Media Server cung cấp truyền hình với MMS/HTTP, cho khả làm việc cộng tác nhiều loại chương trình players có hỗ trợ Windows, MAC Linux GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng Unreal Streaming Media Player chạy máy Windows PC thiết bị cầm tay chạy Windows Mobile Player nhúng vào trang Web ActiveX control sử dụng với trình duyệt IE, Mozilla plugin for Gecko sử dụng trình duyệt FireFox Netscape Các trình players có hỗ trợ giao thức MMS Windows Media Players, trình diễn nội dung nhận từ Unreal Server Các nội dung đến khơng lưu đĩa cứng máy tính người sử dụng không phép lưu lại nội dung, tác quyền bảo vệ đầy đủ Cơ chế uỷ quyền hạn chế truy cập cho phép truy cập đến nguồn tài nguyên liệu Server Chức ghi nhật ký người sử dụng cung cấp phương tiện để giám sát hoạt động người dùng SDK cho phép khả tự động hóa tùy chỉnh hành vi Server 2.2.2 Nhận xét Bộ phần mềm Unreal gồm ứng dụng Unreal Media Server, Unreal Live Server Player, codecs, … cho phép tổ chức, khai thác việc truyền video/audio nhiều hình thức (“sống”, dạng thu lại) cho client Nếu client, ta đặt thiết bị camera để ghi hình/âm, phát lại cho client khác, ta tạo ứng dụng hội thảo trực tuyến 2.3 OpenMeetings 2.3.1 Giới thiệu OpenMeetings phần mềm nguồn mở Sebastian Wagner khởi xướng, xây dựng OpenLaszlo Red – Media server mã nguồn mở Dự án OpenMeetings đặt Google Code (http://code.google.com/p/openmeetings/) 2.3.2 Tính Các tính OpenMeetings có hỗ trợ:  Truyền Video/Audio  Xem hình desktop người tham dự GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng  Hỗ trợ bảng trắng (white-board) với khả vẽ hình, viết soạn thảo, dragNDrop, Thay đổi kích thước, kéo thả Ảnh từ thư viện, dụng ký hiệu (symbol) o Vẽ hội thảo o Lưu lại nội dung vẽ bảng nạp lại vào lần sau, soạn thảo ghi lại o Import tài liệu có phần mở rộng (.tga, xcf, wpg, txt, ico, ttf, pcd, pcds, ps, psd, tiff, bmp, svg, dpx, exr, jpg, jpeg, gif, png, ppt, odp, odt, sxw, wpd, doc, rtf, txt, ods, sxc, xls, sxi, pdf) o Mời họp o Cung cấp hệ thống điều phối họp o Cung cấp hệ thống quản lý người dùng, tổ chức o Cung cấp module backup ngơn ngữ  Cho phép phòng họp riêng công cộng 2.3.3 Nhận xét OpenMeetings ứng dụng cho phép hội thoại truyền hình mạng, cho phép nhiều người (lên tới 16), sử dụng giao diện Web Ứng dụng không phụ thuộc vào việc cài đặt trình client Chỉ cần có trình duyệt Web với thiết bị video/audio/speaker đủ Bên cạnh khả hội thảo truyền hình, OpenMeetings cho phép gửi hình đến thành viên, truyền file, … đến thành viên Tính thích hợp cho hoạt động hướng dẫn, dạy học mạng 2.4 OpenH323 OpenH323 dự án nguồn mở, hỗ trợ đầy đủ tính chồng giao thức H323, viết ngôn ngữ C++ Các sản phẩm dự án tích hợp vào nhiều phần mềm nguồn mở phần mềm thương mại khác GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng Các phần mềm công bố dự án OpenH323:  Pwlib: thư viện lớp viết C++ Các chương trình dựa PWLib chạy Microsoft Windows Unix/Linux Thư viện chứa đựng lớp “cơ sở” (strings, arrays, lists) lẫn chức mức cao (networking, multi-threading)  OpenH323: Thư viện dành cho phát triển ứng dụng H.323 Nó sử dụng Pwlib nhằm tránh phụ thuộc vào mơi trường Thư viện có phân tích cú pháp ASN1 riêng nó, có khả sinh lớp làm nhiệm vụ mã hóa giải mã thông điệp (protocol message) dùng H.323 Ngoài ra:  Opengk: Bản cài đặt nguồn mở H.323 Gatekeeper Bản cài đặt cho phép hầu hết chức H.323 Gatekeeper, đăng ký (registration), admission access control, chuyển đổi tên thành địa chỉ, giám sát điều khiển băng thông Ngồi ra, Opengk cung cấp tính cao cấp định tuyến gọi (route calls); hỗ trợ H.323v2 alias types (party number, URL, transport id email address); hỗ trợ gateway prefixes; Ghi nhật ký việc Registration gọi- Lưu giữ gatekeeper láng giềng; quản lý thời gian đăng ký (registration time to live) openMCU: Bản cài đặt nguồn mở H.323 MCU Bản cài đặt cho phép nhiều người tham gia phiên hội nghị truyền hình sử dụng chương trình theo giao thức H.323 (VD OhPhone, GnomeMeeting, MS NetMeeting, …) Trong nguồn mở này, OpenMCU cho phép tối đa người kết nối đến 2.5 Talkez Talkez phần mềm miễn phí hỗ trợ điện thoại Internet, Video conferencing với H.323 SIP (http://sourceforge.net/projects/talkez#download) Hiện nay, Talkez khơng phần mềm nguồn mở, phần mềm miễn phí Điểm đặc biệt phần mềm Talkez (ver 1.8.1.5) vừa sử dụng phần mềm client, vừa sử dụng MCU 2.6 Sdr, Vic Rat Đây phần mềm nguồn mở, khởi đầu phát triển hợp tác nhóm Nghiên cứu mạng thuộc Phòng thí nghiệm quốc gia Lawrence Berkeley với trường Đại học GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng Berkeley, California (http://www-nrg.ee.lbl.gov/) Các sản phẩm lúc chủ yếu phát triển để chạy hệ điều hành họ Unix Sau đó, sản phẩm nhóm nghiên cứu khoa Khoa học máy tính, University College London (viết tắt UCL) , phát triển tiếp (http://www-mice.cs.ucl.ac.uk/multimedia/software/), với nhiều bổ sung codec, môi trường Windows Một điểm quan trọng phần mềm chạy mạng IP, sử dụng địa Multicast GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 10 CHƢƠNG 3: XÂY DỰNG ỨNG DỤNG LỚP HỌC TRỰC TUYẾN 3.1 Tổng quan Node.js 3.1.1 Giới thiệu Node.js Node.js tảng phát triển Ryan Dahl, cho phép nhà phát triển JavaScript xây dựng máy chủ có hiệu suất thực thi cao cách tận dụng máy JavaScript V8 Google, xử lý bất đồng I/O Mục tiêu Node.js cung cấp cách dễ dàng để xây dựng ứng dụng mạng có khả mở rộng cao Trong ứng dụng đó, nhiều kết nối từ máy khách kiểm soát cách đồng thời Node.js trao đổi với hệ điều hành ( thông qua epoll, kqueue, /dev/poll/, hay select) cần biết có kết nối tạo ra, sau vào trạng thái “sleep” Nếu có kết nối mới, “callback” thực thi Mỗi kết nối “small heap allocation” Kết nối mạng dựa tiến trình tương đối khơng hiệu khó sử dụng Node.js thể hiệu nhớ với khả chịu tải cao hệ thống mà phân bổ “2mb thread stack” cho kết nối Hơn nữa, người sử dụng Node.js bận tâm đến vấn đề “dead-lock” tiến trình xử lý Bởi hầu hết chức Node.js khơng trực tiếp thực I/O Nhờ đó, lập trình viên thiếu kinh nghiệm phát triển hệ thống nhanh chóng Trong hệ thống thơng thường ln có khối lệnh gọi bắt đầu vòng lặp kiện Điển hệ thống định nghĩa hành vi ứng xử thông qua lời gọi “callback” bắt đầu đoạn mã kịch kết thúc khởi động server “EventMachine::run()”.Node.js có mơ hình xử lý kiện khác chút Trong Node.js khơng có lời gọi vòng lặp kiện bắt đầu Node.js đơn giản vào vòng lặp kiện sau thực thi mã kịch đưa vào Node.js khỏi vòng lặp kiện khơng có “callback” để thực thi-Vòng lặp kiện ẩn người sử dụng HTTP lớp giao thức Node.js Thư viện HTTP phát triển dựa kinh nghiệm tác giả việc phát triển làm việc với web server Chẳng hạn việc truyền tải liệu thông qua hầu hết tảng web điều Node.js cố gắng sửa chữa vấn đề việc phân tích cú pháp HTTP API, với sở hạ tầng hoàn toàn theo hướng kiện mình, Node.js tạo nên tảng tốt cho thư viện hay tảng web 3.1.2 Node.js lĩnh vực công nghiệp LinkedIn sử dụng Node.js để xây dựng ứng dụng tốt hơn, nhanh hơn: LinkedIn tung ứng dụng di động Gorgeously Ứng dụng nhanh từ đến 10 lần phía máy khách so với trước Về phía máy chủ, sử dụng nguồn tài nguyên nhờ chuyển đổi từ Ruby on Rails sang Node.js GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 90 MCU thành phần RAS (Registration/ Admission/ Status) H.225 vốn giao thức sử dụng để truyền thông với GateKeeper Giao diện thiết bị người dùng Là tập thiết bị máy quay camera, hình, microphones, loa ứng dụng liệu với giao diện tương ứng chúng Audio Codec: Mỗi thiết bị có audio codec, để mã hóa giải mã tín hiệu âm (G.711), chúng truyền/nhận theo a-law -law Ngồi ra, terminal gửi nhiều kênh audio đồng thời, chẳng hạn để truyền hai ngôn ngữ khác Video Codec Trong H.323 terminal không bắt buộc phải có Data chanel: Một nhiều data chanel khơng bắt buộc phải có Chúng theo hướng hai Reception Path latency: bao gồm thời gian trễ thêm vào gói tin nhằm đảm bảo đồng hóa, để xem xét trồi sụt gói tin đến Thơng thường, kỹ thuật không sử dụng để truyền lại sử dụng cho việc nhận, nhằm đạt tới đồng chuyển động môi tín hiệu âm phiên hội thảo từ xa System control Unit: Cung cấp khả signaling cho terminal Có chức khác nhau: H.245 Control function H.225 call signaling function RAS signaling function  H.245 Control function: H.245 logical chanel sử dụng để nhận message từ đầu cuối đến đầu cuối giao thức H.323 Nó chịu trách nhiệm thương lượng băng thông, thiết lập hủy bỏ kênh logic gửi thơng điệp điều khiển dòng Trong gọi, có số kênh logic thuộc kiểu (audio, video, data), có kênh logic điều khiển dòng, kênh  H.225 Call signaling function: Nó sử dụng kênh logic để truyền nhận thông điệp thiết lập chấm dứt phiên hai điểm H.323 Các kênh độc lập với kênh điều khiển H.245 Các thủ tục đóng, mở kênh logic H.245 khơng sử dụng để thiết lập kênh signaling Nó mở GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 91 trước thiết lập kênh điều khiển H.245 kênh logic khác Nó settle down từ terminal đến terminal khác từ terminal đến gatekeeper  RAS Control function (Register, Admission, Status): Nó sử dụng logical chanel RAS signaling để ghi nhớ việc đăng ký, nhập thay đổi trạng thái băng thông giửa điểm đầu cuối (terminal, gateway, …) gatekeeper Nó sử dụng có gatekeeper hữu RAS signaling chanel hoạt động độc lập với call signaling chanel, chanel khác H.245 Các thủ tục đóng/mở H.245 logical chanel không sử dụng để thiết lập RAS signaling chanel RAS control function chanel mở trước thiết lập logical chanel  H225 Layer: Nhằm cung cấp khn dạng cho gói tin video, audio gói liệu Ngồi ra, chịu bố trí gói tin, đánh số thứ tự phát lỗi  Packet network interface: Nó cụ thể hóa cài đặt Nó phải cung cấp dịch vụ đuợc mô tả H.225 Điều có nghĩa dịch vụ điểm-điểm đáng tin cậy (ví dụ, TCP) bắt buộc phải có cho H.245 control chanel, data chanel call signaling chanel Các dịch vụ điểm-điểm không tin cậy (UDP, IPX) bắt buộc phải có cho kênh audio, video RAS Các dịch vụ hai chiều đồng thời (duplex), chiều (simplex), unicast multicast phụ thuộc vào ứng dụng, lực terminal cấu hình mạng 2.1.3.2 Gateway Thành phần cung cấp nhiều dịch vụ, bao gồm chức dịch cần thiết điểm H.323 mạng LAN terminal theo đặc tả ITU mạng chuyển mạch mạch (circuit-switched) chuyển mạch gói (packet-switched) Các dịch vụ bao gồm chức chuyển đổi khn dạng (ví dụ H.225.0 sang H.221) thủ tục truyền thơng (ví dụ H.245 tới H.242) Ngồi ra, Gateway chuyển đổi CODEC cần thiết, thực thiết lập hủy bỏ gọi GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 92 2.1.3.3 Gatekeeper Gatekeeper thực hai chức nhằm đảm bảo tính tồn vẹn liệu mạng Chức đầu dịch vụ chuyển đổi địa từ tên mạng LAN thành địa IP (hoặc IPX) cho terminal gateway Chức thứ hai quản lý băng thơng Lấy ví dụ, số lượng hội thảo mạng đạt ngưỡng, gatekeeper từ chối kết nối thêm vào Nhờ kiểm sốt mà mạng đảm bảo ln dành phần băng thông để truyền email, truyền file liệu khác Tập hợp tất Terminals, Gateway, Multipoint Control Units Gatekeeper quản lý gọi H.323 Zone Gatekeeper cung cấp dịch vụ sau: Kiểm sốt truy cập: Gatekeeper từ chối tất gọi từ terminal chúng khơng có quyền Admission control chức “khơng làm cả”, chấp nhận tất yêu cầu mở gọi Kiểm soát băng thơng: Nhằm kiểm sốt số lượng tối đa H.323 terminal kết nối đồng thời để từ chối gọi tình băng thơng Quản lý Zone: Gatekeeper cung cấp chức cho terminal, MCU Gateway gia nhập Zone mà chịu trách nhiệm quản lý 2.1.3.4 MCU MCU (Multipoint Control Unit) nút mạng cục bộ, cho phép từ ba hay nhiều terminal gateway tham gia hội thảo đa điểm Nó điều khiển trộn video, audio liệu từ terminal nhằm tạo hội thảo truyền hình chất lượng Một MCU kết nối với terminal hội thảo điểm-điểm, sau phát triển thành hội thảo đa điểm 2.1.3.5 Bộ xử lý đa điểm Bộ xử lý đa điểm (MP - multipoint processor) thành phần phần cứng phần mềm chuyên dụng H.323 Nó trộn lẫn, trao đổi xử lý audio, video và/hoặc luồng liệu cho bên tham gia vào hội thảo đa điểm, xử lý terminal khơng sử dụng nhiều GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 93 2.1.3.6 Proxy H.323 Proxy H.323 proxy thiết kế cụ thể cho giao thức H.323 nhằm kiểm sốt gói tin hai ứng dụng truyền thơng Các proxy định đích đến gọi thực bước kết nối gọi thấy cần thiết H.323 proxy thực chức sau đây:  Voice terminal khơng có hỗ trợ giao thức RSVP (Resource Reservation Protocol) kết nối thơng qua truy cập từ xa mạng LAN với chất lượng dịch vụ (QoS) tương đối đáng tin cậy Sau cặp proxy khai thác đển phát triển đường ống (turnnel) qua mạng IP  Proxy cung cấp việc định tuyến cho luồng liệu H.323 tách biệt với luồng liệu thông thường sử dụng định tuyến theo kiểu ứng dụng (ASP)  Proxy tương thích với chức chuyển đổi địa mạng gateway gatekeeper, cho phép H.323 triển khai mạng sử dụng không gian địa riêng Chồng giao thức Các giao thức tiếng sử dụng H.323: o RTP/RTCP (Real-Time Transaport Protocol/ Real-Time Transport Control Protocol): Các giao thức chuẩn Internet dành cho truyền nhận liệu thời gian thực, bao gồm audio video RTP thường sử dụng kiến trúc VOIP, hội thảo truyền hình, truyền hình theo yêu cầu ứng dụng khác Là giao thức nhỏ gọn, cung cấp khả định danh nội dung, tái tạo thứ tự thời gian phát gói tin bị mát o RAS (Registration, Admission and Status): Giao thức dành cho Registration, Admission status Trong hệ thống audio video theo H.323, RAS kênh kiểm sốt thơng điệp H.225 gửi GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 94 o H.245: Giao thức điều khiển truyền thông đa phương tiện, mô tả thông điệp thủ tục sử dụng để mở đóng kênh logic dành cho audio, video liệu  Nó quản lý chức sau: o Trao đổi khả năng: Các terminal định nghĩa CODEC mà chúng có gửi đến terminal khác o Đóng, mở kênh logic: Các kênh audio video H.323 đơn hướng kết nối điểm điểm Do đó, chúng phải tạo tối thiểu hai kênh Đây trách nhiệm H.245 o Điều khiển dòng có vấn đề o Nhiều chức nhỏ khác o Q.931: Một giao thức dành cho Call Signaling, bao gồm việc thiết đặt, Teardown Disangage Q.931 mô tả H.225 Recommendation o RSVP (Resource ReSerVation Protocol): Giao thức chịu trách nhiệm bảo quản tài nguyên mạng nhằm mang lại đảm bảo cho chất lượng dịch vụ (QoS) o T.120: Chuẩn trao đổi liệu hội thảo điều khiển hội thảo dành cho truyền thông đa phương tiện tương tác đa điểm điểm-điểm  Các CODEC sau H.323 khuyến nghị: o G.711: Khuyến nghị ITU-TSS “Điều chế mã xung cho âm tần” Tiêu chuẩn âm bắt buộc hệ thống hội thảo truyền hình Nó u cầu tốc độ truyền từ 56 đến 64 kbit/s o H.261, H.263: Các video Codec cho chuẩn H.323 Tuy nhiên sử dụng chuẩn khác GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 95 Signaling Các chức gửi thông điệp để điều khiển việc truyền thông (signaling) dựa khuyến nghị H.225, hỗ trợ thông điệp signaling Q.931/Q.932 Các gọi TCP gửi đến cổng 1720 Trên cổng này, Q.931 kiểm sốt thơng điệp gửi để thiết lập gọi, bảo trì hủy kết nối Các thơng điệp Q.931/Q.932 thơng dụng Gồm có:  Setup Nó gửi đến để khởi tạo gọi H.323 thiết lập kết nối với H.323 terminal Thông tin chứa đựng địa IP, port bí danh (alias) người gọo địa IP port người gọi  Call Proceeding Thông điệp Gatekeeper gửi cho Terminal nhằm cảnh báo nổ lực thiết lập gọi số gọi phân tích  Alerting Chỉ định bắt đầu giai đoạn phát sinh tín hiệu âm  Connect Chỉ định bắt đầu giai đoạn kết nối  Release Complete Được terminal khởi tạo ngắt kết nối gửi  Facility Đây thông điệp chuẩn Q.932, sử dụng giống yêu cầu dịch vụ bổ sung Các thông điệp điều khiển chuẩn H.245 Chuẩn H.245 điều khiển H.245 tập thông điệp ASN.1 sử dụng để thiết lập điều khiển gọi Các thông điệp bao gồm:  MasterSlaveDetermination (MSD) Thơng điệp sử dụng để ngăn chặn tranh chấp hai terminal muốn khởi đầu tiến trình (process) Nó đưa định terminal (master) phụ (slave) GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 96  TerminalCapabilitySet (TCS) Thông điệp mang thông tin khả (capabilities) terminal tham dự vào gọi cung cấp  OpenLogicalChannel (OLC) Thông điệp nhằm mở kênh logic chứa thơng tin cho phép thu nhận mã hóa liệu Nó chứa thơng tin kiểu liệu gửi  CloseLogicalChannel (CLC), Thông điệp nhằm đóng kênh thơng tin logic 2.2 Tìm hiểu chuẩn SIP chuẩn liên quan 2.2.1 Giới thiệu chung Giao thức SIP (Session Initiation) giao thức IETF MMUSIC Group phát triển tiêu chuẩn đề nghị cho khởi tạo, điều chỉnh kết thúc các phiên tương tác người dùng, liên quan đến thành phần đa phương tiện video, voice, instant messaging, trò chơi trực tuyến, thực ảo Khởi đầu, cơng bố vào năm 1996 nội dung RFC 2543 Sau đó, cải tiến công bố RFC 3261 năm 2002 2.2.2 Kiến trúc Mục tiêu SIP truyền thông thiết bị đa phương tiện SIP làm cho việc truyền thông trở nên khả thi nhờ áp dụng hai giao thức RTPP/RTCP SDP Giao thức RTP sử dụng để vận chuyển liệu voice theo thời gian thực (tương tự giao thức H.323), giao thức SDP đuợc sử dụng để thương lượng bên tham gia lực, kiểu mã hóa, … SIP thiết kế phù hợp với mơ hình Internet Nó giao thức báo hiệu điểm-điểm, tồn logic lưu thiết bị cuối (ngoại trừ định tuyến thông điệp SIP) Trạng thái lưu thiết bị cuối Do đó, SIP giao thức điều khiển tầng ứng dụng, giao thức signaling cho Internet Telephony SIP thiết lập phiên theo tính audio/videoconferencing, trò chơi trực tuyến, chuyển gọi, đượctriển khai mạng IP cho phép nhà cung cấp dịch vụ tích hợp dịch vụ điện thoại IP với GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 97 dịch vụ Web, e-mail, chat Nó dựa thơng điệp yêu cầu thông điệp trả lời, đồng thời sử dụng lại nhiều khái niệm chuẩn trước HTTP SMTP 2.2.3 Các thành phần SIP cung cấp chức nhằm thiết lập chấm dứt phiên truyền thơng đa phương tiện: đặc tính vị trí, khả sẳn sàng, tài nguyên thương lượng Nhằm cài đặt chức này, có thành phần SIP khác Có hai thành phần chính: User agent (UA) SIP Server User Agent (UA): Có hai phần khác nhau, User Agent Client (UAC) User Agent Server (UAS) UAC thực thể logic, có nhiệm vụ gửi yêu cầu SIP nhận lại trả lời cho yêu cầu Một UAS thực thể logic có nhiệm vụ gửi trả lời cho yêu cầu SIP Cả hai thực thễ có User agent, cho phép việc truyền thông user agent khác truyền thơng client-server Có SIP Server khác nhau:  Proxy Server: Chúng gửi lại yêu cầu, định Server phải gửi thông điệp đến, điều chỉnh chi tiết yêu cầu cần Nó thực thể trung gian, hành động client Server nhằm thiết lập gọi Users Server có chức tương tự HTTP Proxy Nó có nhiệm vụ định tuyến yêu cầu nhận từ thực thể khác Có hai loại Proxy Server: Stateful Proxy Stateless Proxy  Stateful Proxy: Chúng giữ trạng thái giao dịch suốt trình xử lý u cầu Nó cho phép chia yêu cầu thành nhiều yêu cầu, với mục đích để tìm vị trí bên gọi cách song song nhằm tìm đường tốt  Stateless Proxy: chúng không lưu giữ trạng thái giao dịch suốt trình xử lý yêu cầu, chúng đơn giản gửi lại thơng điệp GVHD: PGS.TS Vũ Thanh Ngun SVTH: Đồn Hữu Hạnh & Nguyễn Đắc Thắng 98  Registrar Server: server chấp nhận yêu cầu đăng ký người sử dụng lưu giữ thông tin từ yêu cầu Nó cung cấp dịch vụ chuyển đổi vị trí địa miền mà quản lý  Redirect Server: server làm phát sinh câu trả lời định hướng lại cho yêu cầu mà nhận Server định tuyến lại yêu cầu đến server Các loại Server mặt quan niệm (logic), tất chúng đặt máy vật lý Chúng đặt máy tính khác nhằm tạo khả động tăng cường khả xử lý Các thông điệp SIP giao thức sử dụng tín hiệu điều khiển kiểu text (tương tự HTTP) UAC tạo thông điệp yêu cầu UAS trả lại thông điệp trả lời đến client tương ứng SIP định nghĩa việc truyền thông qua hai kiểu thông điệp Các thông điệp yêu cầu (methods) thông điệp trả lời (state codes) sử dụng khuôn dạng chung RFC 2822 Chúng có dòng khởi đầu, theo sau nhiều trường header, dòng trống điểm kết thúc phần head, cuối cùng, thân thông điệp (không thiết) Các thông điệp yêu cầu SIP (method) Điều quan trọng thơng điệp u cầu SIP dòng khởi đầu thơng điệp, gọi dòng Request-Line Nó chứa tên method, địa danh định thông điệp (Request – URI) phiên giao thức SIP Có sáu method (được định nghĩa RFC 254) cho yêu cầu từ phía client INVITE: cho phép mời người hay dịch vụ tham gia phiên điều chỉnh tham số cho phiên thiết lập ACK: Xác nhận phiên làm việc thiết lập OPTION: Yêu cầu thông tin lực server BYE: Kết thúc phiên làm việc CANCEL: Hủy bỏ yêu cầu diễn REGISTER: Đăng ký user agent GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 99 Ngồi ra, có method bổ sung Ví dụ INFO, SUBSCRIBER, … (được xuất RFC khác) Các thông điệp trả lời SIP Sau nhận thông điệp yêu cầu SIP, bên nhận gửi thông điệp trả lời Thông điệp này, tương tự trước đây, dòng đầu tiên, gọi StatusLine, chứa thông tin phiên SIP, mã trả lời (Status-Code) mô tả nhỏ (Reason-Phrase) Mã thông điệp trả lời cấu thành từ ký số, cho phép phân loại Ký số định nghĩa lớp thông điệp trả lời Mã lớp thông điệp: 1xx - Provisional Messages 2xx - Success Answers 3xx - Redirection Answers 4xx - Method Failures 5xx - Server Failures 6xx - Global Failures Các thông điệp báo lỗi Error! Reference source not found đưa hầu hết thơng điệp lỗi xuất thơng điệp SIP với giải thích chi tiết Các thông điệp lỗi chia thành lớp: 4xx - Method Failures 5xx - Server Failures 6xx - Global Failures Headers Headers sử dụng để vận chuyển thông tin đến thực thể SIP Các mục tin chính:  Via: thể giao thức vận chuyển sử dụng Từng proxy thêm dòng vào mục  From: thể địa người gọi GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 100  Call-ID: Mã số cho gọi, chứa địa Host Nó phải cho tất message giao tác  Cseq:bắt đầu số ngẫu nhiên, cho biết thứ tự thông điệp User Agent: Client Agent tham gia truyền thông Đánh địa Một chức SIP Server định vị trí người dùng phân giải tên Thông thường, user agent xác địa IP người gọi, biết dạng “địa email” Các thực thể SIP xác định người dùng URI (Uniform Resource Indentifers) định nghĩa RFC 2396 Một URI có khn dạng tương tự địa email, bao gồm tên user đứng trước dấu @ sau tên miền, tến máy địa IP SDP Cách xác định bên gọi SIP, dựa DNS mơ tả RFC 3263, mơ tả thủ tục DNS phía client sử dụng để chuyển đổi địa chi URI thành địa IP, port giao thức vận chuyển server sử dụng để gửi lại thơng điệp trả lời tình u cầu thất bại Giao thức SDP (Session Description Protocol) RFC 2327, sử dụng để mô tả phiên làm việc multicast theo thời gian thực Do SDP giao thức mơ tả, thơng điệp SDP vận chuyển giao thức khác, SIP, SAP, RTSP, giao thức kiểu HTTP SDP sử dụng chuỗi văn mã hóa Một thơng điệp SDP tạo gồm nhiều dòng, gọi mục dòng (fields), tên nhận biết ký tự đơn SDP không thiết kế để dễ dàng mở rộng 2.3 Tìm hiểu Real Time Message Protocol 2.3.1 Giới thiệu RTMP (Real Time Messaging Protocol) giao thức Adobe System phát triển, sử dụng chủ yếu Flash Media Server để truyền luồng liệu audio video Internet, đến trình Flash Player GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 101 RTMP khơng sử dụng cho RPC RTMP trì kết nối ổn định từ Flash Media Server đến điểm đầu cuối cho phép truyền thông thời gian thực Trong đó, dịch vụ RPC dựa mơ hình truyền thơng bất đồng client server, khơng cần thiết phải truyền thơng theo chế độ thời gian thực Giao thức phần chứa gói liệu, AMF liệu audio/video thô biết đến FLV Một kết nối đơn có khả mang nhiều luồng liệu audio/video kênh khác Bên kênh này, gói tin tách thành nhiều phần có kích thước cố định 2.3.2 Các dạng RTMP Để sử dụng mạng có firewall, vốn ngăn chặn gói tin RTMP, RTMP có biến thể: RTMP (mặc định) Mặc định, Flash Player sử dụng giao thức RTMP chuẩn, không mã hóa port 1935 Nếu thất bại Firewall, cố kết nối qua cổng 443 (RTMPS) 80 (RTMPT) để vượt qua firewall Cổng 1935 đăng ký cổng IANA RTMPT (RTMP tunneled) Giao thức bao bọc lấy liệu RTMP, khiến trở thành liệu HTTP hợp lệ, mặc định truyền thông port 80 Trường hợp này, liệu RTMP “đội lốt” liệu HTTP Trong RTMPT đòi chi phí băng thơng cao so với RTMP, có chi phí phát sinh thêm HTTP header thêm vào, giao thức sử dụng thành công môi trường mà firewall không cho phép sử dụng RTMP RTMPS (RTMP Secure) Secure Socket Layer (SSL) giao thức cho phép truyền thơng an tồn TCP/IP Flash Player cho phép kết nối SSL vào lẫn Đây loại RTMP HTTPS, vốn có port mặc định 443 Khi SSL cấu hình, để sử dụng SSL, ứng dụng phải rõ giao thức RTMPS phương thức NetConnection.Connect(); lấy ví dụ: nc.connect(“rtmps://www.example.com/myMediaApplication”) RTMPS gắn với SSL mạng có bảo mật cho phép kết nối thông qua TCP socket cổng an toàn Dữ liệu chuyển qua kết nối có bảo mật mã hóa nhằm tránh xâm phạm kẻ khơng ủy quyền Do kết nối có bảo GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 102 mật cần xử lý nhiều ảnh hưởng đến tốc độ server, nên sử dụng RTMPS cho ứng dụng cần an ninh mức cao, liệu nhạy cảm, quan trọng RTMPE (Encrypted RTMP) RTMPE phiên RTMP, vốn giao thức liệu RTMP mã hóa 128 bit RTMPE gọn nhẹ SSL, không yêu cầu quản lý chứng nhận SSL làm Trong số tình huống, bạn khơng muốn sử dụng RTMPE Do RTMPE sử dụng kênh mã hóa, có ành hưởng đến tốc độ, RTMPE cần nhiều lực xử lý RTMP Để yêu cầu kênh liệu có mã hóa kênh mang liệu “đội lốt” có mã hóa, ứng dụng cần gọi rtmpe rtmpte, NetConnection.connect() Lấy ví dụ, nc.connect(“rtmpe://www.example.com/myMediaApplication”) Nếu ứng dụng sừ dụng RTMPE mà không định port, Flash Player quét port giống làm RTMP, theo thứ tự 1935(RTMPE), 443 (RTMPE), 80 (RTMPE), 80 (RTMPTE) RTMPTE (Encrypted RTMP Turneled) Giao thức RTMPTE vừa mã hóa kênh truyền thơng, vừa “đội lốt” HTTP Port mặc định 80 (được hỗ trợ với Flash Player 9,0,115,0 trở đi; Adobe AIR, Adobe Media Player) Bắt tay (Handshake)  Client -> Server: Gửi Handshake Request Đây gói liệu giao thức, khối 1536 byte bắt đầu byte (0x03)  Server -> Client: Gửi Handshake Respone Đây gói tin RTMP, khối 1536 byte, theo sau byte (0x03) Khối sau byte handshake request nguyên thủy Khối trước  Client -> Server: Gửi khối 1536 bytes nhận từ Server handshake response Đến lúc này, q trình bắt tay hồn thành packet sau liệu RTMP  Client -> Server: gửi gói tin Connect RTMP GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 103  Server -> Client: Server phản hồi … … Cấu trúc gói tin Gói tin RTMP bao gồm header có chiều dài cố định phần thân có chiều dài biến động lên đến 128 bytes Header cỡ: 12, 8, 4, byte(s) Hai bit có ý nghĩa thuộc byte gói tin (cũng coi byte header), cho phép xác định chiều dài gói tin Có thể chiết bit cách AND byte gói tin với mặt nạ 0xC0 Chiều dài header xem bảng bên Bảng 0-1: Cấu trúc gói tin Bits Chiều dài header 00 12 bytes 01 bytes 10 bytes 11 byte Streaming Thủ tục truyền tin client server thông thường: Client -> Server: gửi request CreateStream Server -> Client: Gửi phản hồi kèm với số hiệu streamIndex Client -> Server: Thực xuất nội dung Client -> Server: Gửi gói tin audio/video (các gói tin gửi từ nguồn theo streamIndex, qua kênh publish request) GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng 104 DANH MỤC TÀI LIỆU THAM KHẢO Trang chủ node.js : http://nodejs.org/ Trang chủ express framework : http://expressjs.com/ Trang chủ mongodb : http://www.mongodb.org/ EJS : http://utahjs.com/2010/nodejs-express-and-ejs-templates/ OpenTok : http://www.tokbox.com/ WebSocket : http://davidwalsh.name/websocket Ebook : HTML5 Canvas by Steve Fulton and Jeff Fulton GVHD: PGS.TS Vũ Thanh Nguyên SVTH: Đoàn Hữu Hạnh & Nguyễn Đắc Thắng ... Ứng dụng tập trung vào giải vấn đề chịu tải máy chủ máy khách tham gia vào lớp Ứng dụng web lớp học trực tuyến cung cấp chức lớp học Bao gồm đăng ký tài khoản mới, đăng nhập, đăng xuất, tạo lớp. .. xuất, tạo lớp học mới, đăng ký lớp học, quản lý lớp học, quản lý học viên tham gia vào lớp học 1.5 Tổng quan cơng trình nghiên cứu tác giả nước Video Conferencing Hội thảo truyền hình (video conferencing)... LinkedIn sử dụng Node.js để xây dựng ứng dụng tốt hơn, nhanh hơn: LinkedIn tung ứng dụng di động Gorgeously Ứng dụng nhanh từ đến 10 lần phía máy khách so với trước Về phía máy chủ, sử dụng nguồn

Ngày đăng: 23/12/2018, 06:13

Xem thêm:

TỪ KHÓA LIÊN QUAN

w