future internet - webrtc

29
Truyền thông thời gian thực WebRTC Topic: Future Internet Nguyễn Văn Quyền Nhữ Bảo Vũ 1

Upload: vu-nhu-bao

Post on 07-Aug-2015

76 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Future Internet - WebRTC

Truyền thông thời gian thực

WebRTCTopic: Future Internet

Nguyễn Văn Quyền

Nhữ Bảo Vũ

1

Page 2: Future Internet - WebRTC

Nội dung trình bày

1

• Giới thiệu tổng quan

• Tính phổ biến và tiềm năng phát triển

• Tính cách mạng của WebRTC

2

• Kiến trúc và kỹ thuật bên trong WebRTC

• Quá trình tín hiệu WebRTC Signaling

• So sánh WebRTC với VoIP truyền thống

3

• Các nền tảng hỗ trợ WebRTC

• Mô hình ứng dụng và thử nghiệm

• Kết luận

2

Page 3: Future Internet - WebRTC

Giới thiệu tổng quan

WebRTC (Web Real Time Communication) là tập hợp các

tiêu chuẩn và giao thức cho phép các trình duyệt Web thực

hiện trực tiếp các tính năng truyền thông đa phương tiện thời

gian thực như gọi điện, truyền hình, truyền dữ liệu, gửi tin

nhắn bằng các API JavaScript.

3

Page 4: Future Internet - WebRTC

Giới thiệu tổng quan

Ý tưởng WebRTC được đưa ra bởi nhóm phát triển Google

Hangouts từ năm 2009.

Mục tiêu của dự án là kết nối máy tính, điện thoại, tivi, … và

thực hiện được các cuộc gọi thông qua 1 nền tảng chung.

Việc giao tiếp của chúng ta sẽ dễ hàng hơn và điều này có

thể thay thế các phương phức liên lạc hiện có.

Điểm đột phá của WebRTC là có thể tham gia ngay cuộc hội

thoại ngay trên trình duyệt. (no install + no plugins).

10/02/2015, WebRTC 1.0 chính thức được công bố.

4

Page 5: Future Internet - WebRTC

Tính phổ biến và tiềm năng phát triển

Tính đến cuối 2013, đã có hơn 1 tỉ thiết bị được kích hoạt sử

dụng WebRTC

Dự báo tăng lên 4 tỷ vào năm 2016, trong đó có khoảng 1,5

tỷ người dùng thường xuyên. @disruptivedean

WebRTC có thể hoạt động trên bất cứ thiết bị nào có cài một

trong các trình duyệt hỗ trợ WebRTC.

Khảo sát: http://www.dialogic.com/en/landing/webrtcsurvey-results.aspx

5

Page 6: Future Internet - WebRTC

Tính cách mạng của WebRTC

VoIP là một thị trường tương đối đóng, đặc biệt là khi so với

những gì đang diễn ra với các công nghệ trên nền web.

WebRTC làm đơn giản hóa rất nhiều công nghệ cho các nhà

phát triển. Mã nguồn mở và miễn phí.

Tiếp cận được với số đông các nhà phát triển web – một

nhóm lớn hơn nhiều so với các chuyên gia VoIP.

6

Page 7: Future Internet - WebRTC

Tổng quan kiến trúc WebRTC7

Page 8: Future Internet - WebRTC

WebRTC API

MediaStream (aka getUserMedia): truy cập audio, video

RTCPeerConnection: giao tiếp audio và video, trao đổi SDP,

chạy thuật toán vượt NAT.

RTCDataChannel: truyền dữ liệu tùy ý peer-to-peer.

8

Page 9: Future Internet - WebRTC

Media Stream (aka getUserMedia)

<video> trong html5

Ràng buộc: {video: true, audio: true}

9

Page 10: Future Internet - WebRTC

Media Stream (aka getUserMedia)10

Page 11: Future Internet - WebRTC

Quá trình tín hiệu WebRTC Signaling

WebRTC sử dụng RTCPeerConnection để streaming dữ liệu qua các trình duyệt,

nhưng cần 1 cơ chế điều phối giao tiếp và gửi thông điệp điều khiển.

Quá trình tín hiệu được sử dụng và trao đổi 3 loại thông tin:

Session control messages: để khởi tạo, đóng phiên truyền thông và báo cáo lỗi.

Network configuration: thông tin mạng bên ngoài, bandwidth, ip và port ?

Media capabilities: chứa thông tin bộ mã hóa, độ phân giải có thể được xử lý bởi trình

duyệt gọi đi và trình duyệt gọi đến.

Việc trao đổi tín hiệu thông tin phải hoàn tất trước khi quá trình streaming peer-to-

peer bắt đầu.

11

Page 12: Future Internet - WebRTC

Quá trình tín hiệu WebRTC Signaling12

Page 13: Future Internet - WebRTC

Quá trình tín hiệu WebRTC Signaling13

Page 14: Future Internet - WebRTC

Quá trình tín hiệu WebRTC Signaling

An RTCSessionDescription

Bản tin SDP

14

Page 15: Future Internet - WebRTC

Ví dụ khởi tạo RTCPeerConnection15

Page 16: Future Internet - WebRTC

Các phương pháp truyền tín hiệu

Người phát triển quyết định (*)

16

Kỹ thuật Ưu điểm Yêu cầu phía máy chủ

WebSocket Không yêu cầu 1 hạ tầng

tín hiệu

Máy chủ WebSocket được cài

đặt theo giao thức riêng

XHR Không yêu cầu 1 hạ tầng

tín hiệu

Máy chủ Web cài đặt theo giao

thức riêng

SIP over WebSocket Dễ dàng tương tác với

SIP

SIP Registrar/Proxy Server có

hỗ trợ SIP over WebSocket

XMPP/Jingle Dễ dàng tương thích với

XMPP clients

XMPP Server có hỗ trợ XMPP

WebSocket transport

Data Channel Độ trễ tín hiệu thấp và

nâng cao bảo mật

WebSocket hoặc WebServer

cài đặt thiết lập Data Channel

Page 17: Future Internet - WebRTC

Kênh dữ liệu RTCDataChannel

Giao tiếp dữ liệu bất kỳ peer-to-peer

Same API as WebSockets

Ultra-low latency

Unreliable or reliable

Secure

17

Page 18: Future Internet - WebRTC

Mô hình lý tưởng18

Page 19: Future Internet - WebRTC

Mô hình thực tế có STUN và TURN19

Page 20: Future Internet - WebRTC

Security

Bắt buộc mã hóa đối với media và data

Secure UI, explicit opt-in

Sandboxed, no plugins

20

Page 21: Future Internet - WebRTC

So sánh WebRTC với VoIP truyền thống

Classic VoIP WebRTC

Signaling SIP, XMPP or H.323 in most cases Undefined

Media

transport

RTP/RTCP RTP/RTCP

Security SRTP in SIP,H.235 in H.323 SRTP

NAT

traversal

STUN/TURN/ICE in SIP,H.450.x in

H.323

STUN/TURN/ICE

Video

codecs

H.263, H.264 VP8, H.264

Voice

codecs

G.7xx series of codecs G.711, iLBC, iSAC

Network IPV4 / IPV6

21

Page 22: Future Internet - WebRTC

Các nền tảng hỗ trợ WebRTC

Browsers:

Chrome

Chrome for Android

Firefox

Opera

Native Java and Objective-C bindings

Phones and more

sipML5 open source JavaScript SIP client

Phono open source JavaScript phone API

Zingaya embeddable phone widget

22

Page 23: Future Internet - WebRTC

Network topologies

Peer to peer: one-to-one call

Fello.in – Tư vấn khách hàng, khám bệnh trực tuyến

23

Page 24: Future Internet - WebRTC

Network topologies

Mesh: small N-way call

Room43.in – Phòng họp trực

tuyến

24

Page 25: Future Internet - WebRTC

Network topologies

Star: medium N-way call

Meetingui.com phục vụ học trực tuyến

25

Page 26: Future Internet - WebRTC

Network topologies

MCU: large N-way call

26

Page 27: Future Internet - WebRTC

27

Page 28: Future Internet - WebRTC

Kết luận

WebRTC sẽ trở lên phổ biến và thân thiện trong truyền thông trong

khoảng 10 năm tới

Nó đã sẵn sàng và đang được sử dụng (WebRTC 1.0, February 10, 2015)

“Khuynh hướng” tiếng nói và truyền hình được đưa vào Web và các ứng

dụng

Trao đổi dữ liệu thời gian thực

Là một hệ sinh thái mới cho các nhà phát triển, các công ty viễn thông,

nhà cung cấp dịch vụ cloud.

Chi phí thấp, truyền thông audio video chất lượng cao.

Đa dạng nền tảng, không chỉ chạy trên các trình duyệt. Hàng tỉ thiết bị và

hàng tỉ người dùng !

28

Page 29: Future Internet - WebRTC

Tài liệu tham khảo

Twitter: @webrtc, @disruptivedean, @dialogic, @nhubaovu

WebRTC presentation at Google I/O 2013

http://io13webrtc.appspot.com/

Dialogic WebRTC Impact Survey, 2013

http://www.dialogic.com/en/landing/webrtcsurvey-results.aspx

Google Groups (discuss-webrtc)

https://groups.google.com/forum/#!forum/discuss-webrtc

The leading authority on WebRTC

https://bloggeek.me/webrtc/

Getting Started with WebRTC

http://www.html5rocks.com/en/tutorials/webrtc/basics/

29