Quản lý luồng nội dung nghe nhìn ảo trong Meet Media API

Luồng nội dung nghe nhìn ảo, trong bối cảnh hội nghị WebRTC, là các luồng nội dung nghe nhìn do Đơn vị chuyển tiếp có chọn lọc (SFU) tạo ra để tổng hợp và phân phối nội dung nghe nhìn từ nhiều người tham gia. Không giống như các luồng nội dung nghe nhìn trực tiếp từ ngang hàng đến ngang hàng, vốn sẽ tạo ra một mạng lưới kết nối phức tạp trong các hội nghị lớn, luồng nội dung nghe nhìn ảo giúp đơn giản hoá cấu trúc liên kết. SFU nhận các luồng nội dung nghe nhìn riêng lẻ từ mỗi người tham gia và chuyển tiếp có chọn lọc các luồng đang hoạt động hoặc có liên quan cho những người tham gia khác, ghép nhiều luồng vào một tập hợp nhỏ hơn, cố định các luồng nội dung nghe nhìn ảo gửi đi.

Phương pháp này giúp giảm số lượng luồng đến đồng thời mà mỗi người tham gia cần xử lý, giảm yêu cầu về băng thông và khả năng xử lý. Mỗi luồng ảo có thể chứa nội dung nghe nhìn của một người tham gia tại một thời điểm, được SFU điều chỉnh linh hoạt dựa trên các yếu tố như hoạt động của người nói hoặc việc chỉ định video. Người tham gia nhận được các luồng ảo này, xem được một cách hiệu quả chế độ xem tổng hợp của hội nghị mà không cần quản lý các luồng riêng lẻ của mọi người tham gia khác. Khả năng trừu tượng do luồng nội dung nghe nhìn ảo cung cấp là rất quan trọng để mở rộng quy mô hội nghị WebRTC cho một số lượng lớn người tham gia.

Để nhận âm thanh, ứng dụng phải cung cấp chính xác 3 nội dung mô tả nội dung nghe nhìn bằng âm thanh, tạo ra 3 bộ thu phát âm thanh cục bộ transceivers. Để nhận video, ứng dụng phải cung cấp từ 1 đến 3 nội dung mô tả nội dung nghe nhìn bằng video, thiết lập số lượng bộ thu phát video đó.

Những người nhận bóng

Mỗi bộ thu phát do ứng dụng sở hữu đều có một RtpReceiver riêng và một "bản nhạc nội dung nghe nhìn" riêng để nhận các luồng RTP âm thanh từ máy chủ Meet.

Mỗi bản nhạc có một mã nhận dạng duy nhất và nhận luồng riêng biệt gồm các gói RTP từ nguồn nội dung nghe nhìn cụ thể đó. Ví dụ: Bản nhạc A có thể nhận âm thanh từ production-1 trong khi Bản nhạc B nhận âm thanh từ production-2.

SSRC

Mỗi gói RTP có một giá trị tiêu đề Nguồn đồng bộ hoá (SSRC), liên kết gói đó với một bản nhạc cụ thể.

Các phiên âm thanh thông qua Meet Media API sử dụng 3 luồng nội dung nghe nhìn riêng biệt, mỗi luồng có một SSRC tĩnh riêng. Sau khi thiết lập, các giá trị SSRC này sẽ không bao giờ thay đổi trong suốt thời gian diễn ra phiên.

Luồng ảo

Meet Media API sử dụng Luồng nội dung nghe nhìn ảo. Các luồng này là tĩnh trong suốt phiên, nhưng nguồn của các gói có thể thay đổi để phản ánh các nguồn cấp dữ liệu phù hợp nhất. Luồng nội dung nghe nhìn ảo hoạt động giống nhau đối với âm thanh và video.

Nguồn đóng góp (CSRC) trong tiêu đề gói RTP xác định nguồn thực của các gói RTP. Meet chỉ định cho mỗi người tham gia trong một cuộc họp CSRC duy nhất của riêng họ khi họ tham gia. Giá trị này vẫn không đổi cho đến khi họ rời đi.

Vì số lượng SSRC không đổi trong suốt phiên Meet Media API, nên có 3 trường hợp có thể xảy ra:

  1. Số người tham gia nhiều hơn số SSRC có sẵn:

    Meet truyền 3 người có âm lượng lớn nhất trên 3 SSRC. Vì mỗi luồng RTP nằm trên SSRC riêng, nên không có sự trộn lẫn giữa các luồng.

    Meet truyền tải hình ảnh của 3 người có giọng nói to nhất trên 3 SSRC.
    Hình 1. Meet truyền 3 người có âm lượng lớn nhất trên 3 SSRC.

    Nếu bất kỳ luồng nào trong số các luồng ban đầu trong hội nghị không còn là một trong những luồng có âm lượng lớn nhất, thì Meet sẽ chuyển các gói RTP tạo nên SSRC sang luồng có âm lượng lớn nhất.

    Meet chuyển các gói RTP sang người có giọng nói to nhất mới.
    Hình 2. Meet chuyển các gói RTP sang người mới có âm lượng lớn nhất.
  2. Số người tham gia đang hoạt động ít hơn 3 SSRC âm thanh:

    Đối với trường hợp có nhiều SSRC hơn số luồng trong hội nghị, Meet sẽ liên kết mọi gói âm thanh có sẵn với SSRC duy nhất của riêng mình. Mọi SSRC chưa sử dụng vẫn sẵn sàng và có sẵn, nhưng không có gói RTP nào được truyền.

    Đáp ứng các gói âm thanh có sẵn trên bản đồ cho SSRC riêng.
    Hình 3. Meet liên kết các gói âm thanh có sẵn với SSRC duy nhất của riêng mình.
  3. Số người tham gia đang hoạt động bằng 3 SSRC âm thanh:

    Đối với trường hợp số người tham gia và SSRC có sẵn bằng nhau, nội dung nghe nhìn của mỗi người tham gia sẽ được liên kết với một SSRC riêng. Các mối liên kết này vẫn tồn tại miễn là trường hợp cụ thể này vẫn tồn tại.

    Meet liên kết nội dung nghe nhìn của mỗi người tham gia với một SSRC chuyên dụng.
    Hình 4. Meet liên kết nội dung nghe nhìn của mỗi người tham gia với một SSRC riêng.