SlideShare una empresa de Scribd logo
1 de 22
https://bap.jp
Nội dung
 Chia sẻ công nghệ WebRTC
 Giới thiệu khái quát, ứng dụng
 Cấu trúc core thư viện
 Signaling Server
 Basic WebRTC call flow
 Vấn đề Firewall và NAT
 Demo tính năng video call của sản phẩm công ty tự phát triển
 Tài liệu tham khảo
 Q&A
Mục tiêu
 Giới thiệu công nghệ, cung cấp các keyword để có thể tự nghiên cứu.
 Giới thiệu kiến trúc, các thành phần chính quan trọng của WebRTC.
 Trao đổi trả lời thắc mắc của sinh viên.
WebRTC
WebRTC (video giới thiệu)
WebRTC là gì?
 Tập hợp các hàm lập trình dùng cho việc liên lạc thời gian thực chất lượng cao
bằng video, âm thanh cũng như các loại dữ liệu khác.
 Hỗ trợ đa nền tảng: Browsers(Chrome, Firefox, ...), mobile platforms (android,
ios), IoT devices,...
 Đơn giản, dễ sử dụng, nhà phát triển cá nhân có thể tự mình phát triển.
 Không phải cài các plugin bên thứ 3, hoàn toàn miễn phí.
Ứng dụng thực tế
 Ứng dụng video call, voice call giữa trình duyệt với trình duyệt, trình duyệt với
mobile, mobile với mobile
 Ứng dụng trao đổi dữ liệu thời gian thực giữa hai hoặc nhiều thiết bị với nhau mà
không nhất thiết phải đi qua server trung gian
https://appear.in
https://www.pubnub.com
Phần core thư viện
Signaling Server
Kênh 1 chiều vs Kênh 2 chiều
 Sự khác nhau của chúng là gì?
 Keywords: REGULAR HTTP, AJAX POLLING, AJAX LONG-POLLING,
WEBSOCKETS, SOCKET.IO
 Tài liệu:
- https://calavikevin.wordpress.com/2014/05/10/gioi-thieu-ky-thuat-long-polling-
websockets-server-sent-events-comet/
- https://socket.io/
Kênh 1 chiều
Kênh 2 chiều
Luồng cơ bản của
call sử dụng WebRTC
Các APIs chính
 MediaStream
Truy cập tới dữ liệu của thiết bị, ví dụ thông qua camera, microphone
 RTCPeerConnection
Audio hoặc video calling, thuận tiện cho việc mã hoá cũng như quản lý băng
thông
 RTCDataChannel
Kêt nối peer-to-peer cho việc truyền tải dữ liệu
Vấn đề Firewall và NAT
 WebRTC truyền dữ liệu "Peer-to-Peer" có nghĩa là nếu A muốn giao tiếp với bồ
của A là B thì bước đầu tiên A và B phải biết địa chỉ nhà của nhau để mà gởi thư
tình. Vậy việc đầu tiên cần làm là phải tạo kết nối "Peer-to-Peer"
 Thông thường thì nếu gia đình của A và B đều thoải mái, cho con cháu giao lưu tứ
tung thì vô tư đi A cứ gởi thư cho B và B reply cho A. Đời cứ thế mà trôi đi đơn
giản vậy thôi :D . Nhưng đối với một số gia đình hơi khó khăn tý thì việc tạo kết
nối "Peer-to-Peer" giữa A và B sẽ bị cản trở. Nên giống như các hệ thống VoIP,
WebRTC cũng bị cản trở khi tạo kết nối peer-to-peer bởi Firewall và NAT. Vậy
Firewall là gì và NAT là gì?
Nếu mọi thứ đều đơn giản
Nhưng thực tế thì
Vậy nên ta cần TURN
Demo video call, voice call
Tài liệu
 https://webrtc.org
 https://www.html5rocks.com/en/tutorials/webrtc/basics
 https://socket.io
 https://www.webrtc-experiment.com/docs/TURN-server-installation-guide.html
Q&A
 Hỏi là có quà – Chỉ có quà to và rất to - Câu hỏi hay nhất được quà rất to
Cảm ơn các bạn đã lắng nghe

Más contenido relacionado

Similar a [DevDay 2017] WebRTC: Công nghệ trao đổi video, âm thanh, dữ liệu thời gian thực qua kết nối PvP - Speaker: Quan Nguyen - Deputy Director at BAP

Viet framework - Poly sáng tạo 2016 - Sinh viên FPT Polytechnic
Viet framework - Poly sáng tạo 2016 - Sinh viên FPT PolytechnicViet framework - Poly sáng tạo 2016 - Sinh viên FPT Polytechnic
Viet framework - Poly sáng tạo 2016 - Sinh viên FPT PolytechnicFPT Polytechnic
 
E Com Ch00 Internet Web
E Com Ch00 Internet WebE Com Ch00 Internet Web
E Com Ch00 Internet WebChuong Nguyen
 
10 Python framework hàng đầu để phát triển web năm 2022
10 Python framework hàng đầu để phát triển web năm 202210 Python framework hàng đầu để phát triển web năm 2022
10 Python framework hàng đầu để phát triển web năm 2022ITguru.vn
 
Baigiang21 mang thong-tin-toan-cau-internet
Baigiang21 mang thong-tin-toan-cau-internetBaigiang21 mang thong-tin-toan-cau-internet
Baigiang21 mang thong-tin-toan-cau-internetquangaxa
 
Bai1 tong quan PHP
Bai1 tong quan PHPBai1 tong quan PHP
Bai1 tong quan PHPWIN_DON
 
Silverlight chapter 1
Silverlight chapter 1Silverlight chapter 1
Silverlight chapter 1hthuyet
 
Ltw0 baimodau
Ltw0 baimodauLtw0 baimodau
Ltw0 baimodauHoa Dại
 
Thương mại điện tử - Chương 1
Thương mại điện tử - Chương 1Thương mại điện tử - Chương 1
Thương mại điện tử - Chương 1Duy Trung
 
Luận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpress
Luận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpressLuận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpress
Luận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpressnataliej4
 
Báo cáo thực tập cuối kỳ
Báo cáo thực tập cuối kỳBáo cáo thực tập cuối kỳ
Báo cáo thực tập cuối kỳ0909128965
 
Chapter8 application layer
Chapter8 application layerChapter8 application layer
Chapter8 application layerNghia Simon
 
Module6_Chuẩn kỹ năng sử dụng CNTT cơ bản
Module6_Chuẩn kỹ năng sử dụng CNTT cơ bảnModule6_Chuẩn kỹ năng sử dụng CNTT cơ bản
Module6_Chuẩn kỹ năng sử dụng CNTT cơ bảntiennd67
 
Vnpt meeting aver true_conf_vidyo
Vnpt meeting aver true_conf_vidyoVnpt meeting aver true_conf_vidyo
Vnpt meeting aver true_conf_vidyolaonap166
 

Similar a [DevDay 2017] WebRTC: Công nghệ trao đổi video, âm thanh, dữ liệu thời gian thực qua kết nối PvP - Speaker: Quan Nguyen - Deputy Director at BAP (20)

Basic VOIP
Basic VOIPBasic VOIP
Basic VOIP
 
Viet framework - Poly sáng tạo 2016 - Sinh viên FPT Polytechnic
Viet framework - Poly sáng tạo 2016 - Sinh viên FPT PolytechnicViet framework - Poly sáng tạo 2016 - Sinh viên FPT Polytechnic
Viet framework - Poly sáng tạo 2016 - Sinh viên FPT Polytechnic
 
E Com Ch00 Internet Web
E Com Ch00 Internet WebE Com Ch00 Internet Web
E Com Ch00 Internet Web
 
10 Python framework hàng đầu để phát triển web năm 2022
10 Python framework hàng đầu để phát triển web năm 202210 Python framework hàng đầu để phát triển web năm 2022
10 Python framework hàng đầu để phát triển web năm 2022
 
Baigiang21 mang thong-tin-toan-cau-internet
Baigiang21 mang thong-tin-toan-cau-internetBaigiang21 mang thong-tin-toan-cau-internet
Baigiang21 mang thong-tin-toan-cau-internet
 
Karaoke mobile
Karaoke mobile Karaoke mobile
Karaoke mobile
 
Bai1 tong quan PHP
Bai1 tong quan PHPBai1 tong quan PHP
Bai1 tong quan PHP
 
Silverlight chapter 1
Silverlight chapter 1Silverlight chapter 1
Silverlight chapter 1
 
Chương 2.pdf
Chương 2.pdfChương 2.pdf
Chương 2.pdf
 
1.khai niem can ban
1.khai niem can ban1.khai niem can ban
1.khai niem can ban
 
Ltw0 baimodau
Ltw0 baimodauLtw0 baimodau
Ltw0 baimodau
 
Thương mại điện tử - Chương 1
Thương mại điện tử - Chương 1Thương mại điện tử - Chương 1
Thương mại điện tử - Chương 1
 
Luận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpress
Luận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpressLuận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpress
Luận văn xây dựng cổng thông tin điện tử ubnd tỉnh quảng bình bằng wordpress
 
Cơ sở lý thuyết về hệ thống điều khiển và giám sát các thiết bị trong nhà.docx
Cơ sở lý thuyết về hệ thống điều khiển và giám sát các thiết bị trong nhà.docxCơ sở lý thuyết về hệ thống điều khiển và giám sát các thiết bị trong nhà.docx
Cơ sở lý thuyết về hệ thống điều khiển và giám sát các thiết bị trong nhà.docx
 
Báo cáo thực tập cuối kỳ
Báo cáo thực tập cuối kỳBáo cáo thực tập cuối kỳ
Báo cáo thực tập cuối kỳ
 
Iptv
IptvIptv
Iptv
 
Chuong1@tkw
Chuong1@tkwChuong1@tkw
Chuong1@tkw
 
Chapter8 application layer
Chapter8 application layerChapter8 application layer
Chapter8 application layer
 
Module6_Chuẩn kỹ năng sử dụng CNTT cơ bản
Module6_Chuẩn kỹ năng sử dụng CNTT cơ bảnModule6_Chuẩn kỹ năng sử dụng CNTT cơ bản
Module6_Chuẩn kỹ năng sử dụng CNTT cơ bản
 
Vnpt meeting aver true_conf_vidyo
Vnpt meeting aver true_conf_vidyoVnpt meeting aver true_conf_vidyo
Vnpt meeting aver true_conf_vidyo
 

Más de DevDay.org

[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at Wizeline
[DevDay2019] Lean UX - By  Bryant Castro,  Bryant Castro at Wizeline[DevDay2019] Lean UX - By  Bryant Castro,  Bryant Castro at Wizeline
[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at WizelineDevDay.org
 
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...DevDay.org
 
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...DevDay.org
 
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at WizelineDevDay.org
 
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...DevDay.org
 
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...DevDay.org
 
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...DevDay.org
 
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...DevDay.org
 
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...DevDay.org
 
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...DevDay.org
 
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMSDevDay.org
 
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...DevDay.org
 
[Devday2019] Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
[Devday2019]  Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...[Devday2019]  Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
[Devday2019] Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...DevDay.org
 
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...DevDay.org
 
[DevDay2019] Opportunities and challenges for human resources during the digi...
[DevDay2019] Opportunities and challenges for human resources during the digi...[DevDay2019] Opportunities and challenges for human resources during the digi...
[DevDay2019] Opportunities and challenges for human resources during the digi...DevDay.org
 
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...DevDay.org
 
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...DevDay.org
 
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...DevDay.org
 
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...DevDay.org
 
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IODevDay.org
 

Más de DevDay.org (20)

[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at Wizeline
[DevDay2019] Lean UX - By  Bryant Castro,  Bryant Castro at Wizeline[DevDay2019] Lean UX - By  Bryant Castro,  Bryant Castro at Wizeline
[DevDay2019] Lean UX - By Bryant Castro, Bryant Castro at Wizeline
 
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
[DevDay2019] Why you'll lose without UX Design - By Szilard Toth, CTO at e·pi...
 
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
[DevDay2019] Things i wish I knew when I was a 23-year-old Developer - By Chr...
 
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
[DevDay2019] Designing design teams - Christopher Nguyen, UX Manager at Wizeline
 
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
[DevDay2019] Growth Hacking - How to double the benefits of your startup with...
 
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
 
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
 
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
[DevDay2019] Hands-on Machine Learning on Google Cloud Platform - By Thanh Le...
 
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
[DevDay2019] Micro Frontends Architecture - By Thang Pham, Senior Software En...
 
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
 
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
[DevDay2019] How do I test AI models? - By Minh Hoang, Senior QA Engineer at KMS
 
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
[DevDay2019] How to quickly become a Senior Engineer - By Tran Anh Minh, CEO ...
 
[Devday2019] Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
[Devday2019]  Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...[Devday2019]  Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
[Devday2019] Dev start-up - By Le Trung, Founder & CEO at Hifiveplus and Edu...
 
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
[DevDay2019] Web Development In 2019 - A Practical Guide - By Hoang Nhu Vinh,...
 
[DevDay2019] Opportunities and challenges for human resources during the digi...
[DevDay2019] Opportunities and challenges for human resources during the digi...[DevDay2019] Opportunities and challenges for human resources during the digi...
[DevDay2019] Opportunities and challenges for human resources during the digi...
 
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
[DevDay2019] Python Machine Learning with Jupyter Notebook - By Nguyen Huu Th...
 
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
[DevDay2019] Do you dockerize? Are your containers safe? - By Pham Hong Khanh...
 
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...
[DevDay2019] Develop a web application with Kubernetes - By Nguyen Xuan Phong...
 
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
[DevDay2019] Paradigm shift towards effective Scrum - By Tam Doan, Agile Coac...
 
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
[DevDay2019] JAM Stack - By Ngo Thi Ni, Web Developer at Agility IO
 

[DevDay 2017] WebRTC: Công nghệ trao đổi video, âm thanh, dữ liệu thời gian thực qua kết nối PvP - Speaker: Quan Nguyen - Deputy Director at BAP

  • 2. Nội dung  Chia sẻ công nghệ WebRTC  Giới thiệu khái quát, ứng dụng  Cấu trúc core thư viện  Signaling Server  Basic WebRTC call flow  Vấn đề Firewall và NAT  Demo tính năng video call của sản phẩm công ty tự phát triển  Tài liệu tham khảo  Q&A
  • 3. Mục tiêu  Giới thiệu công nghệ, cung cấp các keyword để có thể tự nghiên cứu.  Giới thiệu kiến trúc, các thành phần chính quan trọng của WebRTC.  Trao đổi trả lời thắc mắc của sinh viên.
  • 6. WebRTC là gì?  Tập hợp các hàm lập trình dùng cho việc liên lạc thời gian thực chất lượng cao bằng video, âm thanh cũng như các loại dữ liệu khác.  Hỗ trợ đa nền tảng: Browsers(Chrome, Firefox, ...), mobile platforms (android, ios), IoT devices,...  Đơn giản, dễ sử dụng, nhà phát triển cá nhân có thể tự mình phát triển.  Không phải cài các plugin bên thứ 3, hoàn toàn miễn phí.
  • 7. Ứng dụng thực tế  Ứng dụng video call, voice call giữa trình duyệt với trình duyệt, trình duyệt với mobile, mobile với mobile  Ứng dụng trao đổi dữ liệu thời gian thực giữa hai hoặc nhiều thiết bị với nhau mà không nhất thiết phải đi qua server trung gian https://appear.in https://www.pubnub.com
  • 10. Kênh 1 chiều vs Kênh 2 chiều  Sự khác nhau của chúng là gì?  Keywords: REGULAR HTTP, AJAX POLLING, AJAX LONG-POLLING, WEBSOCKETS, SOCKET.IO  Tài liệu: - https://calavikevin.wordpress.com/2014/05/10/gioi-thieu-ky-thuat-long-polling- websockets-server-sent-events-comet/ - https://socket.io/
  • 13. Luồng cơ bản của call sử dụng WebRTC
  • 14. Các APIs chính  MediaStream Truy cập tới dữ liệu của thiết bị, ví dụ thông qua camera, microphone  RTCPeerConnection Audio hoặc video calling, thuận tiện cho việc mã hoá cũng như quản lý băng thông  RTCDataChannel Kêt nối peer-to-peer cho việc truyền tải dữ liệu
  • 15. Vấn đề Firewall và NAT  WebRTC truyền dữ liệu "Peer-to-Peer" có nghĩa là nếu A muốn giao tiếp với bồ của A là B thì bước đầu tiên A và B phải biết địa chỉ nhà của nhau để mà gởi thư tình. Vậy việc đầu tiên cần làm là phải tạo kết nối "Peer-to-Peer"  Thông thường thì nếu gia đình của A và B đều thoải mái, cho con cháu giao lưu tứ tung thì vô tư đi A cứ gởi thư cho B và B reply cho A. Đời cứ thế mà trôi đi đơn giản vậy thôi :D . Nhưng đối với một số gia đình hơi khó khăn tý thì việc tạo kết nối "Peer-to-Peer" giữa A và B sẽ bị cản trở. Nên giống như các hệ thống VoIP, WebRTC cũng bị cản trở khi tạo kết nối peer-to-peer bởi Firewall và NAT. Vậy Firewall là gì và NAT là gì?
  • 16. Nếu mọi thứ đều đơn giản
  • 18. Vậy nên ta cần TURN
  • 19. Demo video call, voice call
  • 20. Tài liệu  https://webrtc.org  https://www.html5rocks.com/en/tutorials/webrtc/basics  https://socket.io  https://www.webrtc-experiment.com/docs/TURN-server-installation-guide.html
  • 21. Q&A  Hỏi là có quà – Chỉ có quà to và rất to - Câu hỏi hay nhất được quà rất to
  • 22. Cảm ơn các bạn đã lắng nghe