WebRTC là gì?
WebRTC là một tập hợp các API viết bằng javascript, cho phép các trình duyệt giao tiếp với nhau theo thời gian thực. Các tính năng của WebRTC là gì? Cũng như lợi ích mà nó mang lại sẽ được tóm tắt trong bài này, mời độc giả xem tiếp!![]() |
WebRTC được nhóm kỹ sư chịu trách nhiệm cho Google Hangouts đưa ra từ tận năm 2009 |
Các lập trình viên mặc dù rất thích thú với khả năng đáng kinh ngạc của WebRTC. Họ vẫn cảm thấy khó khăn trong việc làm quen với nó, ngay cả trong việc nắm bắt những kiến thức cơ bản, bởi vì nó đưa ra một lượng hàm APIs và giao thức mới rất đa dạng. Bài viết này sẽ giải thích và giúp bạn tạo ra một ứng dụng WebRTC đơn giản.
Công dụng của WebRTC là gì?
Tính năng nổi bật nhất của WebRTC là khả năng truyền tải video, âm thanh, gửi dữ liệu theo thời gian thực. Nó được truyền tải giữa hai hay nhiều thiết bị mà không qua trung gian. Đặc biệt là không cần cài thêm plugin.![]() |
WebRTC có thể được sử dụng cho truyền tải video, âm thanh cho đến gửi dữ liệu theo thời gian thực |
Trang web Appear.in từng là một trong những trang web sử dụng WebRTC khá nổi tiếng. Trang này cung cấp dịch vụ tạo phòng chat video nhanh chóng mà không cần cài đặt thêm bất kì plugin nào, không cần đăng nhập tài khoản.
Không chỉ các ứng dụng mà WebRTC còn được sử dụng cho việc tạo ra các tựa game trên trình duyệt. Người chơi chỉ cần sử dụng trình duyệt có hỗ trợ WebRTC để chơi, không cần cài đặt rườm rà.
Lợi ích khi dùng WebRTC là gì?
- Mã nguồn mở miễn phí: WebRTC là một dự án mã nguồn mở miễn phí. Google cho biết đây là một công cụ truyền thông thời gian thực hoàn toàn miễn phí và có sẵn trên mọi trình duyệt.
- Hỗ trợ đa nền tảng: Mặc dù WebRTC vẫn trong giai đoạn phát triển nhưng nó đã hoạt động tốt trên hầu hết mọi trình duyệt của các hệ điều hành bất kì. Cho phép lập trình viên viết các đoạn mã HTML làm việc với máy tính hoặc thiết bị di động.
- Bảo mật voice và video: Giao thức SRTP (Secure Real-Time Transport Protocol) được dùng để mã hóa và xác thực dữ liệu media. Chống lại các khả năng bị nghe trộm trong quá trình thực hiện tác vụ video hay voice.
- Không cần plugin hay phần mềm hỗ trợ: Yếu tố quan trọng giúp WebRTC được đánh giá rất cao chính là khả năng hoạt động không cần đến plugin bên thứ ba mang đến sự tiện lợi, tối ưu tốc độ, tiết kiệm chi phí,…
- Tương đối dễ sử dụng: WebRTC có thể được tích hợp trong các dịch vụ web bằng cách dùng JavaScript APIs, các Framework có sẵn.
- Sử dụng bằng thông hiệu quả: Hỗ trợ nhiều kiểu media và các thiết bị đầu cuối khác nhau, WebRTC sử dụng băng thông hiệu quả hơn, hoạt động tốt trong mọi điều kiện đường truyền mạng.
Các phần chính của WebRTC là gì?
![]() |
WebRTC còn được biết đến như là Giao tiếp Thời gian Thực trên nền Web |
MediaStream
Một MediaStream là một stream dữ liệu âm thanh và/hoặc hình ảnh. Khi làm việc cục bộ, stream này được khởi tạo bằng cách gọi hàm getUserMedia. Sau khi một kết nối WebRTC tới một máy tính khác được thiết lập, chúng ta có khả năng truy cập vào stream của máy tính đó.RTCDataChannel
RTCDataChannel là một kênh hai chiều để gửi dữ liệu bất kỳ qua kết nối WebRTC. Nó hoạt động tương tự web sockets,nhưng dữ liệu được truyền tải trực tiếp giữa hai trình duyệt, và nó cho phép trao đổi thông tin nhanh và đáng tin cậy (giống như giữa UDP và TCP).RTCPeerConnection
RTCPeerConnection là API đóng vai trò kết nối Media Stream và RTCDataChannel để trở thành WebRTC. RTCPeerConnection cung cấp một hàm API làm nhiệm vụ hoàn thành giao ước giữa hai trình duyệt. Trong suốt quá trình giao ước này, các trình duyệt cung cấp các thông tin cần thiết để thiết lập kết nối: mô tả của phiên làm việc (những tính năng của trình duyệt) và các ứng viên ICE (thông tin về cổng và địa chỉ IP công cộng). Cần lưu ý rằng mô tả của WebRTC không nói gì về cách thức những thông tin này được trao đổi.Các bước cơ bản là:
- Trình duyệt nguồn tạo ra một yêu cầu cùng với đặc tả về phiên làm việc.
- Trình duyệt đích nhận yêu cầu và tạo ra một hồi đáp cùng với đặc tả về phiên làm việc.
- Trình duyệt nguồn nhận hồi đáp.
- Cả hai trình duyệt trao đổi các ứng viên ICE.
- Khi một lượng ứng viên được trao đổi đủ cho một kết nối trực tiếp thì kết nối ngang hàng được thiết lập.
0 Nhận xét