Untuk memasang dan mengkonfigurasi Mediasoup-client dalam projek anda, ikuti langkah berikut:
Pasang Node.js
Pertama sekali, anda perlu memasang Node.js pada komputer anda. Node.js ialah persekitaran masa jalan JavaScript sebelah pelayan. Lawati tapak web rasmi Node.js( https://nodejs.org ) dan muat turun versi yang sesuai untuk sistem pengendalian anda. Setelah pemasangan selesai, anda boleh menyemak versi Node.js yang dipasang dengan membuka terminal dan menjalankan arahan berikut:
node -v
Mulakan projek dan pasang Mediasoup-client
Buat direktori baharu untuk projek anda dan buka terminal dalam direktori itu. Jalankan arahan berikut untuk memulakan projek Node.js baharu dan buat fail package.json:
npm init -y
Seterusnya, pasang Mediasoup-client dalam projek anda dengan menjalankan arahan berikut:
npm install mediasoup-client
Import dan konfigurasikan Mediasoup-client
Dalam fail kod sumber projek anda, tambahkan baris berikut untuk mengimport Mediasoup-client
const mediasoupClient = require('mediasoup-client');
Untuk mengkonfigurasi Mediasoup-client, anda perlu mencipta Device
objek. Objek ini mewakili peranti klien dan akan digunakan untuk mencipta dan mengurus sambungan media dengan pelayan Mediasoup. Anda boleh mencipta Device
objek menggunakan sintaks berikut:
const device = new mediasoupClient.Device();
Seterusnya, anda perlu mengambil maklumat "Keupayaan RTP Penghala" daripada pelayan Mediasoup. Keupayaan RTP Penghala mengandungi parameter teknikal seperti codec yang disokong, sokongan pelayan dan parameter pengurusan media yang berkaitan. Anda boleh mendapatkan maklumat ini melalui API HTTP atau dengan berkomunikasi terus dengan pelayan Mediasoup.
Selepas mendapat Keupayaan RTP Penghala, gunakan device.load()
kaedah untuk memuatkan maklumat ini ke dalam Device
objek.
Sebagai contoh:
const routerRtpCapabilities = await fetchRouterRtpCapabilities(); // Function to fetch Router RTP Capabilities from the Mediasoup server
await device.load({ routerRtpCapabilities });
Cipta dan gunakan Pengangkutan
Untuk menghantar dan menerima aliran media, anda perlu mencipta dan menggunakan Transport
objek. Setiap Transport
objek mewakili sambungan media yang unik dengan pelayan Mediasoup. Anda boleh mencipta Transport
objek menggunakan kaedah device.createSendTransport()
atau device.createRecvTransport()
.
Sebagai contoh:
const transport = await device.createSendTransport({
// Transport configuration
});
Apabila membuat Pengangkutan, anda boleh menyediakan parameter konfigurasi seperti URL pelayan dan port sambungan. Selain itu, anda boleh mendengar acara seperti 'bersambung' atau 'menghasilkan' pada Transport
objek untuk mengendalikan interaksi media yang berkaitan.
Cipta dan gunakan Pengeluar dan Pengguna
Untuk menghantar dan menerima strim media, anda perlu membuat dan menggunakan Producer
dan Consumer
objek. A Producer
mewakili sumber media yang dihantar daripada klien ke pelayan, manakala a Consumer
mewakili sumber media yang diterima daripada pelayan kepada klien. Anda boleh membuat Producer
menggunakan transport.produce()
kaedah, dan mencipta Consumer
menggunakan transport.consume()
kaedah.
Sebagai contoh:
// 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
// ...
Anda boleh menggunakan kaedah dan peristiwa yang tersedia pada Producer
dan Consumer
objek untuk mengawal penghantaran media, seperti menghantar data, menghidupkan/mematikan aliran media atau mengendalikan acara media yang berkaitan.
Keluarkan sumber
Apabila anda telah selesai menggunakan Mediasoup-client, pastikan anda mengeluarkan sumber untuk mengelakkan kebocoran memori dan isu sumber sistem. Tutup Pengangkutan dan punggah Peranti dengan menggunakan kaedah transport.close()
dan device.unload()
.
transport.close();
device.unload();
Ini ialah langkah asas untuk memasang, mengkonfigurasi dan menggunakan Mediasoup-client dalam projek anda. Rujuk Mediasoup-client dokumentasi dan contoh terperinci tambahan untuk mengetahui lebih lanjut tentang ciri dan keupayaannya yang berkuasa.