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