Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
426,22 KB
Nội dung
Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 ĐẠI Báo cáo Đồ Án sở 4HỌC Báo cáo Đồ Án sở 4ĐÀ Báo cáo Đồ Án sở 4NẴNG KHOA Báo cáo Đồ Án sở 4CÔNG Báo cáo Đồ Án sở 4NGHỆ Báo cáo Đồ Án sở 4THÔNG Báo cáo Đồ Án sở 4TIN Báo cáo Đồ Án sở 4VÀ Báo cáo Đồ Án sở 4TRUYỀN Báo cáo Đồ Án sở 4THÔNG - - BÁO Báo cáo Đồ Án sở 4CÁO Báo cáo Đồ Án sở 4ĐỒ Báo cáo Đồ Án sở 4ÁN Báo cáo Đồ Án sở 4CƠ Báo cáo Đồ Án sở 4SỞ Báo cáo Đồ Án sở 44 ĐỀ Báo cáo Đồ Án sở 4TÀI: Báo cáo Đồ Án sở 4NGHIÊN Báo cáo Đồ Án sở 4CỨU Báo cáo Đồ Án sở 4KỸ Báo cáo Đồ Án sở 4THUẬT Báo cáo Đồ Án sở 4VÀ Báo cáo Đồ Án sở 4XÂY Báo cáo Đồ Án sở 4DỰNG WEBRTC Báo cáo Đồ Án sở 4VIDEOCALL Giảng viên hướng dẫn : ThS Nguyễn Anh Tuấn Sinh viên thực : Võ Văn Nhã Nguyễn Mậu Nhật Tường Lớp : 17IT3 Đà nẵng, tháng năm 2020 Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 LỜI Báo cáo Đồ Án sở 4MỞ Báo cáo Đồ Án sở 4ĐẦU 1 Dưới phát triển không ngừng ngành công nghệ thông tin xu tiến đến cách mạng công nghiệp 4.0 Để đáp ứng nhu cầu việc đơn giản hóa việc giao tiếp, giải pháp hoàn thiện đem đến cho người lợi ích truyền thông liên lạc Công nghệ WebRTC công nghệ phổ biến Được quan tâm giúp đỡ thầy cô giáo viên hướng dẫn ThS Nguyễn Anh Tuấn chúng em xin cảm ơn Khoa Cơng nghệ thơng tin nói chung xin cảm ơn thầy Tuấn nói riêng tạo điều kiện cho chúng em có hội tìm hiểu hoàn thành tiểu luận, báo cáo WebRTC Trong giới hạn tiểu luận báo cáo kết thúc môn học, nội dung báo cáo trình bày theo yêu cầu Đề tài Báo cáo Đồ Án sở 4“xây dựng WebRTC video call” danh mục “Danh sách đề tài đồ án sở 5” Khoa Công Nghệ Thông Tin Truyền Thông - Đại học Đà Nẵng, bao gồm: Chương 1: Mạng ngang hàng(P2P) ứng dụng Chương 2: WebRTC xây dựng WebRTC video call Được giúp đỡ tận tình Thầy giáo hướng dẫn, chúng em hoàn thành nhiệm vụ đề Tuy nhiên, với thời gian kiến thức có hạn, báo cáo chắn chắn cịn nhiều khiếm khuyết, em mong nhận góp ý chân thành Thầy giáo bạn Em xin chân thành cảm ơn! Sinh viên thực Võ Báo cáo Đồ Án sở 4Văn Báo cáo Đồ Án sở 4Nhã Nguyễn Báo cáo Đồ Án sở 4Mậu Báo cáo Đồ Án sở 4Nhật Báo cáo Đồ Án sở 4Tường Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 NHẬN XÉT …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… …………………………………………………………………………………………………………… Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 ĐẶT Báo cáo Đồ Án sở 4VẤN Báo cáo Đồ Án sở 4ĐỀ Cùng với bùng nổ công nghệ, người dùng Internet, nhu cầu giao tiếp, chia sẻ thông tin, trao đổi liệu ngày lớn Về chia sẻ thông tin liệu, giới có nhiều hình thức với cơng nghệ, giao thức, ứng dụng khác nhau, từ FTP, Email đến hình thức chia sẻ P2P (Peer-to-Peer) Bitorrent, ứng dụng dịch vụ cloud Dropbox, OneDrive, Google Drive… Về giao tiếp thời gian thực có ứng dụng messenger thành cơng người dùng chào đón Skype, Viber, Whatsapp, Line, Hangouts…Tuy nhiên, nhiều lý từ tốc độ, bảo mật an tồn thơng tin đặc biệt tiện dụng, tiếp tục có nghiên cứu để đơn giản hóa việc giao tiếp, chia sẻ liệu, hỗ trợ người dùng cách nhanh mà khơng địi hỏi phải thao tác nhiều hay cài đặt thêm plugin ứng dụng máy Cụ thể hơn, mong muốn sử dụng trình duyệt khơng để lướt web, check mail mà công cụ hỗ trợ tất nhu cầu từ chia sẻ file đến giao tiếp thời gian thực từ lâu nhen nhóm thực phát triển mạnh từ năm 2009 Ý tưởng ban đầu từ Google với dự án mã nguồn mở browser-based real-time communication, gọi WebRTC, mục đích tạo khả giao tiếp thời gian thực trình duyệt Đến WebRTC thiết kế để tích hợp với hệ thống truyền thông VoIP, SIP client khác nhau, chí mạng PSTN WebRTC tiếp tục phát triển, tổ chức tiêu chuẩn giới bàn thảo để chuẩn hóa giao thức, APIs trình duyệt để hỗ trợ WebRTC WebRTC vendor trình duyệt lớn hỗ trợ việc phát triển, đảm bảo trình duyệt kết nối trực tiếp với thực yêu cầu thời gian thực giao tiếp Điều mở giai đoạn Web, thực mang Web đến với giới viễn thông Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 CHƯƠNG Báo cáo Đồ Án sở 41 MẠNG Báo cáo Đồ Án sở 4NGANG Báo cáo Đồ Án sở 4HÀNG Báo cáo Đồ Án sở 4(P2P) Báo cáo Đồ Án sở 4VÀ Báo cáo Đồ Án sở 4CÁC Báo cáo Đồ Án sở 4ỨNG Báo cáo Đồ Án sở 4DỤNG 1.1 Báo cáo Đồ Án sở 4TỔNG Báo cáo Đồ Án sở 4QUAN Báo cáo Đồ Án sở 4VỀ Báo cáo Đồ Án sở 4MẠNG Báo cáo Đồ Án sở 4NGANG Báo cáo Đồ Án sở 4HÀNG Báo cáo Đồ Án sở 4(P2P) 1.1.1 Báo cáo Đồ Án sở 4Giới Báo cáo Đồ Án sở 4thiệu - Mạng ngang hàng (P2P) hay gọi Peer-To-Peer bắt đầu xuất từ năm 1999 thu hút quan tâm giới công nghệ thông tin năm gần Đặc biệt, việc áp dụng mơ hình P2P việc xây dựng ứng dụng chia sẻ file (file sharing), video call, điện thoại tảng Internet (Internet-based telephony) dã đạt nhiều thành công - Hiện nay, ứng dụng P2P chiếm khoảng 50% (thậm chí 75%) băng thơng Internet - Các ứng dụng kiểu mạng là: Napster,Skype, BitTorrent, v.v 1.1.2 Báo cáo Đồ Án sở 4Định Báo cáo Đồ Án sở 4nghĩa - Mạng ngang hàng kiểu mạng thiết kế cho thiết bị có chức khả thiết bị - Mạng P2P khơng có khái niệm trạm (client) hay máy chủ (server) mà có khái niệm nốt (peers) đóng vai trị client server Hình abc Mơ hình mạng ngang hàng (P2P) Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 - Mạng ngang hàng hệ thống phân tán đặc biệt tầng ứng dụng, cặp điểm nút giao tiếp với thơng qua giao thức định tuyến tầng mạng ngang hàng Mỗi điểm nút giữ đối tượng liệu nhạc, ảnh tài liệu, v.v… Mỗi điểm nút truy vấn tới đối tượng cần từ điểm nút khác thông qua kết nối logic tầng mạng ngang hàng 1.1.3 Báo cáo Đồ Án sở 4So Báo cáo Đồ Án sở 4sánh Báo cáo Đồ Án sở 4mô Báo cáo Đồ Án sở 4hình Báo cáo Đồ Án sở 4Client-Server Báo cáo Đồ Án sở 4và Báo cáo Đồ Án sở 4mô Báo cáo Đồ Án sở 4hình Báo cáo Đồ Án sở 4Peer-To-Peer: a Ưu điểm: Client-Server - Tốc độ truy cập nhanh - Khả mở rộng cao - Hoạt động với loại ứng dụng - Sử dụng với ứng dụng chia sẻ CSDL - Đáng tin cậy (có server riêng) Mức độ an tồn cao - - P2P Không cần Server riêng, nốt chia sẻ tài nguyên Khi mạng mở rộng khả hoạt động hệ thống tốt Rẻ Dễ cài đặt bảo trì Thuận lợi cho việc chia sẻ file, máy in, CD_ROM v.v… b Nhược điểm: Client-Server - Cần Server riêng (nghẽn cổ chai) - Đắt - Phức tạp việc bảo trì, trì hoạt động mạng P2P - Chậm - Không tốt cho ứng dụng CSDL - Kém tin cậy 1.1.4 Báo cáo Đồ Án sở 4Mục Báo cáo Đồ Án sở 4đích Báo cáo Đồ Án sở 4và Báo cáo Đồ Án sở 4ứng Báo cáo Đồ Án sở 4dụng Báo cáo Đồ Án sở 4của Báo cáo Đồ Án sở 4mạng Báo cáo Đồ Án sở 4P2P a Mục đích: Mạng ngang hàng hoạt động chủ yếu dựa vào khả tính tính tốn băng thông máy tham gia không tập trung vào số nhỏ server trung tâm mạng thông thường Tất máy mạng tham gia đóng góp tài nguyên, bao gồm băng thơng, lưu trữ khả tính tốn nên nhiều máy tham gia khả mạng mạnh b Ứng dụng: Sự đời mạng ngang hàng tạo cách thức quản lí cho hàng loạt lĩnh vực ứng dụng như: giao tiếp (communication), chia sẻ file (flie sharing), băng thông (bandwidth), vấn đề lưu trữ (storage), chu trình xử lí (processor cycles) Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 2.3 Báo cáo Đồ Án sở 4KHÁI Báo cáo Đồ Án sở 4NIỆM Báo cáo Đồ Án sở 4WEBRTC WebRTC không sản phẩm hay hàm API Nó tập hợp nhiều hàm lập trình viên sử dụng cho nhiều mục đích khác Có hàm để làm việc đơn giản đòi quyền truy cập vào webcam microphone máy tính, có hàm phức tạp để thiết lập kết nối hai người dùng với nhau, có hàm cịn dùng để chia sẻ hình với người khác Và có hàm để hai người gọi video cho nhau, chức "nổi tiếng" WebRTC tính đến thời điểm Tuy nhiên, tất hàm lập trình nằm API có điểm chung vơ quan trọng: chúng thực thi hầu hết tác vụ theo thời gian thực Đó lý chữ Real-Time xuất tên hàm Và khơng dùng cho việc gọi video hai trình duyệt mà người ta cịn làm nhiều chuyện khác, miễn chuyện có liên quan đến việc làm cho hai nhiều người dùng liên lạc với Trên trang web mình, WebRTC cho biết họ hỗ trợ thức Google, Mozilla, Opera nhiều đơn vị khác Mục đích cuối dự án nhằm "mang lại ứng dụng phong phú, chất lượng cao chạy theo thời gian thực phát triển lập trình viên cho trình duyệt, tảng di động, thiết bị Internet of Things, cho phép tất bọn chúng liên lạc với thông qua giao thức chung" Để sử dụng hàm lập trình WebRTC, lập trình viên xài nhiều loại ngơn ngữ lập trình quen thuộc: viết trang web họ quyền xài JavaScript, làm app cho Android dùng Java, viết cho iOS dùng Objective-C, cịn viết app cho Windows dùng C++ Gọi điện cho trình duyệt Chrome Android, khơng cần cài thêm Bên cạnh đó, CU-RTC-Web phần mở rộng Microsoft "cống hiến" cho WebRTC Nó viết tắt cho cụm từ Customizable, Ubiquitous Real Time Communication over the Web Giải thích thêm đóng góp mình, Microsoft cho biết tính "tùy biến" nằm chỗ ứng dụng phản hồi theo thời gian thực với chất lượng đường truyền Ví dụ, tốc độ mạng bị giảm đi, lập trình viên lệnh cho ứng dụng web chuyển sang dùng kênh âm thay cho kênh hình ảnh, chí ngừng hoạt động đến tín hiệu tốt trở lại Cịn thuộc tính "mọi lúc nơi" (Ubiquitous) có nghĩa người dùng giao tiếp với bạn bè mặc cho trình duyệt thiết bị sử dụng khác CU-RTC-Web hoạt động tốt sở hạ tầng mạng để đảm bảo tính tương thích cao Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 2.4 Báo cáo Đồ Án sở 4KIẾN Báo cáo Đồ Án sở 4TRÚC Báo cáo Đồ Án sở 4CỦA Báo cáo Đồ Án sở 4WEBRTC Kiến trúc tổng quan webRTC sau: Hình 2.1 Kiến trúc WebRTC Có lớp riêng biệt (distinct layers): Browser developers quan tâm đến WebRTC C++ API thành phần cốt lõi sâu Voice Engine , Video Engine , Transform Hay dễ hiểu âm thanh, video kết nối mạng Web App developers quan tâm tới Web API Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 2.5 Báo cáo Đồ Án sở 4THÀNH Báo cáo Đồ Án sở 4PHẦN Báo cáo Đồ Án sở 4TRONG Báo cáo Đồ Án sở 4CẤU Báo cáo Đồ Án sở 4TRÚC Báo cáo Đồ Án sở 4WEBRTC 2.5.1 Báo cáo Đồ Án sở 4Your Báo cáo Đồ Án sở 4web Báo cáo Đồ Án sở 4App Một ứng dụng phát triển developer bên thứ với video audio chat, xây dựng dựa Web API để kết nối thời gian thực 2.5.2 Báo cáo Đồ Án sở 4Web Báo cáo Đồ Án sở 4API Một API sử dụng developer bên thứ 3, để phát triển web video 2.5.3 Báo cáo Đồ Án sở 4WebRTC Báo cáo Đồ Án sở 4Native Báo cáo Đồ Án sở 4C++ Báo cáo Đồ Án sở 4API Một tầng API cho phép trình duyệt dễ dàng thực thi Web API 2.5.4 Báo cáo Đồ Án sở 4Transport Báo cáo Đồ Án sở 4/ Báo cáo Đồ Án sở 4Session Các session componnent xây dựng bời việc sử dụng lại component từ libjingle, không yêu cầu sử dụng giao thức xmpp/jingle Transport: cung cấp chức kết nối với thành phần khác tham gia WebRTC (STUN, TURN, ICE ) Session: đóng vai trị điều khiển hoạt động ứng dụng 2.5.5 Báo cáo Đồ Án sở 4RTP Báo cáo Đồ Án sở 4Stack Một network stack cho RTP (Real Time Protocol) 2.5.6 Báo cáo Đồ Án sở 4STUN/ICE Một thành phần cho phép gọi sử dụng STUN ICE để thiết lập kết nối thông qua loại mạng khác 2.5.7 Báo cáo Đồ Án sở 4Session Báo cáo Đồ Án sở 4Management Một lớp session trừu tượng (abstracted session layer) cho phép thiết lập gọi lớp quản lý 2.5.8 Báo cáo Đồ Án sở 4VoiceEngine VoiceEngine framework cho audio media chain, từ card âm tới mạng Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 2.5.9 Báo cáo Đồ Án sở 4iSAC Báo cáo Đồ Án sở 4/ Báo cáo Đồ Án sở 4iLBC Báo cáo Đồ Án sở 4/ Báo cáo Đồ Án sở 4Opus iSAC: Một băng tần rộng (wideband) băng tần siêu rộng (super wideband) audio codec cho VoIP streaming audio iSAC sử dụng tần số 16 kHz 32 kHz ví dụ thương xuyên với adaptive biến bitrate 12 - 52kbps Codec thiết bị chương trình máy tính có khả mã hóa giải mã dịng liệu tín hiệu Từ "codec" từ kết hợp cụm từ sau: 'CompressorDecompressor', 'Coder-Decoder', 'Compression/Decompression algorithm' Các codec mã hóa dịng liệu tín hiệu để truyền tải, lưu trữ, bảo mật giải mã để xem sửa đổi Các codec thường sử dụng giải pháp hội nghị truyền hình streaming media Một máy quay biến đổi tín hiệu sang tín hiệu số, sau chuyển qua nén video để truyền tải tín hiệu số Một thiết bị nhận chuyển tín hiệu qua giải nén video, sau thiết bị biến đổi từ tín hiệu số sang tín hiệu để thể nội dung Một giải nén âm biến đổi tín hiệu âm sang tín hiệu số để truyền tải Một thiết bị nhận biến đổ tín hiệu số trở lại tín hiệu thông qua giải nén âm để phát lại nội dung iLBC: Một narrowband speech codec cho VoIP streaming audio Sử dụng tần số kHz với bitrate of 15.2 kbps cho 20ms khung 13.33 kbps cho 30ms khung Định nghĩa IETF RFCs 3951 3952 Opus: hỗ trợ biến bitrate mã hóa từ kbit/s tới 510 kbit/s, khung size từ 2.5 ms tới 60 ms Được định nghĩa IETF RFC 6176 NetEQ cho Voice 10 Báo cáo Đồ Án sở 4Báo Báo cáo Đồ Án sở 4cáo Báo cáo Đồ Án sở 4Đồ Báo cáo Đồ Án sở 4Án Báo cáo Đồ Án sở 4cơ Báo cáo Đồ Án sở 4sở Báo cáo Đồ Án sở 44 2.5.10 Báo cáo Đồ Án sở 4NetEQ Một đệm jitter động thuật toán che giấu lỗi sử dụng để che giấu tác động tiêu cực jitter mạng gói Giữ độ trễ thấp tốt trì chất lượng giọng nói cao 2.5.11 Báo cáo Đồ Án sở 4Acoustic Báo cáo Đồ Án sở 4Echo Báo cáo Đồ Án sở 4Canceler Báo cáo Đồ Án sở 4(AEC) The Acoustic Echo Canceler phần mềm dựa thành phẫn xử lý tín hiệu xóa Trong real time, acoustic cho kết từ voice chạy tới mircrophone hoạt động 2.5.12 Báo cáo Đồ Án sở 4Noise Báo cáo Đồ Án sở 4Reduction Báo cáo Đồ Án sở 4(NR) Noise Reduction component phần mềm dựa thành phần xử lý tín hiệu, nhằm loại bỏ loại tiếng ồn kết hợp với VoIP (Hiss, fan noise, etc…) 2.5.13 Báo cáo Đồ Án sở 4VideoEngine VideoEngine framework video media chain cho video, từ camera tới mạng, từ mạng tới hình 2.5.14 Báo cáo Đồ Án sở 4VP8 Video codec từ dự án WebM Nó phù hợp với RTC thiết kế cho độ trễ thấp (low latency) 2.5.15 Báo cáo Đồ Án sở 4Video Báo cáo Đồ Án sở 4Jitter Báo cáo Đồ Án sở 4Buffer Jitter Buffer động cho video Giúp che giấu ảnh hưởng jitter packet bị toàn chất lượng video 2.5.16 Báo cáo Đồ Án sở 4Image Báo cáo Đồ Án sở 4enhancements Ví dụ xóa tiếng ồn video từ ảnh quay webcam