Tencent Cloud Video (TRTC) القتال الفعلي: إقامة بث مباشر منخفض التأخير ومكالمات فيديو متعددة الأشخاص

سحابة 2026-05-29 阅读 6
1

اليوم ، مع شعبية ماي ، والعمل عن بعد ، والتعليم عبر الإنترنت ، والبث المباشر التفاعلي ، تلقى العديد من المطورين طلبًا على "بناء وظيفة مكالمة صوتية وفيديو منخفضة التأخير". إذا ذهبت إلى بروتوكول WebRTC من الصفر ، وخادم تدفق الصوت والفيديو ، وتحسين الشبكة الضعيفة والقضاء على الصدى (AEC) ، فمن المقدر أنه إذا فقد شعرك ، فقد لا تتمكن من إنشاء نسخة تجارية مستقرة.

تطوير الصوت والفيديو على مستوى المؤسسة ، المسار الحالي الأكثر توفيرًا للوقت والجهد هو الوصول المباشر إلى Tencent Cloud

TRTC (الصوت والفيديو في الوقت الحقيقي ، Tencent Real-Time Communication)

. إنه يحزم الطبقة السفلية المعقدة من الصوت والفيديو في بضعة أسطر من مكالمات SDK البسيطة ، ويرث بشكل طبيعي شبكة التسارع العالمية في Tencent ، والتي يمكن أن تضغط على التأخير العالمي من البداية إلى النهاية

في غضون 300 مللي ثانية

.

اليوم لا تقرأ الكتب المقدسة للوثائق الرسمية وترفض أي هراء. أحضر جهاز الكمبيوتر الخاص بك ، فلنبدأ بالحديث عن البنية الأساسية ، ولحام نظام مكالمات الفيديو المباشر عبر الإنترنت منخفض الكمون والمتعدد الأشخاص.

المرحلة الأولى: فهم شبكة الاتصال الأساسية ومفهوم "الغرفة" في TRTC

قبل كتابة الكود ، يجب أن تنشئ نموذجًا للعالم المادي لـ TRTC في عقلك ، وإلا فلن تعرف حتى كيف يتم تمرير التدفق.

كل تفاعل الصوت والفيديو من TRTC هو في استدعاء واحد

”الغرفة“

في الفضاء الافتراضي.

EnterRoom (EnterRoom): أي مستخدم (سواء كان مذيعًا أو جمهورًا) يريد التحدث أو مشاهدة الآخرين يتحدثون ، يجب عليه أولاً دخول نفس الغرفة مع "رقم الغرفة".

Pubish: بعد دخول الغرفة ، إذا كنت تريد أن يراك الآخرون ، فسوف "تدفع" بيانات الصوت والفيديو التي تم جمعها بواسطة هاتفك المحمول أو كاميرا الكمبيوتر إلى السحابة من خلال عقدة حافة Tencent Cloud.

Subscribe (Subscribe): إذا كنت تريد رؤية Zhang San في الغرفة ، فستذهب SDK تلقائيًا إلى Tencent Cloud و "سحب" Zhang San وفك تشفير التشغيل.

أثناء عملية المكالمة ، سيتم توصيل خوارزمية 3A (AEC للتخلص من الصدى ، ANS لقمع الضوضاء ، AGC للتحكم التلقائي في الكسب) في الخلفية السحابية لـ Tencent تلقائيًا طوال العملية. وهذا هو السبب في أنك لا تحتاج إلى كتابة رمز بنفسك لإعطاء الصوت "إزالة الضوضاء".

المرحلة الثانية: تكوين الخلفية السحابية لـ Tencent والقسيمة المنقذة للحياة UserSig

قم بتسجيل الدخول إلى Tencent Cloud Console ، وابحث وأدخل "Live Soning Video TRTC".

انقر على "إدارة التطبيقات"-> "إنشاء تطبيق" لإعطاء تطبيقاتك اسمًا (على سبيل المثال ، نظام الصوت والفيديو الخاص بي منخفض التأخير).

بعد الإنشاء الناجح ، سيصدر لك النظام قسيمة أساسية ، واحصل على نسخة صغيرة ، ولا تكشف: SDKAppID: بطاقة الهوية الفريدة للتطبيق الخاص بك (سلسلة من الأرقام النقية). المفتاح (SecretKey): سلسلة تستخدم لتشفير التوقيعات.

نقطة تجنب الحفرة الأساسية: ما هو شبح UserSig ؟

لمنع الآخرين من سرقة TR الخاص بك بشكل ضار

حركة المرور TC ، أي مستخدم يريد أن يدخل غرفتك ، يجب أن يحمل ندا٪

Usersig

التوقيع الآمن (ما يعادل تصريح مرور مؤقت).

مرحلة اختبار التطوير (التدفق السريع): يوفر micro أو وحدة التحكم صفحة "تكوين أساسي" ، يمكنك إدخال اسم المستخدم (UserId) مباشرة على صفحة الويب ، وسيساعدك على حساب Usersig مؤقت بنقرة واحدة ، ونسخه مباشرة إلى الرمز.

مرحلة الإنتاج عبر الإنترنت (تيار النواة الصلبة): لا تقم أبدًا بترميز SecretKey الخاص بك في التطبيق أو رمز الواجهة الأمامية! الطريقة الصحيحة هي كتابة منطق حساب UserSig على الخادم الخلفي الخاص بك (مثل استخدام البرامج النصية Node.js أو Java أو Python). في كل مرة يدخل فيها التطبيق الغرفة ، اطلب من واجهة الخادم الخاصة بك الحصول على UserSig لضمان الأمان.

المرحلة الثالثة: التمرين القتالي الفعلي 1-بناء مشهد مكالمة فيديو متعددة اللاعبين (القتال التفاعلي لجميع الموظفين)

خصائص مكالمات الفيديو (مثل اجتماعات المديرين التنفيذيين ، وقتل النصوص عبر الإنترنت) هي:

كل شخص في الغرفة هو بطل الرواية ، ويجب على الجميع دفع التدفق ، ويعتمد ذلك على تدفق الآخرين. متطلبات التأخير عالية للغاية.

نحن نستخدم حاليا الأكثر تنوعا

الويب/H5 نهاية JavaScript SDK

على سبيل المثال (منطق iOS/Android مكافئ تمامًا) ، يأخذك 5 أسطر من التعليمات البرمجية الأساسية إلى التشغيل:

1. إدخال وتهيئة SDK

جافا سكريبت

Import TRTC من 'trtc-js-sdk' ؛

// 1. إنشاء كائنات عميل TRTC

Const client = TRTC.createClient({

Mode: 'rtc '، // rtc يمثل وضع مكالمة فيديو متعددة اللاعبين ، ويسعى إلى تأخير منخفض للغاية

SdkAppId: 1400xxxxxx, // املأ SDKAppID الخاص بك

UserId: 'user _ boss', // معرف المستخدم الحالي

UserSig: 'xxxxxxxxx' // الحوسبة السحابية التوقيع الجيد

});

2. دخول المنزل وجمع التدفق

جافا سكريبت

// 2. دخول الغرفة (رقم الغرفة: 12345)

Await client.join({ roomId: 12345 }) ؛

// 3. جمع الصوت والفيديو من الكاميرا المحلية والميكروفون

Const localStream = TRTC.createStream({ audio: true ، فيديو: true }) ؛

Await localStream.initialize() ؛ // تهيئة الكاميرا

// 4. قم بتركيب الشاشة المحلية على علامة <div> معينة على صفحة الويب لعرضها على نفسك

Local

Stream.play('local-video-view') ؛

// 5. دفع التدفق الخاص بك إلى Tencent Cloud حتى يتمكن الآخرون في الغرفة من رؤيته

Await client.publish(localStream) ؛

3. مراقبة وسحب صور الآخرين

عندما يأتي شخص آخر في الغرفة (مثل

User_employee

) وعند دفع التدفق ، يقوم SDK بتشغيل حدث ، نحتاج فقط إلى الاستماع وسحب التدفق:

جافاسكريبت

// 6. مراقبة الأحداث المتزايدة عن بعد

Client. on('stream-added', event => {

Const remoteStream = event. stream؛

// الاشتراك في صورة هذا الشخص

Client. subscribe(remoteStream) ؛

});

// 7. مراقبة الأحداث الناجحة للاشتراك عن بعد ، ورفعها على صفحة الويب

Client. on('stream-subscribed '، event => {

Const remoteStream = event. stream؛

// قم ببناء كتلة div لوضع مقاطع الفيديو الخاصة بالمستخدمين عن بُعد

RemoteStream. play('remote-video-view-'remoteStream.getUserId()) ؛

});

طالما أن المعدات الموجودة على كلا الجانبين تعمل على هذا المنطق ، فإن نظام مؤتمرات الفيديو متعدد الأشخاص بجودة صورة عالية الدقة وتأخير منخفض يصل إلى 200 مللي ثانية سيتم إحياؤه مباشرة في مكانه.

المرحلة الرابعة: التمرين القتالي الفعلي 2-بناء مشهد البث المباشر عبر الإنترنت منخفض التأخير (عشرة آلاف شخص يشاهدون Lianmai)

تختلف خصائص مشاهد البث المباشر (مثل البث المباشر للبضائع و PK على الإنترنت) تمامًا عن المؤتمرات:

لم يكن هناك سوى مذيع واحد أو اثنين في الغرفة يدفعان بشكل محموم ، وكان هناك عشرات الآلاف أو حتى مئات الآلاف من المتفرجين يشاهدون. إذا سمح لمئات الآلاف من الأشخاص بدخول المنزل ودفع بعضهم البعض في نفس الوقت ، فسوف ينفجر عرض النطاق الترددي للخادم على الفور ، وسترتفع التكلفة.

عند التعامل مع احتياجات البث المباشر ، تستخدم TRTC

"تبديل الأدوار"

و

"سحابة مختلطة"

الآليات.

1. تبديل الوضع

عند تهيئة العميل ، يجب تغيير الوضع إلى

ابق

:

جافاسكريبت

Const client = TRTC.createClient({

Mode: 'live' ، // live يمثل وضع البث المباشر التفاعلي

SdkAppId: 1400xxxxxx ،

UserId: 'user _ audience' ،

UserSig: 'xxxxxxxx'

});

2. التمييز بين دور المذيع والجمهور

عند دخول الغرفة ، يجب أن تعلن بوضوح هويتك الحقيقية:

مرساة كبيرة (مرساة كبيرة): لديه سلطة الدفع ويمكنه التحدث إلى الكاميرا.

الجمهور العادي (الجمهور): افتراضيًا ، يمكنك فقط مشاهدة التدفق ، ولا تشغل عرض النطاق الترددي التصاعدي لسحابة Tencent ، وهو أمر يوفر المال للغاية.

JavaScri

// الجمهور يدخل الغرفة

Await client.join({ roomId: 88888 ، role: 'audience' }) ؛

// إذا أراد الجمهور التقدم بطلب للحصول على "Taiwan Lianmai" ولم يكن بحاجة إلى تسجيل المغادرة ، فاتصل مباشرة بخط من الأوامر "التحول في مكانه":

Await client.switchRole('anchor') ؛

// بعد أن تصبح مذيعًا ، يمكنك نسخ رمز المرحلة الثالثة ، وتشغيل الكاميرا ونشر الدفق الخاص بك

3. في نهاية المطاف توفير المال: تمكين البث المباشر لـ CDN

إذا شاهد ملايين الأشخاص البث المباشر الخاص بك في نفس الوقت ، فسيتم استخدام جميع شبكات العمود الفقري الرئيسية لـ TRTC في الوقت الفعلي ، وستكون رسوم التدفق الهابط باهظة الثمن لدرجة أنك تشك في حياتك.

خطة المصنع القياسية الرئيسية: افتح خيار "البث المباشر الالتفافي" في الخلفية السحابية لـ Tencent.

منطق التشغيل: يقوم المرساة بالدفع في غرفة TRTC ، ويقوم Tencent Cloud الخلفية تلقائيًا "بنسخ" هذا التدفق في الوقت الفعلي عالي الدقة ، ويتحول مباشرة إلى دفق مباشر قياسي عادي (RTMP/HLS/WebRTC) في السحابة ، ثم يتم توزيعها عبر شبكة توزيع CDN إلى المتفرجين العاديين على مستوى المليون.

بهذه الطريقة ، حتى مذيع ماي يستمتع بـ 300 مللي ثانية من التأخير المنخفض للغاية ، بينما يقضي الجمهور الذي يشاهد الإثارة أكثر من 1 ~ 2 ثانية من تأخير CDN العادي ، لكنه يوفر لك ما يصل إلى 70 ٪ من ميزانية النطاق الترددي.

المرحلة الخامسة: تاريخ الدم والدموع لتجنب الحفر والصيانة اليومية

أذونات الجهاز عالقة: يقوم جانب الويب (H5) بتطوير الصوت والفيديو. نظرًا لسياسة الأمان ، يجب أن يكون المتصفح في بيئة HTTPS أو تحت localhost المحلية لاستحضار الكاميرا والميكروفون بشكل طبيعي. إذا تم نشره على الخادم باستخدام HTTP ، فسيقوم SDK بالإبلاغ مباشرة عن الأخطاء حتى التهيئة.

تحسين الشبكة الضعيفة للجوال: في وحدة التحكم ، تذكر التحقق من استراتيجية "Smooth". عندما تتدهور إشارة 4G/5G للمستخدم فجأة ، سيقوم النظام تلقائيًا بضغط الدقة ، وتقليل معدل الإطار ، وإعطاء الأولوية لضمان عدم صوت الصوت أو التحول إلى PPT. وهذا ما يسمى "آلية تعويض فقدان الحزمة (PLC)".

الخلاصة

الدراية القتالية الفعلية لـ Tencent Cloud TRTC نقية للغاية:

يختار الاجتماع وضع rtc ويكون جميع الموظفين على قدم المساواة ؛ يتم تحديد وضع البث المباشر ، ويتم تمييز السيد والعبد من خلال role ، ويجب أن تتوافق حركة المرور الكبيرة مع CDN الالتفافية.

طالما تم تصحيح هذه المجموعة من المنطق ، سواء كانت خدمة عملاء فيديو مخصصة للمؤسسة أو منصة بث مباشر تفاعلية على مستوى عشرات الملايين ، يمكنك استخدام الكود الأكثر أناقة لقضم العظم الصلب لتطوير الصوت والفيديو تمامًا.

cloud
← 返回新闻中心