Meet Media API: دليل البدء السريع لبرنامج مرجعي لإصدار C++

توضّح هذه الصفحة كيفية إعداد نموذج وتشغيله باستخدام تنفيذ عميل المرجع بلغة ++C client implementation. للتعرّف على عميل TypeScript بدلاً من ذلك، يُرجى الاطّلاع على التشغيل السريع لعميل المرجع بلغة TypeScript.

المتطلبات الأساسية

لتشغيل هذا التشغيل السريع، يجب استيفاء المتطلبات الأساسية التالية:

تفعيل Meet REST API

قبل استخدام Google APIs، عليك تفعيلها في مشروع على Google Cloud. يمكنك تفعيل واجهة برمجة تطبيق واحدة أو أكثر في مشروع واحد على Google Cloud.

Google Cloud Console

  1. في Google Cloud Console، فعِّل Meet REST API.

    تفعيل واجهات برمجة التطبيقات

  2. أكِّد أنّك تُفعِّل Meet REST API في مشروع على السحابة الإلكترونية الصحيح، ثم انقر على التالي.

  3. أكِّد أنّك تُفعِّل Meet REST API، ثم انقر على تفعيل.

gcloud CLI

  1. إذا لزم الأمر، اضبط مشروع السحابة الإلكترونية الحالي على المشروع الذي أنشأته:

    gcloud config set project PROJECT_ID

    استبدِل PROJECT_ID بـ رقم تعريف مشروع مشروع على السحابة الإلكترونية الذي أنشأته.

  2. فعِّل Meet REST API:

    gcloud services enable meet.googleapis.com

إنشاء عميل ++C

يتم إنشاء تنفيذ ++C باستخدام Generate Ninja (GN). لمزيد من المعلومات، يُرجى الاطّلاع على مستندات WebRTC.

  1. أنشئ كلمة مرور من Git في Google واضبط git.

  2. من واجهة سطر الأوامر (CLI)، غيِّر <samples_location> إلى الدليل الذي يحتوي على النماذج وشغِّل الأمر التالي:

    • يغيِّر هذا الأمر دليل العمل إلى الدليل الرئيسي.
    • ينشئ هذا الأمر دليلاً باسم src في الدليل الرئيسي.
    • يغيِّر هذا الأمر دليل العمل إلى src.
    • يستنسخ هذا الأمر https://chromium.googlesource.com/chromium/tools/depot_tools.git في دليل src/ من git.
    • يضيف هذا الأمر مؤقتًا دليل ~/src/depot_tools إلى قائمة المواقع التي يبحث فيها shell عن الأوامر القابلة للتنفيذ.
    • يغيِّر هذا الأمر دليل العمل إلى دليل cpp في موقع النماذج.
    • يشغِّل هذا الأمر النص البرمجي shell‏ ./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 لإنشاء الرموز المميزة. عند استخدام مساحة بروتوكول 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/.