WebRTC - Tổng quan
Web không còn xa lạ với giao tiếp thời gian thực khi WebRTC (Web Real-Time Communication)vào trong chơi. Mặc dù nó đã được phát hành vào tháng 5 năm 2011, nó vẫn đang phát triển và các tiêu chuẩn của nó đang thay đổi. Một tập hợp các giao thức được chuẩn hóa bởi Giao tiếp thời gian thực trong trình duyệt WEB Nhóm làm việc tạihttp://tools.ietf.org/wg/rtcweb/ sau đó IETF (Internet Engineering Task Force)trong khi các bộ API mới được tiêu chuẩn hóa bởi Nhóm làm việc truyền thông thời gian thực trên web tạihttp://www.w3.org/2011/04/webrtc/ sau đó W3C (World Wide Web Consortium). Với sự xuất hiện của WebRTC, các ứng dụng web hiện đại có thể dễ dàng truyền phát nội dung âm thanh và video cho hàng triệu người.
Sơ đồ cơ bản
WebRTC cho phép bạn thiết lập các kết nối ngang hàng với các trình duyệt web khác một cách nhanh chóng và dễ dàng. Để xây dựng một ứng dụng như vậy từ đầu, bạn sẽ cần vô số khuôn khổ và thư viện xử lý các vấn đề điển hình như mất dữ liệu, rớt kết nối và truyền tải NAT. Với WebRTC, tất cả những điều này được tích hợp sẵn trong trình duyệt. Công nghệ này không cần bất kỳ plugin hoặc phần mềm của bên thứ ba. Nó có nguồn mở và mã nguồn của nó có sẵn miễn phí tạihttp://www.webrtc.org/.
API WebRTC bao gồm thu thập phương tiện, mã hóa và giải mã âm thanh và video, lớp truyền tải và quản lý phiên.
Chụp phương tiện
Bước đầu tiên là truy cập vào camera và micrô của thiết bị của người dùng. Chúng tôi phát hiện loại thiết bị có sẵn, xin phép người dùng truy cập các thiết bị này và quản lý luồng.
Mã hóa và giải mã âm thanh và video
Việc gửi một luồng dữ liệu âm thanh và video qua Internet không phải là một nhiệm vụ dễ dàng. Đây là nơi mã hóa và giải mã được sử dụng. Đây là quá trình chia nhỏ các khung hình video và sóng âm thanh thành các phần nhỏ hơn và nén chúng. Thuật toán này được gọi làcodec. Có một lượng lớn codec khác nhau, được duy trì bởi các công ty khác nhau với các mục tiêu kinh doanh khác nhau. Ngoài ra còn có nhiều codec bên trong WebRTC như H.264, iSAC, Opus và VP8. Khi hai trình duyệt kết nối với nhau, chúng sẽ chọn codec được hỗ trợ tối ưu nhất giữa hai người dùng. May mắn thay, WebRTC thực hiện hầu hết các mã hóa đằng sau hậu trường.
Lớp vận chuyển
Tầng vận chuyển quản lý thứ tự các gói, xử lý mất gói và kết nối với những người dùng khác. Một lần nữa, API WebRTC cung cấp cho chúng tôi quyền truy cập dễ dàng vào các sự kiện cho chúng tôi biết khi có sự cố với kết nối.
Quản lý phiên
Quản lý phiên liên quan đến việc quản lý, mở và tổ chức các kết nối. Điều này thường được gọi làsignaling. Nếu bạn chuyển các luồng âm thanh và video cho người dùng thì việc chuyển dữ liệu thế chấp cũng có ý nghĩa. Điều này được thực hiện bởiRTCDataChannel API.
Các kỹ sư từ các công ty như Google, Mozilla, Opera và những công ty khác đã làm rất tốt việc mang trải nghiệm thời gian thực này lên Web.
tính tương thích của trình duyệt web
Các tiêu chuẩn WebRTC là một trong những tiêu chuẩn phát triển nhanh nhất trên web, vì vậy không có nghĩa là mọi trình duyệt đều hỗ trợ tất cả các tính năng giống nhau cùng một lúc. Để kiểm tra xem trình duyệt của bạn có hỗ trợ WebRTC hay không, bạn có thể truy cậphttp://caniuse.com/#feat=rtcpeerconnection. Trong tất cả các hướng dẫn, tôi khuyên bạn nên sử dụng Chrome cho tất cả các ví dụ.
Dùng thử WebRTC
Hãy bắt đầu sử dụng WebRTC ngay bây giờ. Điều hướng trình duyệt của bạn đến trang web demo tạihttps://apprtc.appspot.com/
Nhấp vào nút "THAM GIA". Bạn sẽ thấy một thông báo thả xuống.
Nhấp vào nút “Cho phép” để bắt đầu phát trực tuyến video và âm thanh của bạn lên trang web. Bạn sẽ thấy một luồng video của chính mình.
Bây giờ, hãy mở URL bạn đang truy cập trong một tab trình duyệt mới và nhấp vào “THAM GIA”. Bạn sẽ thấy hai luồng video - một từ khách hàng đầu tiên của bạn và một từ khách hàng thứ hai.
Bây giờ bạn sẽ hiểu tại sao WebRTC là một công cụ mạnh mẽ.
Trường hợp sử dụng
Web thời gian thực mở ra cánh cửa cho một loạt ứng dụng hoàn toàn mới, bao gồm trò chuyện dựa trên văn bản, chia sẻ màn hình và tệp, chơi trò chơi, trò chuyện video, v.v. Ngoài giao tiếp, bạn có thể sử dụng WebRTC cho các mục đích khác như -
- tiếp thị thời gian thực
- quảng cáo thời gian thực
- giao tiếp văn phòng (CRM, ERP, SCM, FFM)
- Quản lý nhân sự
- mạng xã hội
- dịch vụ hẹn hò
- tư vấn y tế trực tuyến
- các dịch vụ tài chính
- surveillance
- Trò chơi nhiều người chơi
- phát sóng trực tiếp
- e-learning
Tóm lược
Bây giờ bạn đã hiểu rõ về thuật ngữ WebRTC. Bạn cũng nên có ý tưởng về những loại ứng dụng nào có thể được xây dựng bằng WebRTC, vì bạn đã thử nó trên trình duyệt của mình. Tóm lại, WebRTC là một công nghệ khá hữu ích.