หน้านี้จะอธิบายวิธีตั้งค่าและเรียกใช้ตัวอย่างโดยใช้การใช้งานไคลเอ็นต์ อ้างอิง C++ หากต้องการดูข้อมูลเกี่ยวกับไคลเอ็นต์ TypeScript แทน โปรดดูเริ่มต้นใช้งานไคลเอ็นต์อ้างอิง TypeScript
ข้อกำหนดเบื้องต้น
หากต้องการเรียกใช้คู่มือเริ่มต้นฉบับย่อนี้ คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้
- คุณได้โคลนที่เก็บ GitHub แล้ว
- โปรเจ็กต์ Google Cloud ที่เปิดใช้ Google Meet REST API
- บัญชี Google Workspace
เปิดใช้ Meet REST API
ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ Google Cloud คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้คอนโซล Google Cloud
เปิดใช้ Meet REST API ใน Google Cloud Console
ยืนยันว่าคุณกำลังเปิดใช้ Meet REST API ในโปรเจ็กต์ Cloud ที่ถูกต้อง จากนั้นคลิกถัดไป
ยืนยันว่าคุณกำลังเปิดใช้ Meet REST API แล้วคลิกเปิดใช้
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 ที่ 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 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/ |