توضّح هذه الصفحة كيفية إعداد نموذج وتشغيله باستخدام تنفيذ العميل المرجعي بلغة C++. للاطّلاع على معلومات حول برنامج TypeScript، راجِع دليل البدء السريع لبرنامج TypeScript المرجعي.
المتطلبات الأساسية
لتنفيذ هذا التشغيل السريع، يجب استيفاء المتطلبات الأساسية التالية:
- لقد استنسخت مستودع GitHub.
- مشروع على Google Cloud تم تفعيل واجهة Google Meet REST API فيه
- حساب Google Workspace
تفعيل واجهة برمجة تطبيقات REST في Meet
قبل استخدام واجهات Google APIs، عليك تفعيلها في مشروع على Google Cloud. يمكنك تفعيل واجهة برمجة تطبيق واحدة أو أكثر في مشروع واحد على Google Cloud.Google Cloud Console
في Google Cloud Console، فعِّل واجهة Meet REST API.
تأكَّد من أنّك بصدد تفعيل واجهة Meet REST API في مشروع Cloud الصحيح، ثم انقر على التالي.
تأكَّد من تفعيل واجهة برمجة تطبيقات REST في Meet، ثم انقر على تفعيل.
gcloud CLI
إذا لزم الأمر، اضبط مشروع Cloud الحالي على المشروع الذي أنشأته:
gcloud config set project PROJECT_IDاستبدِل PROJECT_ID بمعرّف المشروع لمشروع Cloud الذي أنشأته.
فعِّل Meet REST API باتّباع الخطوات التالية:
gcloud services enable meet.googleapis.com
إنشاء برنامج C++ للعميل
تم إنشاء تنفيذ C++ باستخدام Generate Ninja (GN). لمزيد من المعلومات، يُرجى الاطّلاع على مستندات WebRTC.
أنشئ كلمة مرور من Git at Google واضبط git.
من واجهة سطر الأوامر (CLI)، غيِّر
<samples_location>إلى الدليل الذي يحتوي على النماذج ونفِّذ الأمر التالي الذي:- يغيّر دليل العمل إلى دليل المنزل.
- ينشئ هذا الأمر دليلاً في الدليل الرئيسي باسم
src. - يغيّر دليل العمل إلى
src. - يتم استنساخ https://chromium.googlesource.com/chromium/tools/depot_tools.git في الدليل src/ من git.
- تضيف هذه السمة مؤقتًا الدليل
~/src/depot_toolsإلى قائمة المواقع التي يبحث فيها Shell عن الأوامر القابلة للتنفيذ. - يغيّر دليل العمل إلى دليل cpp في موقع العيّنات.
- يتم تشغيل نص
./build.shالبرمجي.
cd ~ mkdir src cd src git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=~/src/depot_tools:$PATH cd <samples_location>/cpp sh ./build.sh
إنشاء رموز OAuth المميزة
لربط تطبيقك بواجهة برمجة التطبيقات Meet Media API، يجب أن يستخدم التطبيق بروتوكول OAuth لإنشاء رموز مميزة للوصول. لمزيد من المعلومات حول الوصول إلى Google APIs باستخدام OAuth، يُرجى الاطّلاع على استخدام بروتوكول OAuth 2.0 للدخول إلى Google APIs.
يمكنك استخدام مساحة بروتوكول OAuth 2.0 لإنشاء رموز مميزة. عند استخدام "مساحة المرح"، احرص على ما يلي:
- استخدِم معرّف العميل وبيانات الاعتماد السرية من مشروعك على السحابة الإلكترونية.
- طلب النطاقات الصحيحة
- سجِّل الدخول إلى حساب Google واقبل منح الإذن بالوصول.
بعد الانتهاء، انقر على الزر Exchange authorization code for tokens وانسخ رمز الدخول الذي تم إنشاؤه.
بدء اجتماع
ابدأ اجتماعًا باستخدام حساب المستخدم نفسه الذي استخدمته لإنشاء رمز OAuth المميز. انسخ رمز الاجتماع. أنت الآن جاهز لتشغيل النماذج.
نماذج التطبيقات
يوفّر مستودع GitHub نماذج لتلقّي الوسائط والبيانات الوصفية للمشاركين من اجتماع.
تجمع هذه العيّنات البيانات لمدة زمنية محدّدة (القيمة التلقائية هي 3 ثوانٍ) وتكتب البيانات التي تم جمعها في ملفات.
تكون الملفات الصوتية بتنسيق PCM16. تكون ملفات الفيديو بتنسيق YUV420p. يمكن تشغيل هذه الملفات باستخدام مكتبة مثل FFmpeg.
بما أنّ دقة الفيديو قد تتغيّر أثناء الاجتماع، تتضمّن العيّنات الدقة في أسماء ملفات الفيديو.
ستكون ملفات البيانات الوصفية للمشاركين ملفات نصية يمكن قراءتها.
نموذج وسائط لمستخدم واحد
تطبيق "عينة وسائط المستخدم الفردي" هو تطبيق أساسي يركّز على جمع بيانات الصوت والفيديو. لا تحدّد العيّنة المشارك الذي أنشأ بيانات الصوت والفيديو. لذلك، قد يؤدي استخدام هذه العيّنة في اجتماع يضم أكثر من مشارك واحد إلى إخراج صوت مشوّه.
لتشغيل عيّنة الوسائط الخاصة بالمستخدم الفردي، شغِّل:
Linux
$ sh ./run_multi.sh -- \
--meeting_space_id MEETING_SPACE_ID \
--oauth_token OAUTH_TOKEN
يتم تلقائيًا حفظ ملف صوتي واحد في /tmp/test_output_audio.pcm.
بما أنّ دقة بث الفيديو قد تتغيّر أثناء الاجتماع، قد يتم إنشاء ملفات فيديو متعددة. ستتضمّن أسماء ملفات الفيديو عدّادًا متزايدًا ودقة وضوح هذا الملف. على سبيل المثال، إذا تغيّرت درجة دقة بث الفيديو من 320x180 إلى 240x135 ثم إلى 320x180، سيتم إنشاء ملفات الفيديو التالية:
/tmp/test_output_video_0_320x180.pcm/tmp/test_output_video_1_240x135.pcm/tmp/test_output_video_2_320x180.pcm
(اختياري) استخدام FFmpeg لتشغيل ملفات الإخراج على نظامَي التشغيل Linux وMac
يمكن استخدام FFmpeg لتشغيل ملفات الصوت والفيديو التي تم إنشاؤها. أمثلة على الطلبات:
Linux وMac
# Audio
$ ffplay -f s16le -ar 48k -af aformat=channel_layouts=mono \
/tmp/test_output_audio.pcm
# Video
#
# `video_size` must match the resolution in the video filename (320x180 in
# this example).
$ ffplay -f rawvideo -pixel_format yuv420p -video_size 320x180 \
/tmp/test_output_video_0_320x180.yuv
الخيارات
يمكنك تحديد هذه الخيارات عند تشغيل العيّنات:
| Option | الوصف |
|---|---|
--output_file_prefix PREFIX |
تحديد البادئة لملفات الإخراج القيمة التلقائية هي /tmp_test_output_. |
--collection_duration DURATION |
حدِّد المدة الزمنية التي تريد جمع الوسائط خلالها. القيمة التلقائية هي 30s. |
--join_timeout TIMEOUT |
حدِّد المدة التي يجب الانتظار خلالها حتى ينضم التطبيق إلى المؤتمر. القيمة التلقائية هي 2m. |
--meet_api_url URL |
حدِّد عنوان URL لواجهة برمجة التطبيقات Meet Media API. القيمة التلقائية هي https://meet.googleapis.com/v2alpha/. |