בדף הזה מוסבר איך להגדיר ולהריץ דוגמה באמצעות הטמעה של לקוח הפניה ל-C++. אם רוצים לקבל מידע על לקוח TypeScript, אפשר לעיין במדריך לתחילת העבודה עם לקוח TypeScript.
דרישות מוקדמות
כדי להפעיל את המדריך למתחילים הזה, אתם צריכים שיהיו לכם:
- שיכפלתם את המאגר ב-GitHub.
- פרויקט ב-Google Cloud שמופעל בו Google Meet REST API.
- חשבון Google Workspace.
הפעלת Meet API בארכיטקטורת REST
לפני שאתם משתמשים בממשקי Google API, אתם צריכים להפעיל אותם בפרויקט ב-Google Cloud. בכל פרויקט אפשר להפעיל ממשק API אחד או יותר.מסוף Google Cloud
במסוף Google Cloud, מפעילים את Meet API בארכיטקטורת REST.
מוודאים שאתם מפעילים את Meet API בארכיטקטורת REST בפרויקט הנכון ב-Cloud, ואז לוחצים על הבא.
מאשרים שאתם מפעילים את Meet API בארכיטקטורת REST ולוחצים על הפעלה.
CLI של gcloud
אם צריך, מגדירים את פרויקט Cloud הנוכחי לפרויקט שיצרתם:
gcloud config set project PROJECT_IDמחליפים את PROJECT_ID במזהה הפרויקט של פרויקט בענן שיצרתם.
מפעילים את API בארכיטקטורת REST של Meet:
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לרשימת המיקומים שבהם מעטפת הפקודות מחפשת פקודות הפעלה. - הפקודה משנה את ספריית העבודה לספריית 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 Playground כדי ליצור אסימונים. כשמשתמשים ב-Playground, חשוב:
- משתמשים במזהה הלקוח ובפרטי הכניסה הסודיים מהפרויקט בענן.
- צריך לבקש את ההיקפים הנכונים.
- נכנסים לחשבון 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
אפשרויות
אפשר לציין את האפשרויות האלה כשמריצים את הדוגמאות:
| אפשרות | תיאור |
|---|---|
--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/. |