Untitled
unknown
javascript
2 years ago
1.2 kB
9
Indexable
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
const WebSocket = require('ws');
const UDP_PORT = 12345; // UDP port for receiving H.264 video frames
const WS_PORT = 3000; // WebSocket port for clients to connect
const wss = new WebSocket.Server({ port: WS_PORT });
// Set up WebSocket connections
wss.on('connection', (ws) => {
// Handle incoming H.264 video frames from UDP and send them to clients
server.on('message', (message) => {
// Assuming message contains raw H.264 video data as a Buffer
// Send the video frame to all connected WebSocket clients
wss.clients.forEach((client) => {
if (client.readyState === WebSocket.OPEN) {
client.send(message);
}
});
});
});
// Start the UDP server to receive H.264 video frames
server.on('error', (err) => {
console.error(`UDP server error:\n${err.stack}`);
server.close();
});
server.on('message', (msg, rinfo) => {
// Handle incoming H.264 video frames here if necessary
});
server.on('listening', () => {
const address = server.address();
console.log(`UDP server listening on ${address.address}:${address.port}`);
});
server.bind(UDP_PORT);Editor is loading...