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ị truyền hình WebRTC, là 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ư luồng nội dung nghe nhìn ngang hàng trực tiếp (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à chọn lọc để chuyển tiếp các luồng đang hoạt động hoặc có liên quan đến những người tham gia khác, đồng thời ghép các luồng đó vào một nhóm nhỏ, cố định gồm các luồng nội dung nghe nhìn ảo đi ra.

Phương pháp này giúp giảm số lượng luồng dữ liệu đế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, nhờ đó có thể xem chế độ xem tổng hợp của hội nghị mà không cần quản lý từng luồng của mọi người tham gia khác. Lớp trừu tượng này do luồng nội dung nghe nhìn ảo cung cấp là yếu 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, máy khách phải đề xuất chính xác 3 nội dung mô tả về nội dung nghe nhìn bằng âm thanh, tạo ra 3 bộ thu phát âm thanh cục bộ. Để nhận video, máy khách phải cung cấp từ 1 đến 3 nội dung mô tả về phương tiện 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 thuộc sở hữu của khách hàng đều có một RtpReceiver chuyên dụng và một "luồng nội dung nghe nhìn" chuyên dụ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 riêng biệt và nhận luồng gói RTP riêng biệt từ nguồn nội dung đa phương tiện cụ thể đó. Ví dụ: Track A có thể nhận âm thanh từ production-1 trong khi Track B nhận âm thanh từ production-2.

SSRC

Mỗi gói RTP đều có 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 được 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

API nội dung nghe nhìn của Meet sử dụng Luồng nội dung nghe nhìn ảo. Các thông tin 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 cả â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 hội nghị một CSRC riêng biệt 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 là hằng số trong suốt phiên Meet Media API, nên sau đây là 3 trường hợp có thể xảy ra:

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

    Meet truyền hình ảnh của 3 người có giọng nói to nhất trên 3 SSRC. Vì mỗi luồng RTP đều có SSRC chuyên dụng 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 tải hình ảnh của 3 người có giọng nói to nhất trên 3 SSRC.

    Nếu bất kỳ luồng nào 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 có giọng nói to nhất mới.
  2. Số người tham gia đang hoạt động ít hơn 3 SSRC âm thanh:

    Trong 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 riêng của gói đó. Mọi SSRC chưa dùng đều 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. Đáp ứng các gói âm thanh có sẵn trên bản đồ cho SSRC riêng.
  3. Số lượng người tham gia đang hoạt động bằng 3 SSRC âm thanh:

    Đối với trường hợp có số lượng người tham gia bằng nhau và có sẵn SSRC, 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 chuyên dụng. Các mối liên kết này sẽ tồn tại chừng nào kịch bản cụ thể này cò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 chuyên dụng.