ในการติดตั้งและกำหนดค่า Mediasoup-client ในโครงการของคุณ ให้ทำตามขั้นตอนเหล่านี้:
ติดตั้ง Node.js
ประการแรก คุณต้องติดตั้ง Node.js บนคอมพิวเตอร์ของคุณ Node.js เป็นสภาพแวดล้อมรันไทม์ JavaScript ฝั่งเซิร์ฟเวอร์ เยี่ยมชมเว็บไซต์อย่างเป็นทางการของ Node.js( https://nodejs.org ) และดาวน์โหลดเวอร์ชันที่เหมาะสมสำหรับระบบปฏิบัติการของคุณ เมื่อการติดตั้งเสร็จสิ้น คุณสามารถตรวจสอบเวอร์ชัน Node.js ที่ติดตั้งได้โดยเปิดเทอร์มินัลแล้วรันคำสั่งต่อไปนี้:
node -v
เริ่มต้นโครงการและติดตั้ง Mediasoup-client
สร้างไดเร็กทอรีใหม่สำหรับโปรเจ็กต์ของคุณและเปิดเทอร์มินัลในไดเร็กทอรีนั้น เรียกใช้คำสั่งต่อไปนี้เพื่อเริ่มต้นโครงการ Node.js ใหม่ และสร้างไฟล์ package.json:
npm init -y
ถัดไป ติดตั้ง Mediasoup-client ในโครงการของคุณโดยเรียกใช้คำสั่งต่อไปนี้:
npm install mediasoup-client
นำเข้าและกำหนดค่า Mediasoup-client
ในไฟล์ซอร์สโค้ดของโครงการของคุณ ให้เพิ่มบรรทัดต่อไปนี้เพื่อนำเข้า Mediasoup-client
const mediasoupClient = require('mediasoup-client');
ในการกำหนดค่า Mediasoup-client คุณต้องสร้าง Device
วัตถุ ออบเจ็กต์นี้แสดงถึงอุปกรณ์ไคลเอนต์และจะใช้เพื่อสร้างและจัดการการเชื่อมต่อสื่อกับเซิร์ฟเวอร์ Mediasoup คุณสามารถสร้าง Device
วัตถุโดยใช้ไวยากรณ์ต่อไปนี้:
const device = new mediasoupClient.Device();
ถัดไป คุณต้องดึงข้อมูล "ความสามารถ RTP ของเราเตอร์" จากเซิร์ฟเวอร์ Mediasoup ความสามารถ RTP ของเราเตอร์ประกอบด้วยพารามิเตอร์ทางเทคนิค เช่น ตัวแปลงสัญญาณที่รองรับ การสนับสนุนเซิร์ฟเวอร์ และพารามิเตอร์การจัดการสื่อที่เกี่ยวข้อง คุณสามารถดึงข้อมูลนี้ผ่าน HTTP API หรือโดยการสื่อสารโดยตรงกับเซิร์ฟเวอร์ Mediasoup
หลังจากได้รับความสามารถ RTP ของเราเตอร์แล้ว ให้ใช้ device.load()
วิธีโหลดข้อมูลนี้ลงใน Device
วัตถุ
ตัวอย่างเช่น:
const routerRtpCapabilities = await fetchRouterRtpCapabilities(); // Function to fetch Router RTP Capabilities from the Mediasoup server
await device.load({ routerRtpCapabilities });
สร้างและใช้การขนส่ง
ในการส่งและรับสตรีมสื่อ คุณต้องสร้างและใช้ Transport
วัตถุ แต่ละ Transport
ออบเจ็กต์แสดงถึงการเชื่อมต่อสื่อเฉพาะกับเซิร์ฟเวอร์ Mediasoup คุณสามารถสร้าง Transport
วัตถุโดยใช้ device.createSendTransport()
หรือ device.createRecvTransport()
เมธอด
ตัวอย่างเช่น:
const transport = await device.createSendTransport({
// Transport configuration
});
เมื่อสร้างการขนส่ง คุณสามารถระบุพารามิเตอร์การกำหนดค่า เช่น URL ของเซิร์ฟเวอร์และพอร์ตการเชื่อมต่อ นอกจากนี้ คุณสามารถฟังเหตุการณ์เช่น 'เชื่อมต่อ' หรือ 'ผลิต' บนวัตถุ Transport
เพื่อจัดการการโต้ตอบของสื่อที่เกี่ยวข้อง
สร้างและใช้ผู้ผลิตและผู้บริโภค
ในการส่งและรับสตรีมมีเดีย คุณต้องสร้างและใช้งาน Producer
และ Consumer
ออบเจกต์ A Producer
แสดงถึงแหล่งสื่อที่ส่งจากไคลเอนต์ไปยังเซิร์ฟเวอร์ ในขณะที่ a Consumer
แสดงถึงแหล่งสื่อที่ได้รับจากเซิร์ฟเวอร์ไปยังไคลเอนต์ คุณสามารถสร้างโดย Producer
ใช้ transport.produce()
วิธีการและสร้าง Consumer
โดยใช้ transport.consume()
วิธีการ
ตัวอย่างเช่น:
// Create Producer
const producer = await transport.produce({
kind: 'video',
// Producer configuration
});
// Create Consumer
const consumer = await transport.consume({
// Consumer configuration
});
// Use Producer and Consumer to send and receive media streams
// ...
คุณสามารถใช้เมธอดและเหตุการณ์ที่มีอยู่บน Producer
and Consumer
อ็อบเจ็กต์เพื่อควบคุมการส่งสื่อ เช่น การส่งข้อมูล การสลับเปิด/ปิดการสตรีมสื่อ หรือการจัดการเหตุการณ์สื่อที่เกี่ยวข้อง
ปล่อยทรัพยากร
เมื่อคุณใช้งานเสร็จแล้ว Mediasoup-client อย่าลืมปล่อยทรัพยากรเพื่อหลีกเลี่ยงการรั่วไหลของหน่วยความจำและปัญหาทรัพยากรระบบ ปิดการขนส่งและขนอุปกรณ์โดยใช้ วิธีการ transport.close()
และ device.unload()
transport.close();
device.unload();
นี่คือขั้นตอนพื้นฐานในการติดตั้ง กำหนดค่า และใช้ Mediasoup-client ในโครงการของคุณ โปรดดู Mediasoup-client เอกสารประกอบและตัวอย่างโดยละเอียดเพิ่มเติมเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติและความสามารถอันทรงพลัง