جریان‌های رسانه مجازی را در Meet Media API مدیریت کنید

جریان‌های رسانه مجازی، در زمینه کنفرانس WebRTC، جریان‌های رسانه‌ای هستند که توسط یک واحد انتقال انتخابی (SFU) برای جمع‌آوری و توزیع رسانه‌ها از چندین شرکت‌کننده تولید می‌شوند. برخلاف جریان‌های مستقیم رسانه‌ای همتا به همتا، که شبکه‌ای پیچیده از ارتباطات را در کنفرانس‌های بزرگ ایجاد می‌کند، جریان‌های رسانه مجازی توپولوژی را ساده می‌کنند. SFU جریان‌های رسانه‌ای جداگانه را از هر شرکت‌کننده دریافت می‌کند و به‌طور انتخابی جریان‌های فعال یا مرتبط را به دیگر شرکت‌کنندگان ارسال می‌کند، و آنها را روی یک مجموعه کوچک‌تر و ثابت از جریان‌های رسانه مجازی خروجی چندگانه می‌کند.

این رویکرد تعداد جریان‌های ورودی همزمان را کاهش می‌دهد که هر شرکت‌کننده باید مدیریت کند و نیازهای پردازش و پهنای باند را کاهش می‌دهد. هر جریان مجازی می‌تواند حاوی رسانه‌ای از یک شرکت‌کننده در یک زمان باشد که به صورت پویا توسط SFU بر اساس عواملی مانند فعالیت بلندگو یا تخصیص ویدیو تنظیم می‌شود. شرکت‌کنندگان این جریان‌های مجازی را دریافت می‌کنند و به طور موثر یک نمای ترکیبی از کنفرانس را بدون نیاز به مدیریت جریان‌های جداگانه از هر شرکت‌کننده دیگر می‌بینند. این انتزاع ارائه شده توسط جریان های رسانه مجازی برای مقیاس بندی کنفرانس های WebRTC برای تعداد زیادی از شرکت کنندگان بسیار مهم است.

برای دریافت صدا، مشتری باید دقیقاً سه توصیف رسانه صوتی ارائه دهد که سه فرستنده صوتی محلی ایجاد می کند. برای دریافت ویدئو، مشتری باید یک تا سه توصیف رسانه ویدئویی ارائه دهد که تعداد فرستنده‌های ویدئویی را مشخص می‌کند.

گیرنده ها

هر فرستنده گیرنده متعلق به مشتری یک RtpReceiver اختصاصی و یک "تراک رسانه ای" اختصاصی دارد که جریان های RTP صوتی را از سرورهای Meet دریافت می کند.

هر آهنگ یک شناسه منحصر به فرد دارد و جریان مجزای بسته های RTP خود را از آن منبع رسانه ای خاص دریافت می کند. برای مثال، آهنگ A ممکن است صدا را از production-1 دریافت کند در حالی که آهنگ B صدا را از production-2 دریافت می کند.

SSRC ها

هر بسته RTP دارای مقدار سرصفحه منبع همگام سازی (SSRC) است که آن را به یک مسیر خاص مرتبط می کند.

جلسات صوتی از طریق Meet Media API از سه جریان رسانه مجزا استفاده می کنند که هر کدام دارای SSRC ایستا هستند. پس از ایجاد، این مقادیر SSRC هرگز در طول عمر جلسه تغییر نمی کنند.

جریان های مجازی

Meet Media API از Virtual Media Streams استفاده می کند. اینها در طول جلسه ثابت هستند، اما منبع بسته ها ممکن است تغییر کند تا مرتبط ترین فیدها را منعکس کند. جریان های رسانه مجازی برای صدا و تصویر یکسان عمل می کنند.

منبع کمک کننده (CSRC) در سربرگ های بسته RTP منبع واقعی بسته های RTP را شناسایی می کند. Meet به هر یک از شرکت‌کنندگان در کنفرانس CSRC منحصر به فرد خود را هنگام پیوستن اختصاص می‌دهد. این مقدار تا زمانی که آنها خارج شوند ثابت می ماند.

از آنجایی که تعداد SSRC ها در طول جلسه Meet Media API ثابت است، در اینجا سه ​​سناریو ممکن وجود دارد:

  1. تعداد شرکت کنندگان بیشتر از SSRC ها در دسترس است :

    Meet سه صدای بلندترین افراد را در سه SSRC مخابره می کند. از آنجایی که هر جریان RTP روی SSRC اختصاصی خود است، هیچ اختلاط بین جریان ها وجود ندارد.

    Meet سه صدای بلندترین افراد را در سه SSRC مخابره می کند.
    شکل 1. Meet سه صدای بلندترین افراد را در سه SSRC مخابره می کند.

    اگر هر یک از جریان‌های اصلی در کنفرانس دیگر یکی از پر سر و صداترین جریان‌ها نباشد، Meet بسته‌های RTP را که SSRC را تشکیل می‌دهند به بلندترین آنها تغییر می‌دهد.

    Meet بسته‌های RTP را به بلندترین فرد جدید تغییر می‌دهد.
    شکل 2. Meet بسته های RTP را به بلندترین فرد جدید سوئیچ می کند.
  2. تعداد شرکت کنندگان فعال کمتر از سه SSRC صوتی است :

    برای سناریویی که تعداد SSRC های بیشتری نسبت به جریان های کنفرانس موجود است، Meet بسته های صوتی موجود را به SSRC منحصر به فرد خود نگاشت می کند. هر SSRC استفاده نشده هنوز آماده و در دسترس است، اما هیچ بسته RTP ارسال نمی شود.

    بسته‌های صوتی موجود را به SSRC منحصربه‌فرد خود ملاقات کنید.
    شکل 3. بسته های صوتی موجود را به SSRC منحصر به فرد خود نگاشت کنید.
  3. تعداد شرکت کنندگان فعال برابر با سه SSRC صوتی است :

    برای سناریوی مشارکت‌کنندگان برابر و SSRCهای موجود، رسانه هر شرکت‌کننده به یک SSRC اختصاصی نگاشت می‌شود. این نگاشت ها تا زمانی که این سناریوی خاص ادامه دارد، ادامه دارند.

    Meet رسانه های هر شرکت کننده را به یک SSRC اختصاصی نگاشت.
    شکل 4. Meet رسانه های هر شرکت کننده را به یک SSRC اختصاصی نگاشت می کند.
،

جریان‌های رسانه مجازی، در زمینه کنفرانس WebRTC، جریان‌های رسانه‌ای هستند که توسط یک واحد انتقال انتخابی (SFU) برای جمع‌آوری و توزیع رسانه‌ها از چندین شرکت‌کننده تولید می‌شوند. برخلاف جریان‌های مستقیم رسانه‌ای همتا به همتا، که شبکه‌ای پیچیده از ارتباطات را در کنفرانس‌های بزرگ ایجاد می‌کند، جریان‌های رسانه مجازی توپولوژی را ساده می‌کنند. SFU جریان‌های رسانه‌ای جداگانه را از هر شرکت‌کننده دریافت می‌کند و به‌طور انتخابی جریان‌های فعال یا مرتبط را به دیگر شرکت‌کنندگان ارسال می‌کند، و آنها را روی یک مجموعه کوچک‌تر و ثابت از جریان‌های رسانه مجازی خروجی چندگانه می‌کند.

این رویکرد تعداد جریان‌های ورودی همزمان را کاهش می‌دهد که هر شرکت‌کننده باید مدیریت کند و نیازهای پردازش و پهنای باند را کاهش می‌دهد. هر جریان مجازی می‌تواند حاوی رسانه‌ای از یک شرکت‌کننده در یک زمان باشد که به صورت پویا توسط SFU بر اساس عواملی مانند فعالیت بلندگو یا تخصیص ویدیو تنظیم می‌شود. شرکت‌کنندگان این جریان‌های مجازی را دریافت می‌کنند و به طور موثر یک نمای ترکیبی از کنفرانس را بدون نیاز به مدیریت جریان‌های جداگانه از هر شرکت‌کننده دیگر می‌بینند. این انتزاع ارائه شده توسط جریان های رسانه مجازی برای مقیاس بندی کنفرانس های WebRTC برای تعداد زیادی از شرکت کنندگان بسیار مهم است.

برای دریافت صدا، مشتری باید دقیقاً سه توصیف رسانه صوتی ارائه دهد که سه فرستنده صوتی محلی ایجاد می کند. برای دریافت ویدئو، مشتری باید یک تا سه توصیف رسانه ویدئویی ارائه دهد که تعداد فرستنده‌های ویدئویی را مشخص می‌کند.

گیرنده ها

هر فرستنده گیرنده متعلق به مشتری یک RtpReceiver اختصاصی و یک "تراک رسانه ای" اختصاصی دارد که جریان های RTP صوتی را از سرورهای Meet دریافت می کند.

هر آهنگ یک شناسه منحصر به فرد دارد و جریان مجزای بسته های RTP خود را از آن منبع رسانه ای خاص دریافت می کند. برای مثال، آهنگ A ممکن است صدا را از production-1 دریافت کند در حالی که آهنگ B صدا را از production-2 دریافت می کند.

SSRC ها

هر بسته RTP دارای مقدار سرصفحه منبع همگام سازی (SSRC) است که آن را به یک مسیر خاص مرتبط می کند.

جلسات صوتی از طریق Meet Media API از سه جریان رسانه مجزا استفاده می کنند که هر کدام دارای SSRC ایستا هستند. پس از ایجاد، این مقادیر SSRC هرگز در طول عمر جلسه تغییر نمی کنند.

جریان های مجازی

Meet Media API از Virtual Media Streams استفاده می کند. اینها در طول جلسه ثابت هستند، اما منبع بسته ها ممکن است تغییر کند تا مرتبط ترین فیدها را منعکس کند. جریان های رسانه مجازی برای صدا و تصویر یکسان عمل می کنند.

منبع کمک کننده (CSRC) در سربرگ های بسته RTP منبع واقعی بسته های RTP را شناسایی می کند. Meet به هر یک از شرکت‌کنندگان در کنفرانس CSRC منحصر به فرد خود را هنگام پیوستن اختصاص می‌دهد. این مقدار تا زمانی که آنها خارج شوند ثابت می ماند.

از آنجایی که تعداد SSRC ها در طول جلسه Meet Media API ثابت است، در اینجا سه ​​سناریو ممکن وجود دارد:

  1. تعداد شرکت کنندگان بیشتر از SSRC ها در دسترس است :

    Meet سه صدای بلندترین افراد را در سه SSRC مخابره می کند. از آنجایی که هر جریان RTP روی SSRC اختصاصی خود است، هیچ اختلاط بین جریان ها وجود ندارد.

    Meet سه صدای بلندترین افراد را در سه SSRC مخابره می کند.
    شکل 1. Meet سه صدای بلندترین افراد را در سه SSRC مخابره می کند.

    اگر هر یک از جریان‌های اصلی در کنفرانس دیگر یکی از پر سر و صداترین جریان‌ها نباشد، Meet بسته‌های RTP را که SSRC را تشکیل می‌دهند به بلندترین آنها تغییر می‌دهد.

    Meet بسته‌های RTP را به بلندترین فرد جدید تغییر می‌دهد.
    شکل 2. Meet بسته های RTP را به بلندترین فرد جدید سوئیچ می کند.
  2. تعداد شرکت کنندگان فعال کمتر از سه SSRC صوتی است :

    برای سناریویی که تعداد SSRC های بیشتری نسبت به جریان های کنفرانس موجود است، Meet بسته های صوتی موجود را به SSRC منحصر به فرد خود نگاشت می کند. هر SSRC استفاده نشده هنوز آماده و در دسترس است، اما هیچ بسته RTP ارسال نمی شود.

    بسته‌های صوتی موجود را به SSRC منحصربه‌فرد خود ملاقات کنید.
    شکل 3. بسته های صوتی موجود را به SSRC منحصر به فرد خود نگاشت کنید.
  3. تعداد شرکت کنندگان فعال برابر با سه SSRC صوتی است :

    برای سناریوی مشارکت‌کنندگان برابر و SSRCهای موجود، رسانه هر شرکت‌کننده به یک SSRC اختصاصی نگاشت می‌شود. این نگاشت ها تا زمانی که این سناریوی خاص ادامه دارد، ادامه دارند.

    Meet رسانه های هر شرکت کننده را به یک SSRC اختصاصی نگاشت.
    شکل 4. Meet رسانه های هر شرکت کننده را به یک SSRC اختصاصی نگاشت می کند.