WebRTC hiện là chuẩn W3C và IETF

Tổng quan ngắn gọn về lịch sử, cấu trúc, trường hợp sử dụng và tương lai của WebRTC.

Lễ hội Huib Kleinhout
Huib Kleinhout

Quy trình xác định tiêu chuẩn web là một quy trình dài giúp đảm bảo tính hữu ích, tính nhất quán và khả năng tương thích giữa các trình duyệt. Hôm nay, W3C và IETF đánh dấu việc hoàn thành một trong những tiêu chuẩn quan trọng nhất trong đại dịch, đó là WebRTC.

Cập nhật trước đây

WebRTC là một nền tảng cung cấp cho các trình duyệt, ứng dụng di động và ứng dụng dành cho máy tính tính năng giao tiếp theo thời gian thực, thường dùng để gọi video. Nền tảng này bao gồm một bộ công nghệ và tiêu chuẩn toàn diện. Google khởi xướng ý tưởng tạo WebRTC vào năm 2009, như một giải pháp thay thế cho Adobe Flash và các ứng dụng dành cho máy tính để bàn không thể chạy trong trình duyệt. Các sản phẩm dựa trên trình duyệt thế hệ trước được xây dựng dựa trên công nghệ độc quyền được cấp phép. Nhiều sản phẩm khác nhau đã được xây dựng bằng công nghệ này, bao gồm cả Hangouts. Sau đó, Google mua lại các công ty mà Google đã cấp phép cho công nghệ này và cung cấp công nghệ này dưới dạng dự án WebRTC nguồn mở. Cơ sở mã này được tích hợp trong Chrome và được phần lớn ứng dụng dùng WebRTC sử dụng. Cùng với các nhà cung cấp trình duyệt khác và các công ty hàng đầu trong ngành như Mozilla, Microsoft, Cisco và Dynamics, quá trình tiêu chuẩn hoá WebRTC đã bắt đầu trên cả W3C và IETF. Vào năm 2013, Mozilla và Google đã minh hoạ tính năng gọi video giữa các trình duyệt của họ. Trong quá trình phát triển tiêu chuẩn này, nhiều cuộc thảo luận về kiến trúc đã dẫn đến sự khác biệt về cách triển khai giữa các trình duyệt cũng như thách thức về khả năng tương thích và khả năng tương thích. Hầu hết những bất đồng này cuối cùng đã được giải quyết khi tiêu chuẩn này đã được hoàn thiện trong những năm qua. Giờ đây, thông số kỹ thuật WebRTC đi kèm với bộ bài kiểm thử nền tảng đầy đủ và các công cụ để giải quyết khả năng tương thích. Đồng thời, các trình duyệt đã điều chỉnh phần lớn các cách triển khai cho phù hợp. Điều này chấm dứt một giai đoạn đầy thách thức khi nhà phát triển web phải liên tục áp dụng dịch vụ của họ cho nhiều cách triển khai trình duyệt và thay đổi về quy cách.

Cấu trúc và chức năng

API RTCPeerConnection là phần trung tâm của thông số kỹ thuật WebRTC. RTCPeerConnection xử lý việc kết nối 2 ứng dụng trên các điểm cuối khác nhau để giao tiếp bằng giao thức ngang hàng. API PeerConnection tương tác chặt chẽ với getUserMedia để truy cập vào máy ảnh và micrô, cũng như getDisplayMedia để chụp nội dung màn hình. WebRTC cho phép bạn gửi và nhận các luồng bao gồm nội dung âm thanh và/hoặc video cũng như dữ liệu nhị phân tuỳ ý thông qua DataChannel. Chức năng đa phương tiện để xử lý, mã hoá, giải mã âm thanh và video là phần cốt lõi của mọi phương thức triển khai WebRTC. WebRTC hỗ trợ nhiều bộ mã hoá và giải mã âm thanh, trong đó Opus là bộ giải mã được sử dụng và linh hoạt nhất. Bạn cần triển khai WebRTC để hỗ trợ cả bộ mã hoá và giải mã video VP8 miễn phí sử dụng của Google và H.264 để xử lý video. Các kết nối WebRTC luôn được mã hoá thông qua 2 giao thức hiện có: DTLS và SRTP. WebRTC chủ yếu dựa vào các tiêu chuẩn và công nghệ hiện có, từ bộ mã hoá và giải mã video (VP8, H264), truyền tải mạng (ICE), truyền tải (RTP, SCTP) đến các giao thức mô tả nội dung nghe nhìn (SDP). Các tài sản này được liên kết với nhau trong hơn 50 RFC.

Trường hợp sử dụng: khi vấn đề về mili giây

WebRTC được sử dụng rộng rãi trong các ứng dụng quan trọng về thời gian, chẳng hạn như phẫu thuật từ xa, giám sát hệ thống và điều khiển từ xa cho ô tô tự động, cũng như các cuộc gọi thoại hoặc video được xây dựng trên UDP khi không thể lưu vào bộ đệm. Gần như tất cả dịch vụ gọi video dựa trên trình duyệt của các công ty như Google, Facebook, Cisco, RingCentral và Jitsi, đều sử dụng WebRTC. Google Stadia và NVIDIA GeForce NOW sử dụng WebRTC để truyền luồng trò chơi từ đám mây lên trình duyệt web mà không có độ trễ có thể nhận biết được.

Đại dịch tập trung vào hiệu suất gọi video

Trong năm qua, mức sử dụng WebRTC trong Chrome đã tăng lên gấp 100 lần nhờ việc gọi video từ trong trình duyệt tăng lên. Nhận thấy rằng tính năng gọi video đã trở thành một phần thiết yếu trong cuộc sống của nhiều người trong thời gian đại dịch, các nhà cung cấp trình duyệt đã bắt đầu tối ưu hoá các công nghệ hỗ trợ tính năng gọi video. Điều này đặc biệt quan trọng khi các cuộc họp video đòi hỏi nhiều tài nguyên và hiệu ứng video trong các cuộc họp video trở nên phổ biến hơn khi nhân viên và học sinh bắt đầu làm việc và học tập tại nhà. Trong năm qua, Chrome đã giúp tăng đến 30% pin cho tính năng gọi video, với nhiều hoạt động tối ưu hoá hơn cho các trường hợp sử dụng nhiều. Mozilla, Apple và Microsoft đều cải thiện đáng kể việc triển khai WebRTC trong thời gian đại dịch, cụ thể là trong việc đảm bảo các dịch vụ này tuân thủ tiêu chuẩn hiện chính thức.

Tương lai của WebRTC

Mặc dù WebRTC hiện đã hoàn thành dưới dạng tiêu chuẩn W3C nhưng vẫn tiếp tục cải tiến. Bộ mã hoá và giải mã video mới AV1 tiết kiệm tới 50% băng thông sẽ có trong WebRTC và trình duyệt web. Chúng tôi dự kiến sẽ tiếp tục cải thiện cơ sở mã nguồn mở để giảm độ trễ và cải thiện chất lượng của video có thể phát trực tuyến. WebRTC NV tập hợp sáng kiến để tạo các API bổ sung nhằm hỗ trợ các trường hợp sử dụng mới. Các API này bao gồm phần mở rộng cho các API hiện có để mang lại nhiều quyền kiểm soát hơn đối với chức năng hiện có, chẳng hạn như Lập trình video có thể mở rộng cũng như các API cấp quyền truy cập vào các thành phần cấp thấp hơn. Phiên bản sau cho phép các nhà phát triển web linh hoạt hơn để đổi mới bằng cách tích hợp các thành phần WebAssembly tuỳ chỉnh có hiệu suất cao. Với các mạng 5G mới nổi và nhu cầu sử dụng nhiều dịch vụ tương tác hơn, chúng tôi kỳ vọng các dịch vụ được xây dựng dựa trên WebRTC sẽ tăng lên liên tục trong năm tới.