1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng hệ thống chat video cho doanh nghiệp vừa và nhỏ

85 420 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

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 2,07 MB

Nội dung

TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── LUẬN VĂN TỐT NGHIỆP THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN TÊN ĐỀ TÀI: XÂY DỰNG HỆ THỐNG CHAT VIDEO CHO DOANH NGHIỆP VỪA VÀ NHỎ Học viên thực : Nguyễn Hoàng Linh Lớp 2014A-KTPM Giảng viên hƣớng dẫn: TS Cao Tuấn Dũng HÀ NỘI 3-2016 Luận văn tốt nghiệp Mục lục Mục lục LỜI CAM ĐOAN .5 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ .6 DANH MỤC HÌNH ẢNH DANH MỤC CÁC BẢNG LỜI MỞ ĐẦU .8 PHẦN I: TỔNG QUAN Lý lựa chọn đề tài 2.Lịch sử nghiên cứu .9 2.1.Giai đoạn 10 2.2.Giai đoạn 10 3.Mục đích nghiên cứu luận văn, đối tƣợng, phạm vi nghiên cứu 10 Các luận điểm đóng góp tác giả 11 5.Phƣơng pháp nghiên cứu 11 PHẦN II: NỘI DUNG 12 CHƢƠNG 1: CÁC HỆ THỐNG HIỆN TẠI VÀ ĐỊNH HƢỚNG GIẢI PHÁP 12 1.Các hệ thống loại .12 2.Định hƣớng giải pháp 15 2.1.Các mô hình giải pháp cho Video Streaming 15 2.2.Ƣu nhƣợc điểm mô hình .17 2.3.Đánh giá định hƣớng giải 18 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG NGHỆ LIÊN QUAN 20 1.Kĩ thuật Streaming Video 20 1.1.Các giao thức Video Streaming 20 1.2.Chuẩn mã hóa video 22 2.Tổng quan hệ thống điện toán đám mây 23 2.1.Amazon - Amazon Web Services (AWS) 23 2.2.Microsoft - Microsoft Azure 23 2.3.Google - Google Cloud Platform 24 2.4.Các dịch vụ điện toán đám mây khác 24 3.Công nghệ WebRTC 25 3.1.Giới thiệu .25 3.2.Kiến trúc WebRTC 25 3.3.Các giao thức WebRTC 28 3.4.Các kĩ thuật WebRTC 30 3.5.Cách thức hoạt động WebRTC .31 3.6.Bảo mật WebRTC 32 3.7.Tiềm hƣớng phát triển WebRTC .33 4.Công cụ lựa chọn thực 33 4.1.Giai đoạn 33 4.2.Giai đoạn 33 CHƢƠNG 3: CÁC KẾT QUẢ ĐẠT ĐƢỢC 36 1.Thiết kế hệ thống 36 Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM Luận văn tốt nghiệp 1.1.Các chức hệ thống 36 1.2.Kiến trúc tổng thể hệ thống 37 1.3.Quy trình tổng quát phiên chat video 39 1.4.Các thành phần hệ thống 40 1.4.1.Hệ thống SDK BKRTC .40 1.4.1.1.Các chức hệ thống BKRTC 40 1.4.1.2.Kiến trúc hệ thống BKRTC .42 1.4.1.3.Quy trình xử lý hệ thống BKRTC 45 1.4.1.4.Tập API hệ thống BKRTC 47 1.4.1.5.Giải pháp giải vấn đề hệ thống .50 Giải pháp kết nối N Peer .50 1.4.2.Hệ thống Video Chat (Backend-Client) 51 1.4.2.1.Kiến trúc hệ thống Video Chat 51 1.4.2.2.Các chức hệ thống 53 1.4.2.2.1 Họp 53 1.4.2.2.2 Đặt lịch họp 56 1.4.2.2.3 Quản lý lƣu trữ 58 1.4.2.3 Quy trình phiên chat sử dụng SDK hệ thống 60 1.4.2.4.Giải pháp giải vấn đề hệ thống .61 Giải pháp lƣu trữ video hệ thống Video Chat 61 1.4.3 Mobile Client .61 1.4.3.1.Kiến trúc hệ thống Mobile Client 62 1.4.3.2.Các chức hệ thống Mobile Client 63 1.4.3.2.1.Họp 63 1.4.3.2.2.Đặt lịch họp .65 1.4.3.4.Giải pháp giải vấn đề phát triển Mobile Client 66 1.4.3.4.1.Tích hợp SDK vào Mobile Client 66 1.4.3.4.2.Xử lý giao thức 66 2.Kết thực hiện, cài đặt hệ thống 67 2.1.Kết cài đặt .67 2.1.1.Hệ thống BKRTC 67 2.1.2.Hệ thống Frontend 68 2.1.3.Mobile Client 73 2.2.Đánh giá hiệu hệ thống .74 3.Đánh giá ƣu nhƣợc điểm, khả ứng dụng hệ thống 76 Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM Luận văn tốt nghiệp 3.1.Ƣu điểm .76 3.2.Nhƣợc điểm 76 3.3.Khả ứng dụng hệ thống 77 PHẦN III: KẾT LUẬN VÀ PHÁT TRIỂN 78 1.Hệ thống .78 1.1.Đánh giá chung 78 1.2.Công việc làm đƣợc 78 1.3.Những vấn đề chƣa giải .78 1.4.Định hƣớng phát triển đề tài 79 2.Công nghệ ứng dụng 79 2.1.Đánh giá chung 79 2.2.Khả ứng dụng 79 2.3.Hƣớng phát triển công nghệ 79 TÀI LIỆU THAM KHẢO 81 PHỤ LỤC 82 Một số hình ảnh kết đạt đƣợc giai đoạn 82 Kết thử nghiệm giai đoạn 83 Hƣớng dẫn cài đặt hệ thống .83 Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM Luận văn tốt nghiệp LỜI CAM ĐOAN Tôi xin cam đoan: Những nội dung luận văn công trình nghiên cứu dƣới hƣớng dẫn trực tiếp TS Cao Tuấn Dũng Mọi tham khảo dùng luận văn đƣợc trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố công trình khác Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, xin chịu hoàn toàn trách nhiệm Hà Nội, ngày tháng 10 năm 2016 Tác giả luận văn Nguyễn Hoàng Linh Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM Luận văn tốt nghiệp DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ STT Từ viết tắt Ý nghĩa P2P Peer to Peer: mô hình mạng ngang hàng Web Real Time Communication: Truyền thông thời WebRTC gian thực Web RTP RealTime Transport Protocol SRTP Secure RealTime Transport Protocol SDP Session Description Protocol ICE Interactive Communication Establishment STUN Session Tranversal Utilities for NAT TURN Tranversal Using Relay around NAT TCP Transmission Control Protocol 10 UDP User Datagram Protocol 11 SCTP Stream Control Transport Protocol 12 IP 13 TLS 14 DTLS 15 Ram 16 MPEG 17 SDK 19 SPA Moving Picture Experts Group Software Development Kit - Bộ thƣ viện phát triển ứng dụng streaming video đƣợc viết JavaScript ngƣời thực đề tài Single Page Application 20 AWS Amazon Web Services 21 GCM Google Cloud Messaging Internet Protocol Transport Layer Security Datagram TLS Random Access Memory Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM Luận văn tốt nghiệp DANH MỤC HÌNH ẢNH Hình Kiến trúc Streaming Video sử dụng mô hình Client – Server 16 Hình Kiến trúc Streaming Video áp dụng mô hình P2P .17 Hình Mô hình hệ thống video chat 19 Hình Kiến trúc WebRTC .26 Hình Chồng giao thức WebRTC .28 Hình Mô hình chế Signaling 32 Hình Các chức hệ thống 36 Hình Kiến trúc tổng quan hệ thống .38 Hình Các chức hệ thống BKRTC 41 Hình 10 Kiến trúc hệ thống BKRTC 43 Hình 11 Quá trình Signaling 46 Hình 12 Kiến trúc phân phối kết nối N Peer 50 Hình 13 Kiến trúc hệ thống Video Chat 51 Hình 14 Biểu đồ trình tự chức tạo phòng họp 53 Hình 15 Biểu đồ trình tự chức vào phòng họp 54 Hình 16 Biểu đồ trình tự chức rời phòng họp 55 Hình 17 Biểu đồ trình tự chức đặt lịch họp 57 Hình 18 Biểu đồ trình tự chức quản lý lưu trữ .59 Hình 19 Kiến trúc react-native app 62 Hình 20 Biểu đồ trình tự chức họp với Mobile Client 64 Hình 21 Biểu đồ trình tự chức đặt lịch họp Mobile Client .65 Hình 22 Giao diện quản lý người dùng hệ thống BKRTC .68 Hình 23 Giao diện hình người dùng hệ thống Video Chat 69 Hình 24 Giao diện đặt lịch họp 70 Hình 25 Email thông báo lịch họp 71 Hình 26 Giao diện hình phòng họp hệ thống Video Chat cũ 71 Hình 27 Giao diện hình phòng họp hệ thống Video Chat 72 Hình 28 Giao diện chat 1-1 Mobile Client 73 Hình 29 Giao diện chat 1-n Mobile Client 74 Hình 30 Giao diện phần mềm 82 Hình 31 Chat text .83 Hình 32 Chat video 83 DANH MỤC CÁC BẢNG Bảng So sánh WebRTC VOIP hệ thống Video Conferencing 28 Bảng Tập API thư viện 50 Bảng Kiểm thử thời gian tạo thành công phiên chat .75 Bảng Đánh giá hiệu phương pháp Round Trip Time 76 Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM Luận văn tốt nghiệp LỜI MỞ ĐẦU Từ xƣa đến nay, nhu cầu trao đổi thông tin thành viên doanh nghiệp nhu cầu cấp thiết ngày Đối với doanh nghiệp mà thành viên không ngồi vị trí việc tìm kiếm kênh để thành viên trao đổi thông tin lại cần thiết Với thời đại Internet phát triển nhƣ nay, việc trao đổi thông tin qua chat văn phổ biến Tuy nhiên việc chat âm thanh, hình ảnh doanh nghiệp tiếp cận đƣợc vấn đề liên quan đến xây dựng hệ thống, chi phí, quyền Việc khó khăn doanh nghiệp vừa nhỏ Nhận thấy hệ thống chat video hệ thống lớn, phức tạp ,chứa đựng nhiều công nghệ, tảng, giao thức hay cần thiết ngƣời dùng cá nhân doanh nghiệp Do đó, sau thời gian nghiên cứu, em đƣợc nhận đề tài luận văn tốt nghiệp thực tế là: ”Xây dựng hệ thống chat video cho doanh nghiệp vừa nhỏ” Để tiện theo dõi em xin trình bày đề tài theo phần nhƣ sau: -Phần đầu tổng quan trình thực luận văn, đóng góp phƣơng pháp nghiên cứu tác giả -Phần nội dung bao gồm nghiên cứu công nghệ tại, định hƣớng giải pháp, sở lý thuyết kết đạt đƣợc sau xây dựng hệ thống -Phần cuối kết luận sau làm luận văn định hƣớng phát triển Trong trình thực hiện, đƣợc giúp đỡ nhiệt tình thầy PGS.TS Cao Tuấn Dũng giảng viên Viện công nghệ thông tin truyền thông – giáo viên hƣớng dẫn, em sinh viên (Nguyễn Hoàng Anh, Nguyễn Nho Quốc Việt, Phạm Hồng Thanh) bạn nhƣng với trình độ, thời gian có hạn, tài liệu tham khảo hạn chế nên có nhiều thiếu xót, mong đƣợc thầy cô bạn bè góp ý để luận văn em đƣợc tốt Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM Luận văn tốt nghiệp PHẦN I: TỔNG QUAN Lý lựa chọn đề tài Hiện doanh nghiệp, việc trao đổi thông tin, truyền liệu thành viên công ty qua chat việc làm cần thiết diễn ngày Do chƣa việc chat video hay văn lỗi thời Đối với doanh nghiệp lớn, với nhiều lợi nhân lực, vật lực, kinh tế, thƣờng họ xây dựng sẵn hệ thống chat riêng mua hẳn hệ thống chat cho riêng doanh nghiệp với độ an toàn bảo mật cao Với doanh nghiệp vừa nhỏ, việc xây dựng hệ thống chat riêng mua hệ thống chat tƣơng đối khó khăn không mạnh nguồn lực hạn hẹp tài Do giải pháp thay phần mềm chat miễn phí phải trả phí có chất lƣợng tốt với giá phải Đồng thời có độ bảo mật tƣơng đối để tránh thất thoát liệu Hiện có phần mềm miễn phí tƣơng đối tốt cho doanh nghiệp nhƣ skype, yahoo, hangouts… Tuy nhiên phần mềm chƣa thực riêng doanh nghiệp, truyền liệu cho tùy thuộc vào ngƣời sử dụng Do việc cung cấp phần mềm miễn phí thƣ viện để doanh nghiệp dễ dàng tùy chỉnh, có độ bảo mật cao cho riêng doanh nghiệp vừa nhỏ toán cần thiết Để làm đƣợc hệ thống chat video này, cần nắm đƣợc nhiều công nghệ phức tạp, đƣợc nhiều chuyên gia nhà phát triển nghiên cứu hoàn thiện chục năm nhƣ giao thức streaming video thời gian thực, thuật toán mã hóa hình ảnh, âm thanh, công nghệ sử dụng để phát triển backend server, ứng dụng Web, client Android, client iOS… Tuy nhiên, đề tài streaming video đề tài lớn nhiều kiến thức nhiều mảng khác nhau, nên cần nhiều công sức thời gian để định hƣớng phát triển đề tài 2.Lịch sử nghiên cứu Quá trình nghiên cứu đề tài trải qua nhiều giai đoạn, từ sơ khai đến tìm đƣợc công nghệ để phát triển hệ thống trình tƣơng đối dài Có thể đƣợc chia làm giai đoạn: o Giai đoạn 1: Tên đề tài phát triển phần mềm chat video sử dụng điện toán đám mây o Giai đoạn 2: Tên đề tài chuyển thành phát triển hệ thống chat video cho doanh nghiệp vừa nhỏ Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM Luận văn tốt nghiệp 2.1.Giai đoạn Trong giai đoạn này, tìm hiểu công nghệ liên quan streaming video thời gian thực nhƣ: o Tìm hiểu sản phẩm chat video phổ biến giới Việt Nam nhƣ Skype, Google Hangouts, Yahoo Messager… o Các thuật toán mã hóa video phổ biến nhƣ thuật toán mã hóa H.26x nhƣ H.263, H.264, H.265, VPx nhƣ VP8, VP9… o Các giao thức streaming thời gian thực nhƣ RTP, RTSP, RTMP, HTTP, TCP, UDP… o Các dịch vụ điện toán đám mây cung cấp cho phát triển dự án streaming video nhƣ Wowza Streaming Engine Amazon Web Services – Dịch vụ điện toán đám mây Amazon - cung cấp cho phát triển dự án streaming video, Microsoft Media Services Microsoft… o Xây dựng phần mềm chat video sử dụng dịch vụ để thử nghiệm Chi tiết kết tìm hiểu đạt đƣợc qua giai đoạn đƣợc trình bày phần PHỤ LỤC I Kết thúc giai đoạn này, tác giả thử nghiệm thành công việc xây dựng ứng dụng chat văn video sử dụng dịch vụ điện toán đám mây tảng Android Tuy nhiên, nhận thấy việc sử dụng dịch vụ không đóng góp cải thiện đƣợc hệ thống có, tính khoa học luận văn, có ứng dụng thực tiễn Ngoài dịch vụ so với chi phí Việt Nam lớn Sau có kết từ hệ thống xây dựng đƣợc, giá trị khoa học không đóng góp sâu việc xây dựng hệ thống Do đó, tác giả chuyển sang sử dụng công nghệ mã nguồn mở, WebRTC 2.2.Giai đoạn Xây dựng hệ thống chat video cho doanh nghiệp vừa nhỏ sử dụng công nghệ WebRTC Xây dựng thƣ viện với WebRTC cho nhà phát triển dễ dàng phát triển hệ thống riêng họ Chi tiết kết nghiên cứu hệ thống giai đoạn phần luận văn, đƣợc nêu chi tiết phần luận văn 3.Mục đích nghiên cứu luận văn, đối tƣợng, phạm vi nghiên cứu Do trình thực đề tài có nhiều giai đoạn khác nên đôi lúc mục đích, đối tƣợng, phạm vi nghiên cứu có phần khác qua thời kì Nhƣng tựu chung lại là: 3.1 Mục đích nghiên cứu: Tìm hiểu công nghệ streaming video để xây dựng hệ thống chat video cho doanh nghiệp vừa nhỏ 3.2 Đối tƣợng nghiên cứu: o Hiện trạng hệ thống chat video Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 10 Luận văn tốt nghiệp Hình 25 Email thông báo lịch họp  Giao diện phòng họp: Ngƣời dùng đƣợc hỏi phép trình duyệt sử dụng camera micro thiết bị sử dụng hay không Sau đồng ý hình hiển thị giao diện phòng họp, hình ảnh ngƣời dùng đƣợc hiển thị bên góc trái hình Các thành viên khác phòng họp hiển thị khung thành viên bên dƣới tiếp sau ngƣời dùng Muốn phóng to khung hình thành viên nào, ngƣời dùng cần nhấp chuột vào khung hình thành viên Trong giao diện phòng họp có chức quan trọng sau: trò chuyện, chia sẻ tài liệu, xem thông tin thành viên phòng, mời thành viên vào phòng chủ phòng, ghi họp, tắt mở camera micro, chia sẻ hình Chức chia sẻ hình, ngƣời dùng phải tải phần mở rộng đƣợc đính kèm vào trình duyệt (hiện hỗ trợ Chrome) Hình 26 Giao diện hình phòng họp hệ thống Video Chat cũ Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 71 Luận văn tốt nghiệp Hình 27 Giao diện hình phòng họp hệ thống Video Chat Các chức giao diện phòng họp nhƣ sau: o Chat văn bản: Khi có tin nhắn đến góc trò chuyện hiển thị thông báo số tin nhắn đến, ngƣời dùng nhấp chuột vào trò chuyện, hình xuất khung chat, với khung chat ngƣời dùng chat với ngƣời phòng đơn giản Ngƣời dùng ẩn khung chat không muốn sử dụng chức chat văn cách kích tiếp vào biểu tƣợng khung chat hiển thị o Chia sẻ tài liệu: Khi ngƣời dùng muốn chia sẻ tài liệu cho thành viên khác phòng họp, ngƣời dùng nhấp chuột vào tab “Transfer file”, sau lựa chọn tài liệu cần gửi Tài liệu đƣợc giới hạn kích thƣớc nhỏ 5MB Những thành viên khác phòng nhận đƣợc tài liệu góc tệp tin họ hiển thị số lƣợng tài liệu đƣợc gửi đến, họ nhấp chuột vào hình popup hiển thị thông tin chi tiết tài liệu Muốn tải tài liệu cần nhấp chuột vào tên tài liệu o Xem thông tin thành viên phòng: Ngƣời dùng nhấp chuột vào tab “thành viên phòng”, hình hiển thị popup danh sách thành viên phòng họp o Mời họp: Chỉ có chủ phòng có chức này, ngƣời dùng nhấp chuột vào tab “Invite” Màn hình hiển thị popup chứa danh sách thành viên hệ thống, sau ngƣời dùng tìm kiếm chọn ngƣời muốn mời vào phòng họp Hệ thống gửi mail tới ngƣời đƣợc mời o Ghi nội dung: Ngƣời dùng muốn ghi lại họp, chức đƣợc sử dụng chế độ chia sẻ hình, sau ghi xong hệ thống tự động tải file video auido cho ngƣời dùng file ngƣời dùng dùng phần mềm thứ nhƣ ffmpeg để gộp lại thành file hoàn chỉnh Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 72 Luận văn tốt nghiệp o Tắt mở camera/micro: Ngƣời dùng nhấp chuột vào nút tắt mở camera micro Với trạng thái tƣơng ứng thành viên khác phòng nhìn nghe thấy từ bên phát tín hiệu Stream ngƣợc lại o Kết thúc gọi: Ngƣời dùng muốn thoát gọi tắt tab trình duyệt nhấp chuột vào tab “End Call” o Chia sẻ hình: Ngƣời dùng phải cài thêm phần mở rộng cho trình duyệt Chrome dùng đƣợc chức Ngƣời dùng nhấn vào nút “Screen Sharing” để thực chức chia sẻ hình Khi chia sẻ hình thành viên khác thấy khung hình ngƣời chia sẻ bị thay đổi sang hình ngƣời chia sẻ Muốn tắt chế độ này, ngƣời dùng nhấp vào “Stop sharing” hình chuyển chế độ mặc định, khung hình ngƣời dùng bên thành viên khác thay đổi mặc định 2.1.3.Mobile Client Mobile Client dừng lại mức độ demo, chƣa tích hợp số chức hệ thống thật triển khai Có thể chat video 1-1, nhiều ngƣời với Giao diện chƣơng trình Mobile Client chat đƣợc web-web, mobileweb, mobile-mobile: Hình 28 Giao diện chat 1-1 Mobile Client Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 73 Luận văn tốt nghiệp Hình 29 Giao diện chat 1-n Mobile Client 2.2.Đánh giá hiệu hệ thống Đánh giá thời gian tạo phiên chat Mục đích kiểm thử hiệu đánh giá việc chat video tốt với tối đa Client phiên chat thời gian để bắt đầu phiên Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 74 Luận văn tốt nghiệp chat Ngoài so sánh với hệ thống sử dụng công nghệ để cải thiện hiệu cần tƣơng lai Vì hệ thống sử dụng mô hình P2P trình chat nên kiểm thử hiệu đánh giá Client Để kiểm thử hiệu hệ thống, tác giả đánh giá dựa tiêu chí sau:  Thời gian để bắt đầu phiên chat so sánh với phần mềm loại  Mức độ chiếm băng thông bên phía Client trình hoạt động  Độ ổn định tín hiệu hệ thống thông qua đo độ trễ tín hiệu audio video Để thử nghiệm hệ thống, tác giả sử dụng công cụ chrome://webrtcinternals để đo độ chiếm băng thông ứng dụng, để đo thời gian để bắt đầu phiên chat đo trực quan cách sử dụng phần mềm đo thời gian  Đo thời gian để bắt đầu phiên chat, so sánh với phần mềm loại appear.in talky.io Mỗi lần kiểm thử đo thời gian lần sau tính trung bình thời gian để thực thành công phiên chat Test Hệ thống Video Chat Appear.in Talky.io 4.3s 5.2s 3.2s 3.8s 5.0s 3.5s 5.2s 5.6s 3.3s 4.7s 5.2s 3.2s 5.1s 5.3s 3.2s Bảng Kiểm thử thời gian tạo thành công phiên chat  Đo độ ổn định tín hiệu hệ thống, tiến hành đo cách tăng số lƣợng ngƣời phiên chat Với ngƣời trở xuống, hình ảnh âm tốt, tăng đến ngƣời phiên chat chất lƣợng hình ảnh máy khác nhận đƣợc bị nhòe, tiếng bị méo Các thông số độ trễ hình ảnh, âm không ổn định lên cao Các gói tin bị nhiều hơn, đồng thời ứng dụng chiếm CPU nhiều Nhƣ để chất lƣợng đƣợc tốt hệ thống đáp ứng tối đa ngƣời phiên chat Do hệ thống giới hạn ngƣời họp Nhƣ thời gian trung bình để tạo phiên chat hệ thống 4.6s, phần mềm appear.in 5.2s, phần mềm Talky.io 3.3s Điều cho thấy hệ thống có khả ứng dụng thực tế với độ trễ chấp nhận đƣợc thấp Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 75 Luận văn tốt nghiệp số sản phẩm loại phát hành thị trƣờng đồng thời cho thấy khả thi giải pháp áp dụng cho hệ thống Đánh giá hiệu phƣơng pháp Round Trip Time Do chƣa tìm đƣợc phƣơng pháp đánh giá xác hiệu hệ thống công cụ chuyên dụng nên tác giả đánh giá dựa phƣơng pháp truyền thống Round Trip Time Để đánh giá so sánh phƣơng pháp này, tác giả yêu cầu thành viên phòng chat giơ tay lên đếm từ đến thời gian lần với hệ thống: Hệ thống video chat, hệ thống appear.in, hệ thống talky.io Sau bảng so sánh: Test Video Chat Appear.in Talky.io 2.1 s 2.5 s 3.5 s 2.3 s 3.1 s 2.2 s 2.3 s 2.3 s 2.4 s 2.5 s 2.2 s 3.2 s 2.6 s 4.1 s 2.5 s Bảng Đánh giá hiệu phƣơng pháp Round Trip Time Sau so sánh thời gian thực phƣơng pháp cho thấy, hiệu ứng dụng sử dụng WebRTC không chênh lệch nhiều Có thể phụ thuộc vào tốc độ truyền mạng thời gian đo Ta đánh giá hiệu ứng dụng sử dụng WebRTC gần tƣơng đƣơng 3.Đánh giá ƣu nhƣợc điểm, khả ứng dụng hệ thống 3.1.Ƣu điểm o Hệ thống có khả mở rộng cao đƣợc thiết kế xây dựng với thành phần chuyên biệt, thêm thành phần mà hệ thống không ảnh hƣởng o Bộ thƣ viện dành cho lập trình viên đầy đủ chức Chỉ cần vài dòng code tạo đƣợc dịch vụ chat video Có thể đáp ứng đƣợc lập trình viên cho Mobile o Hệ thống Video Chat hoạt động tƣơng đối ổn định với tối đa ngƣời phòng o Có khả ứng dụng thực tiễn cao o Có thể mở rộng với nhiều loại Client khác nhƣ Web, Android, iOS… 3.2.Nhƣợc điểm o Giao diện chƣa đẹp mắt, thân thiện với ngƣời dùng o Một số chức cần phải đƣợc hoàn thiện thêm để đáp ứng đƣợc nhu cầu thực tế o Thời gian để tạo phiên chat cần đƣợc cải thiện o Hệ thống chƣa đáp ứng đƣợc với số lƣợng ngƣời lớn phiên chat Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 76 Luận văn tốt nghiệp 3.3.Khả ứng dụng hệ thống o Hệ thống Video Chat có khả ứng dụng vào môi trƣờng thực tế trƣớc mắt dùng chat video cho nhóm nhỏ tối đa ngƣời phòng Hệ thống phục vụ nhu cầu họp nhóm, thuyết trình môi trƣờng doanh nghiệp o Khả đáp ứng tốt với độ trễ thời gian chấp nhận đƣợc tốt phần mềm đƣợc phát hành nhƣ appear.in giới thiệu trang chủ WebRTC o Bộ thƣ viện có khả đáp ứng đƣợc yêu cầu cho việc tạo ứng dụng video chat đơn giản với số lƣợng dòng code ngắn Bộ thƣ viện đáp ứng đƣợc lập trình viên Mobile sử dụng react-native Hƣớng dẫn sử dụng thƣ viện rõ ràng đƣợc thể lên trang Web hệ thống Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 77 Luận văn tốt nghiệp PHẦN III: KẾT LUẬN VÀ PHÁT TRIỂN 1.Hệ thống 1.1.Đánh giá chung Sau thời gian thực luận văn tốt nghiệp, tác giả thu đƣợc nhiều kiến thức đặc biệt kiến thức cách phân tích giải vấn đề nhìn nhận dƣới góc độ ngƣời quản lý dự án, cách phát triển hệ thống Web, Server, Mobile Client từ phân tích trình thực sản phẩm triển khai, theo dõi hệ thống máy chủ, client Đồng thời giúp tác giả có đƣợc nhiều kiến thức kỹ bổ ích toán Streaming thời gian thực tảng công nghệ kĩ thuật để giải toán công nghệ tảng Web Mobile Với giúp đỡ thầy hƣớng dẫn nhóm nghiên cứu, tác giả xây dựng thành công hệ thống video chat với nhiệm vụ đề tài đặt ứng dụng thực tế có triển vọng đột phá tƣơng lai không xa Nhìn chung, luận văn tƣơng đối hoàn thiện, đáp ứng đƣợc chức cần thiết hệ thống video chat, đặc biệt cung cấp thƣ viện hiệu hữu ích giúp cho lập trình viên nâng cao suất cảm thấy thoải mái xây dựng chức video chat 1.2.Công việc làm đƣợc o Xây dựng đƣợc thƣ viện Streaming giúp cho lập trình viên xây dựng module video chat cách đơn giản, cần tập trung vào chức hệ thống họ mà không cần quan tâm đến làm để thực đƣợc ứng dụng video chat công nghệ xoay quanh Bộ thƣ viện đƣợc viết ngôn ngữ JavaScript nên tiện lợi cho việc phát triển hệ thống Web Đặc biệt thƣ viện thành phần Client hệ thống cung cấp dịch vụ truyền thông thời gian thực BKRTC Dịch vụ cung cấp giải pháp máy chủ báo hiệu Signaling Server cho thƣ viện o Xây dựng hoàn thiện hệ thống video chat tảng Web dành cho doanh nghiệp vừa nhỏ o Thực thành công việc Streaming theo chế Peer to Peer tảng Web, Mobile (Android-iOS) 1.3.Những vấn đề chƣa giải o Do hệ thống video chat hệ thống lớn nên chƣa có đủ thời gian để xây dựng chế bảo mật trình Streaming Peer to Peer o Hiệu hệ thống đáp ứng đƣợc tối đa ngƣời phiên video chat o Bộ thƣ viện chƣa hiệu trình truyền liệu Peer o Ứng dụng giao diện chƣa đẹp mắt Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 78 Luận văn tốt nghiệp o Còn số chức chƣa thực đƣợc với Mobile Client 1.4.Định hƣớng phát triển đề tài o Xây dựng chế login theo chế Single Sign On Đăng nhập lần cho tất hệ thống doanh nghiệp o Xây dựng chế bảo mật cho việc truyền liệu Peer o Xây dựng chức thiếu tảng di động Android iOS so với tảng Web o Cải thiện chất lƣợng, hiệu dịch vụ BKRTC đáp ứng với việc có nhiều kết nối tới o Hoàn thiện mã nguồn hệ thống video chat theo định hƣớng mã nguồn mở, hƣớng đến mục đích cải thiện chất lƣợng mã nguồn tăng tính sử dụng thực tiễn hệ thống Chỉ cần tải mã nguồn làm theo hƣớng dẫn triển khai hệ thống, doanh nghiệp có đƣợc hệ thống video chat đáp ứng đƣợc yêu cầu bản, đồng thời tự phát triển chức khác đáp ứng đƣợc yêu cầu riêng biệt doanh nghiệp 2.Công nghệ ứng dụng 2.1.Đánh giá chung WebRTC công nghệ mạnh mẽ, mở hƣớng giải cho nhiều ứng dụng mà thực đƣợc công nghệ cũ Việc thực streaming video chia sẻ liệu trở nên đơn giản hết WebRTC thực công nghệ mang tính chất thay đổi chơi video call chia sẻ liệu 2.2.Khả ứng dụng WebRTC có khả ứng dụng thuận tiện vào việc streaming video Nó miễn phí, mã nguồn mở, không cần thiết bị phần cứng để kết nối truyền tín hiệu, cần có trình duyệt streaming video chia sẻ liệu Ngoài ra, có chất lƣợng streaming liệu tƣơng đối ổn định có khả hỗ trợ thực ứng dụng di động Tuy nhiên nhiều hạn chế nhƣ trình duyệt khác hỗ trợ số lƣợng API WebRTC khác (IE Safari gần nhƣ không hỗ trợ), thuật toán mã hóa chƣa tối ƣu đƣợc phần cứng… 2.3.Hƣớng phát triển công nghệ o Hiện WebRTC sử dụng chuẩn mã hóa VP8, tới VP9 Google muốn sử dụng chuẩn so với H.26x vấn đề quyền Tuy nhiên, để có đƣợc hiệu chất lƣợng giao thời gian thực tốt thiết bị, thiết bị di động, phải cần đến tăng tốc phần cứng Tính đến thời điểm có H.264 H.265 Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 79 Luận văn tốt nghiệp đƣợc hỗ trợ tăng tốc phần cứng cách rộng rãi mà Do đó, vấn đề đƣợc đặt tìm giải pháp nâng cao chất lƣợng mã hóa miễn phí đạt chất lƣợng cao o Vấn đề hiệu toán streaming nhiều điểm với cần đƣợc tìm giải pháp tốt để cạnh tranh với công nghệ sử dụng media server trƣờng hợp o WebRTC giai đoạn hoàn thiện phát triển, hy vọng nỗ lực Google với WebRTC làm nên cách mạng truyền thông tƣơng lai Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 80 Luận văn tốt nghiệp TÀI LIỆU THAM KHẢO [1] Trang chủ WebRTC: http://webrtc.org/ [2].http://developer.android.com [3] https://vi.wikipedia.org/wiki/WebRTC [4] https://tools.ietf.org/ [5] “Real-Time Communication with WebRTC Peer-To-Peer in the browser”, by Salvatore Loreto, Simon Pietro Romano, April 2014 [6] Muaz Khan, Turn Server Installation Guide, https://www.webrtcexperiment.com/docs/TURN-server-installation-guide.html, 25 Apr 2016 [7].SamDutton, Getting Started With WebRTC ,http://www.html5rocks.com/en/tutorials/webrtc/basics/, Feb 2014 [8] http://servicelab.github.io/ [9] https://webrtchacks.com/reacting-to-react-native-for-native-webrtc-appsalexey-aylarov/ [10] https://aws.amazon.com/ [11] "WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web” by Alan B Johnston and Daniel C Burnett [12] https://github.com/facebook/react-native [13] Introduction to Cloud Computing – Dialogic [14] http://www.tutorialspoint.com/webrtc/ [15] http://stackoverflow.com/ Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 81 Luận văn tốt nghiệp PHỤ LỤC Một số hình ảnh kết đạt đƣợc giai đoạn Sử dụng Wowza Service Amazon để viết ứng dụng chat video: Giao diện phần mềm: Hình 30 Giao diện phần mềm Chat text: Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 82 Luận văn tốt nghiệp Hình 31 Chat text Chat video: Hình 32 Chat video Kết thử nghiệm giai đoạn Với Mobile Client giai đoạn demo Chƣa đƣa vào ứng dụng đƣợc Cần làm thêm chức để tích hợp nhƣ login, đặt phòng, lƣu trữ… để đƣa sản phẩm đƣa vào sử dụng thực tế Hƣớng dẫn cài đặt hệ thống Cài đặt môi trƣờng: Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 83 Luận văn tốt nghiệp Cài đặt môi trƣờng cần thiết cho Signaling Server Backend video chat, hai đƣợc deploy Cloud Server, cài đặt môi trƣờng cho thành phần nhƣ sau: - Cài đặt NodeJS, việc cài đặt NodeJS tham khảo : https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-anubuntu-14-04-server Cài đặt hệ thống BKRTC Service Signaling Server đƣợc viết tảng NodeJS sử dụng framework ExpressJS phù hợp với hosting Signaling Server đƣợc deploy VPS hệ điều hành Ubuntu, bƣớc deploy nhƣ sau:  Cài đặt Turn Server: https://code.google.com/archive/p/rfc5766-turnserver/  Clone mã nguồn từ bitbucket: https://bitbucket.org/videochatp2p/videochatsignalingserver  Cấu hình file config: mail config, authenticate config, database config  Chạy lệnh “npm install” để clone toàn thƣ viện project  Cài đặt pm2 để deploy project phiên production lệnh: sudo npm install –save pm2  Cấu hình Nginx thành Reverse Proxy Server cho hệ thống Bƣớc cấu hình Nginx xem document project  Deploy chạy lệnh: pm2 bin/www Cài đặt Backend video chat Backend hệ thống video chat đƣợc viết tảng ngôn ngữ NodeJS sử dụng framework ExpressJS Backend đƣợc deploy VPS hệ điều hành Ubuntu, bƣớc deploy nhƣ sau:  Cài đặt ffmpeg: https://gist.github.com/xdamman/e4f713c8cd1a389a5917  Clone mã nguồn từ bitbucket: https://bitbucket.org/videochatp2p/videochatbackend  Tạo file config: mail config, database config, app config với mẫu có sẵn folder config  Sửa file env mục đích lấy biến môi trƣờng, biến môi trƣờng tên user deploy  Chạy lệnh “npm install” để clone toàn thƣ viện project  Cài đặt pm2 để deploy project phiên production lệnh: sudo npm install –save pm2  Cấu hình Nginx thành Reverse Proxy Server cho hệ thống Bƣớc cấu hình Nginx xem document project  Deploy chạy lệnh: pm2 bin/www Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 84 Luận văn tốt nghiệp Cài đặt Frontend video chat Frontend hệ thống video chat đƣợc viết tảng framework JavaScript AngularJS, sử dụng Grunt để cấu hình deploy hệ thống, Bower để quản lý gói thành phần frontend Các bƣớc deploy nhƣ sau:  Clone mã nguồn từ bitbucket: https://bitbucket.org/videochatp2p/videochatfrontend  Cài đặt Git, NodeJS  Cài đặt Grunt Bower lệnh: npm install –global bower grunt-cli  Chạy lệnh “npm install” để clone thƣ viện, chạy “bower install” để clone gói thành phần dùng frontend  Để build frontend chạy lệnh: “grunt build”  Chạy phiên production dùng lệnh: “grunt serve:dist” Cài đặt Mobile Client Mobile Client hệ thoogns đƣợc viết tảng react-native sử dụng javascript ngôn ngữ Các bƣớc deploy hệ thống Mobile nhƣ sau:  Clone mã nguồn từ bitbucket: https://bitbucket.org/videochatp2p/android_ios_client  Cài đặt Git, NodeJS  Cài đặt thƣ viện react-native webrtc lệnh: npm install  Để build Mobile chạy lệnh: “react-native start” trình start kết thúc Có thể gần tiếng chạy lệnh  Chạy phiên Mobile tới thiết bị thực dùng lệnh: “react-native runandroid” “react-native run-iOS”  Theo dõi log hệ thống chạy thiết bị lệnh : “react-native log-android” “react-native log-iOS” Học viên thực hiện:Nguyễn Hoàng Linh-CA140213-Lớp 2014A-KTPM 85 ... đích nghiên cứu: Tìm hiểu công nghệ streaming video để xây dựng hệ thống chat video cho doanh nghiệp vừa nhỏ 3.2 Đối tƣợng nghiên cứu: o Hiện trạng hệ thống chat video Học viên thực hiện:Nguyễn... sử dụng SDK để phát triển hệ thống riêng doanh nghiệp o Xây dựng hệ thống chat video cho doanh nghiệp vừa nhỏ dựa SDK xây dựng o Phát triển hệ thống tảng khác nhƣ Web, Android, iOS… Học viên... với doanh nghiệp lớn, với nhiều lợi nhân lực, vật lực, kinh tế, thƣờng họ xây dựng sẵn hệ thống chat riêng mua hẳn hệ thống chat cho riêng doanh nghiệp với độ an toàn bảo mật cao Với doanh nghiệp

Ngày đăng: 25/07/2017, 21:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5]. “Real-Time Communication with WebRTC Peer-To-Peer in the browser”, by Salvatore Loreto, Simon Pietro Romano, April 2014 Sách, tạp chí
Tiêu đề: Real-Time Communication with WebRTC Peer-To-Peer in the browser
[11]. "WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web” by Alan B. Johnston and Daniel C. Burnett Sách, tạp chí
Tiêu đề: WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web
[1]. Trang chủ WebRTC: http://webrtc.org/ Link
[6]. Muaz Khan, Turn Server Installation Guide, https://www.webrtc- experiment.com/docs/TURN-server-installation-guide.html, 25 Apr 2016 Link
[7].SamDutton, Getting Started With WebRTC ,http://www.html5rocks.com/en/tutorials/webrtc/basics/, Feb 2014 Link

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w