rtsp视频直播流如何转换成websocket流在h5页面上观看?
网友回复
nodejs视频流转换
const NodeMediaServer = require('node-media-server'); const config = { rtmp: { port: 1935, chunk_size: 60000, gop_cache: true, ping: 30, ping_timeout: 60 }, http: { port: 8000, allow_origin: '*' } }; const nms = new NodeMediaServer(config); nms.run(); // 使用FFmpeg将RTSP推送到RTMP // ffmpeg -i rtsp://your-rtsp-url -c cop...
点击查看剩余70%
可以使用websocket中继
服务端
// Use the websocket-relay to serve a raw MPEG-TS over WebSockets. You can use // ffmpeg to feed the relay. ffmpeg -> websocket-relay -> browser // Example: // node websocket-relay yoursecret 8081 8082 // ffmpeg -i <some input> -f mpegts http://localhost:8081/yoursecret var fs = require('fs'), http = require('http'), WebSocket = require('ws'); if (process.argv.length < 3) { console.log( 'Usage: \n' + 'node websocket-relay.js <secret> [<stream-port> <websocket-port>]' ); process.exit(); } var STREAM_SECRET = process.argv[2], STREAM_PORT = process.argv[3] || 8081, WEBSOCKET_PORT = process.argv[4] || 8082, RECORD_STREAM = false; // Websocket Server var socketServer = new WebSocket.Server({port: WEBSOCKET_PORT, perMessageDeflate: false}); socketServer.connectionCount = 0; socketServer.on('connection', function(socket, upgradeReq) { socketServer.connectionCount++; console.log( 'New WebSocket Connection: ', (upgradeReq || socket.upgradeReq).socket.remoteAddress, (upgradeReq || socket.upgradeReq).headers['user-agent'], '('+socketServer.connectionCount+' total)' ); socket.on('close', function(co...
点击查看剩余70%
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?
pywebview如何使用浏览器自带语音识别与webspeech 的api?