หน้านี้จะอธิบายวิธีตั้งค่าและเรียกใช้ตัวอย่างโดยใช้การใช้งานไคลเอ็นต์ อ้างอิง C++ หากต้องการดูข้อมูลเกี่ยวกับไคลเอ็นต์ TypeScript แทน โปรดดูเริ่มต้นใช้งานไคลเอ็นต์อ้างอิง TypeScript
ข้อกำหนดเบื้องต้น
คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้จึงจะเรียกใช้การเริ่มต้นใช้งานฉบับย่อนี้ได้
- คุณได้โคลนที่เก็บ GitHub แล้ว
- โปรเจ็กต์ Google Cloud ที่เปิดใช้ REST API ของ Google Meet
- บัญชี Google Workspace
เปิดใช้ Meet REST API
ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้คอนโซล Google Cloud
เปิดใช้ Meet REST API ในคอนโซล Google Cloud
ยืนยันว่าคุณกำลังเปิดใช้ Meet REST API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่ถูกต้อง จากนั้นคลิกถัดไป
ยืนยันว่าคุณกำลังเปิดใช้ Meet REST API แล้วคลิกเปิดใช้
gcloud CLI
หากจำเป็น ให้ตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์ปัจจุบันเป็นโปรเจ็กต์ที่คุณสร้างขึ้นโดยทำดังนี้
gcloud config set project PROJECT_IDแทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ของ โปรเจ็กต์ที่อยู่ในระบบคลาวด์ ที่คุณสร้าง
วิธีเปิดใช้ Meet REST API
gcloud services enable meet.googleapis.com
สร้างไคลเอ็นต์ C++
การใช้งาน C++ สร้างขึ้นด้วย Generate Ninja (GN) ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของ WebRTC
สร้างรหัสผ่านจาก Git ที่ 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 API ด้วย OAuth ได้ที่การใช้ OAuth 2.0 เพื่อเข้าถึง Google API
คุณใช้ OAuth 2.0 Playground เพื่อสร้างโทเค็นได้ เมื่อใช้ Playground โปรดทำดังนี้
- ใช้รหัสไคลเอ็นต์และข้อมูลเข้าสู่ระบบลับจากโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- ขอขอบเขตที่ถูกต้อง
- ลงชื่อเข้าใช้บัญชี Google และยอมรับสิทธิ์เข้าถึง
เมื่อเสร็จแล้ว ให้คลิกปุ่ม Exchange authorization code for tokens แล้วคัดลอกโทเค็นเพื่อการเข้าถึงที่สร้างขึ้น
เริ่มการประชุม
เริ่มการประชุมโดยใช้บัญชีผู้ใช้เดียวกันกับที่ คุณใช้สร้างโทเค็น OAuth คัดลอกรหัสการประชุม ตอนนี้คุณพร้อมที่จะ เรียกใช้ตัวอย่างแล้ว
แอปตัวอย่าง
ที่เก็บ GitHub มี ตัวอย่างสำหรับการรับสื่อและข้อมูลเมตาของผู้เข้าร่วมจากการประชุม
ตัวอย่างเหล่านี้จะรวบรวมข้อมูลเป็นระยะเวลาที่ระบุ (ค่าเริ่มต้นคือ 3 วินาที) และเขียนข้อมูลที่รวบรวมไว้ลงในไฟล์
ไฟล์เสียงอยู่ในรูปแบบ PCM16 ไฟล์วิดีโออยู่ในรูปแบบ YUV420p ไฟล์เหล่านี้ สามารถเล่นได้โดยใช้ไลบรารี เช่น FFmpeg
เนื่องจากความละเอียดของวิดีโออาจเปลี่ยนแปลงในระหว่างการประชุม ตัวอย่างจึงรวมความละเอียดไว้ในชื่อไฟล์วิดีโอ
ไฟล์ข้อมูลเมตาของผู้เข้าร่วมจะเป็นไฟล์ข้อความที่มนุษย์อ่านได้
ตัวอย่างสื่อของผู้ใช้รายเดียว
ตัวอย่างสื่อของผู้ใช้รายเดียวเป็นแอปพื้นฐานที่มุ่งเน้นการรวบรวมเสียงและวิดีโอ ตัวอย่างไม่ได้ระบุว่าผู้เข้าร่วมคนใดเป็นผู้สร้างข้อมูลเสียงและวิดีโอ ดังนั้นการใช้ตัวอย่างนี้ในการประชุมที่มีผู้เข้าร่วมมากกว่า 1 คน อาจทำให้เอาต์พุตเสียหาย
หากต้องการเรียกใช้ตัวอย่างสื่อสำหรับผู้ใช้คนเดียว ให้เรียกใช้คำสั่งต่อไปนี้
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 API ค่าเริ่มต้นคือ https://meet.googleapis.com/v2alpha/ |