การตั้งค่าและการกำหนดค่า Mediasoup-client ในโครงการของคุณ

ในการติดตั้งและกำหนดค่า 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 เอกสารประกอบและตัวอย่างโดยละเอียดเพิ่มเติมเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติและความสามารถอันทรงพลัง