Đối với các giải pháp phát trực tiếp tương tác, từ hội nghị truyền hình đến cá cược và đặt giá thầu trực tuyến, Giao tiếp theo thời gian thực trên web (WebRTC) đã trở thành một công nghệ cơ bản thiết yếu. Sự gia tăng của WebRTC bắt nguồn từ sự kết hợp giữa tốc độ và khả năng tương thích.
WebRTC là gì?
WebRTC là định dạng phát trực tuyến có độ trễ thấp nhất với phân phối video dưới 500 mili giây. Hỗ trợ trình duyệt gốc cũng loại bỏ nhu cầu người dùng cuối phải tải xuống các ứng dụng khó hiểu để xem các luồng được phân phối cùng với nó.

Điều đó nói rằng, khi các nhà phát triển phân nhánh từ các ứng dụng dựa trên trò chuyện thuần túy mà WebRTC được thiết kế, những thách thức có thể phát sinh. Bài viết này xem xét cách thức hoạt động của tính năng phát trực tuyến video trên WebRTC, những lợi ích mà nó mang lại, những hạn chế của WebRTC và cách giải quyết chúng.

WebRTC là gì?
WebRTC là một khuôn khổ mở, miễn phí dành cho web cho phép giao tiếp thời gian thực (RTC) mà tên của nó hứa hẹn sẽ cung cấp. Là sự kết hợp của các tiêu chuẩn, giao thức và API JavaScript, WebRTC tận dụng các kết nối ngang hàng giữa các trình duyệt để hỗ trợ trao đổi dữ liệu gần như đồng thời - mà không yêu cầu phần mềm hoặc trình cắm của bên thứ ba.
Phát trực tuyến ngang hàng trên WebRTC

Nói cách khác, WebRTC cho phép người dùng bắt đầu cuộc trò chuyện video nhấp để bắt đầu từ trình duyệt của họ và trao đổi thông tin đủ nhanh để tái tạo các tương tác trực tiếp. Điều này hỗ trợ phát trực tiếp tương tác giữa các cá nhân, cũng như giao tiếp giữa trình duyệt với trình duyệt thông qua một tập hợp các giao thức tiêu chuẩn.

WebRTC hoạt động như thế nào?
WebRTC sử dụng ba API HTML5 cho phép trình duyệt của người dùng nắm bắt, mã hóa và truyền các luồng trực tiếp giữa nhau, cho phép giao tiếp hai chiều. Vì lý do này, WebRTC được gọi là công nghệ ngang hàng, theo đó mỗi trình duyệt giao tiếp trực tiếp với nhau.

Vẻ đẹp của WebRTC nằm ở chỗ: Nó loại bỏ sự cần thiết của bất kỳ máy chủ web trung gian nào trong quá trình trao đổi này, chưa kể đến thiết bị hoặc phần mềm bổ sung. Phòng họp dựa trên URL là một ví dụ tuyệt vời về sự tiện lợi và giao tiếp thời gian thực do WebRTC cung cấp.

Trong khi một số quy trình phát trực tuyến yêu cầu máy ảnh phát trực tiếp, bộ mã hóa và máy chủ phương tiện, các triển khai WebRTC đơn giản nhất có thể hoàn thành mọi thứ với trình duyệt và webcam được kết nối. Và không giống như video dựa trên Flash, WebRTC có thể được phát lại trên bất kỳ trình phát HTML5 nào hỗ trợ API WebRTC.

Tuy nhiên, vì WebRTC được thiết kế để trao đổi thông tin gốc mà không có máy chủ trung gian, nên nó không thể xử lý nhiều đối tượng. Bất kỳ ai muốn phát trực tuyến WebRTC trên quy mô lớn sẽ yêu cầu sự trợ giúp của máy chủ hoặc dịch vụ phát trực tuyến. Từ việc đóng gói lại nội dung thành một định dạng có thể mở rộng hơn đến phân phối các luồng trực tiếp trên mạng phân phối nội dung WebRTC (CDN) được xây dựng tùy chỉnh, Wowza có các tùy chọn để định cấu hình quy trình làm việc WebRTC của bạn để đáp ứng lượng khán giả lên đến một triệu người xem.

WebRTC Snapshot:
Bộ giải mã âm thanh: Opus, iSAC, iLBC.
Bộ giải mã video: H.264, VP8, VP9.
Khả năng tương thích phát lại: Chrome, Firefox và Safari hỗ trợ WebRTC mà không cần bất kỳ plugin nào.
Lợi ích: Siêu nhanh và dựa trên trình duyệt.
Hạn chế: Được thiết kế cho hội nghị truyền hình và không mở rộng quy mô, do đó yêu cầu một nền tảng phát trực tuyến như Wowza khi phát trực tuyến cho nhiều khán giả.
Độ trễ: Phân phối dưới 500 mili giây.
 
WebRTC ra đời như thế nào?
WebRTC bắt đầu như một dự án mã nguồn mở của Google nhằm cung cấp cho các trình duyệt khả năng hỗ trợ giao tiếp thoại và video trong thời gian thực mà không cần bất kỳ trình cắm nào. Theo nhiều cách, một phản đề đối với các công nghệ phát trực tuyến độc quyền như RTMP và Flash, WebRTC kể từ đó đã được IETF và W3C tiêu chuẩn hóa. WebRTC đã phát triển trong thập kỷ sau đó kể từ lần phát triển ban đầu để kết hợp sức mạnh của một dự án hướng tới cộng đồng với sự hỗ trợ đa nền tảng của một thông số kỹ thuật được thiết lập tốt.

Ngày nay, WebRTC được hỗ trợ trên Chrome, Safari, Firefox, Opera, Microsoft Edge, Android và iOS (ngoại trừ iOS 15 + Safari). Đây cũng là công nghệ cung cấp năng lượng cho trò chuyện video trên Google Hangouts, Facebook Messenger và Houseparty - một vài cái tên. Theo Google, “với Chrome, Edge, Firefox và Safari hỗ trợ WebRTC, hơn 85% tất cả các trình duyệt được cài đặt trên toàn cầu đã trở thành ứng dụng khách để liên lạc theo thời gian thực trên internet.”

Lợi ích của WebRTC
Khi xem xét nhiều lợi thế mà WebRTC mang lại cho cả người dùng và nhà phát triển, có thể thấy lý do tại sao lại có quá nhiều sự cường điệu xung quanh nó. Mọi thứ từ phân phối có độ trễ thấp đến khả năng tương tác đều khiến nó trở thành một lựa chọn hấp dẫn.
 Độ trễ phát trực tuyến và độ tương tác liên tục: Độ trễ bẩm sinh thấp. Nói đến WebRTC là nói tốc độ truyền dữ. Với độ trễ Glass-to-glass (hay còn gọi là end-to-end (E2E), khoảng thời gian từ khi các photon của một sự kiện nhìn thấy đi qua kính thấu kính của máy ảnh cho đến thời điểm khi hình ảnh cuối cùng được đưa đến mặt kính của màn hình)  dưới 50 mili giây, WebRTC cung cấp phương pháp nhanh nhất để truyền video qua internet.
 Nền tảng và tính độc lập của thiết bị: Tất cả các trình duyệt và thiết bị chính đều hỗ trợ WebRTC, giúp việc tích hợp vào nhiều loại ứng dụng trở nên đơn giản mà không cần cơ sở hạ tầng chuyên dụng. Vì WebRTC sử dụng các API HTML5, nó cho phép các nhà phát triển sử dụng nhiều tính năng được tích hợp trong ngôn ngữ lập trình HTML5 thông qua một khung nhúng, nhẹ. Hơn nữa, mã hóa dựa trên trình duyệt đảm bảo trải nghiệm người dùng cuối dễ tiếp cận hơn cho tất cả mọi người.
 Mã nguồn mở và được tiêu chuẩn hóa: Khung mã nguồn mở được chuẩn hóa bởi IETF và W3C, do đó loại bỏ mọi thách thức về khả năng tương tác đi kèm với các công nghệ phát trực tuyến độc quyền. Shan Sinha của Computerworld giải thích, “WebRTC được hưởng lợi từ việc có hàng nghìn nhà phát triển phần mềm cùng làm việc với nó, chuẩn hóa các giao thức hội nghị và làm cho khả năng tương tác ít được quan tâm hơn. Hầu hết các công ty không thể cạnh tranh với hàng nghìn nhà phát triển độc lập đóng góp mã cho một nền tảng - ngay cả các tổ chức lớn như Google và Apple cũng nhạt nhòa so với nỗ lực dựa trên cộng đồng web ”.
Thích ứng với các điều kiện mạng: WebRTC đảm bảo xuất bản đáng tin cậy trong điều kiện mạng kém với mã hóa mạng thích ứng. Đó là bởi vì nó hỗ trợ một khả năng được gọi là 'simulcasting' - không nên nhầm lẫn với việc phát sóng đến nhiều điểm đến, đó là định nghĩa truyền thống của thuật ngữ đó. Với mô phỏng WebRTC, ứng dụng khách tạo nhiều luồng với tốc độ bit và chất lượng khác nhau để điều kiện mạng kém không cản trở việc đóng góp video. Không giống như phát trực tuyến tốc độ bit thích ứng, trong đó luồng tự động điều chỉnh trong quá trình phát lại, điều này diễn ra ở phía xuất bản và cung cấp nhiều mã hóa thay vì khả năng điều chỉnh tốc độ bit giữa luồng.

Giới hạn của WebRTC
Phân phối video có độ trễ thấp được ưu tiên cao nhất với tính năng phát trực tuyến WebRTC. Do đó, quy mô và chất lượng có những hạn chế khi triển khai WebRTC mà không có bất kỳ công nghệ bổ sung nào.

Khả năng mở rộng: Đơn giản là WebRTC không được thiết kế với khả năng mở rộng. Cấu hình sử dụng nhiều băng thông yêu cầu mỗi trình duyệt tham gia phải kết nối với nhau thông qua kết nối ngang hàng. Để thực hiện điều đó, chuyên gia Tsahi Levent-Levi của WebRTC khuyên bạn nên tránh xa bất kỳ hơn 50 kết nối ngang hàng đồng thời nào.

Chất lượng phát sóng: Một quan niệm sai lầm phổ biến là WebRTC thiếu chất lượng do giới hạn về bitrate. Mặc dù đóng góp dựa trên trình duyệt vốn dĩ là kết nối và máy quay phụ thuộc vào mặt trước độ phân giải, nhưng vẫn có thể mã hóa tốc độ bit cao. Điều đó nói rằng, các nhà phân phối nội dung muốn phát trực tuyến bằng bộ mã hóa và máy quay chuyên nghiệp có thể thấy loại quy trình này không lý tưởng để phát trực tuyến nội dung đã sản xuất. Ngoài ra, hỗ trợ phát trực tuyến tốc độ bit thích ứng bị hạn chế với WebRTC.

Giải quyết cho khả năng mở rộng WebRTC
Trong kết nối WebRTC ngang hàng truyền thống, mỗi trình duyệt kết nối trực tiếp với tất cả các trình duyệt khác trong nhóm - đốt cháy băng thông trong quá trình này. Wowza đưa ra ba tùy chọn để vượt qua những hạn chế về khả năng mở rộng của WebRTC

1. Truyền trực tuyến theo thời gian thực ở quy mô lớn cho Wowza Streaming Cloud
Tính năng Phát trực tuyến theo quy mô thời gian thực mới nhất của chúng tôi cho Wowza Streaming Cloud triển khai WebRTC trên một CDN tùy chỉnh để cung cấp quy mô gần như vô hạn. Các nhà phân phối nội dung có thể truyền trực tuyến đến một triệu người xem trong vòng chưa đầy nửa giây, do đó kết hợp phân phối thời gian thực với phát sóng quy mô lớn.

2. WebRTC được hỗ trợ bởi Wowza Streaming Engine
Bằng cách kết nối tất cả những người tham gia với một máy chủ phát trực tiếp như Wowza Streaming Engine, các nhà phân phối nội dung được hưởng lợi từ việc phát trực tuyến theo thời gian thực ở quy mô lớn hơn, đồng thời tối ưu hóa băng thông bằng cách giảm thiểu số lượng kết nối mà mỗi khách hàng phải thiết lập và duy trì. Cơ sở hạ tầng bổ sung sẽ cần thiết để mở rộng quy mô vượt quá hàng trăm người xem, trong trường hợp này, Phát trực tuyến theo thời gian thực ở quy mô lớn với Wowza Streaming Cloud sẽ là một lộ trình tốt hơn.

3. Chuyển đổi WebRTC sang HLS hoặc DASH
Cuối cùng, một máy chủ phát trực tiếp hoặc dịch vụ dựa trên đám mây có thể được sử dụng để chuyển mã luồng WebRTC thành một giao thức như HLS để phân phối cho hàng nghìn người. Bằng cách đó, các nhà phân phối nội dung có thể kết hợp xuất bản đơn giản, dựa trên trình duyệt với phát sóng quy mô lớn - mặc dù ở độ trễ cao hơn. Khi việc thu nhận nội dung dễ dàng (chứ không phải phân phối theo thời gian thực) là lý do chính để kết hợp WebRTC vào quy trình phát trực tuyến của bạn, thì giải pháp này là cách để đi.
 
Giải quyết chất lượng WebRTC
Khi nâng cao chất lượng nội dung được truyền trực tuyến qua WebRTC, hai trong số các tùy chọn nêu trên một lần nữa lại phát huy tác dụng.

1. Truyền trực tuyến theo thời gian thực ở quy mô lớn cho Wowza Streaming Cloud
Phát trực tuyến theo thời gian thực ở quy mô cho Wowza Streaming Cloud mang lại sự linh hoạt để phát trực tuyến qua bất kỳ bộ mã hóa nào, sử dụng nhập RTMP hoặc tận dụng tích hợp OBS tùy chỉnh của chúng tôi. Điều đó có nghĩa là các đài truyền hình không bị giới hạn trong việc thu thập và mã hóa dựa trên trình duyệt khi tìm cách phân phối nội dung được sản xuất.

2. Chuyển đổi WebRTC sang HLS hoặc DASH
HLS và DASH tận dụng tính năng phát trực tuyến tốc độ bit thích ứng để mang lại chất lượng video và trải nghiệm người xem tốt nhất có thể - bất kể kết nối, phần mềm hay thiết bị. Vì lý do đó, việc chuyển đổi luồng WebRTC sang một trong hai giao thức này sẽ giải quyết vấn đề quy mô và chất lượng. Sự cân bằng đáng kể là độ trễ, vì vậy chúng tôi chỉ đề xuất quy trình làm việc này nếu phân phối theo thời gian thực không phải là ưu tiên.
 
Tại sao nên kết hợp WebRTC với Wowza
Cho dù bạn cần hỗ trợ tương tác theo thời gian thực, truyền phát trên quy mô lớn hay kết hợp cả hai, giải pháp WebRTC của Wowza có thể được tùy chỉnh theo nhu cầu của bạn. Các tổ chức trong các ngành từ bán lẻ đến trò chơi dựa vào WebRTC do Wowza cung cấp để phân phối trong thời gian thực, nhập dựa trên trình duyệt và phân phối video quy mô lớn.

Mở rộng quy mô vô tận. Mặc dù được thiết kế cho môi trường trò chuyện video chỉ với một số ít người tham gia, nhưng WebRTC có thể được kết hợp với công nghệ của Wowza để phát sóng tới một triệu người xem. Phát trực tuyến theo thời gian thực ở quy mô cho Wowza Streaming Cloud giúp quá trình này diễn ra liền mạch - với tốc độ phân phối nhanh như chớp để khởi động.
Khả năng mở rộng. Bất kỳ ai muốn thêm chức năng bổ sung vào WebRTC - bao gồm quay video, bảo mật và các cải tiến khác - đều cần một phần mềm phát trực tuyến mạnh mẽ đằng sau bức màn. Wowza cung cấp các công cụ, API và mô-đun mạnh mẽ để nâng cao các tính năng vượt trội của WebRTC. Nền tảng phát trực tiếp của chúng tôi cũng trao quyền cho các nhà phân phối nội dung để xây dựng quy trình công việc kết hợp kết hợp WebRTC với các giao thức phát trực tuyến khác phù hợp hơn với nhu cầu của họ.
Phát sóng đơn giản, dựa trên trình duyệt. WebRTC hỗ trợ xuất bản dựa trên trình duyệt và với Wowza ở chế độ nền, bạn có thể phát nội dung cho vô số người dùng. Các giải pháp phát trực tuyến WebRTC của chúng tôi đảm bảo truyền phát từ đầu đến cuối đơn giản đến bất kỳ điểm đến nào - mà không cần bộ mã hóa.
 
Wowza Streaming Cloud và WebRTC
Với Wowza Streaming Cloud, bạn có thể tạo các sự kiện phát trực tiếp có quy mô tức thì lên đến một triệu người xem với trải nghiệm thời gian thực cần thiết cho các ứng dụng tương tác.

Wowza Streaming Engine và WebRTC
WebRTC được cung cấp bởi Wowza Streaming Engine cho phép bạn chuyển mã, phát lại dòng và nâng cao khả năng của WebRTC theo những cách mạnh mẽ.

Kết luận
Được người đồng sáng lập Mozilla, Brandan Eich, mô tả là “một mặt trận mới trong cuộc chiến lâu dài cho một web mở và không bị cản trở”, WebRTC kết hợp tính năng phát trực tuyến dựa trên trình duyệt với khả năng tương tác trong thời gian thực. Khuôn khổ mở, miễn phí hoạt động tốt cho các môi trường dựa trên video nhỏ. Và khi phân phối quy mô lớn hoặc các tính năng phát trực tuyến bổ sung cũng được yêu cầu, công nghệ của Wowza sẽ tạo ra sự thúc đẩy cần thiết.

**********
(*) GIỚI THIỆU GIẢI PHÁP STREAMING CỦA WOWZA STREAMING ENGINE:
>>>
Chia sẻ bài viết: Facebook Twitter Email

Tin liên quan

Bình luận