Browse Source

端口修改

master
z_yu 2 years ago
parent
commit
956e38e072
  1. 3
      README.md
  2. 6
      index.html
  3. 16
      lib/RequestManager.js
  4. 1018
      package-lock.json
  5. 2
      package.json
  6. 21
      pm2.config.js

3
README.md

@ -21,4 +21,5 @@
https://github.com/phoboslab/jsmpeg https://github.com/phoboslab/jsmpeg
客户端演示,参照项目中的 index.html 客户端演示,参照项目中的 index.html
----------------------------------------------
pm2 start pm2.config.js

6
index.html

@ -5,6 +5,7 @@
<meta name="viewport" content="width=device-width"> <meta name="viewport" content="width=device-width">
<title>DEMO node-rtsp-stream-jsmpeg</title> <title>DEMO node-rtsp-stream-jsmpeg</title>
<script src="https://jsmpeg.com/jsmpeg.min.js"></script> <script src="https://jsmpeg.com/jsmpeg.min.js"></script>
<!-- <script src="../jsmpeg.min.js"></script> -->
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<style type="text/css"> <style type="text/css">
@ -23,7 +24,8 @@
<body> <body>
<div> <div>
<!-- <span>rtsp : <input type="text" name="rtsp" id="rtsp" value="rtsp://admin:xcs123456@192.168.3.11:554/h264/ch1/main/av_stream"></span><br /> --> <!-- <span>rtsp : <input type="text" name="rtsp" id="rtsp" value="rtsp://admin:xcs123456@192.168.3.11:554/h264/ch1/main/av_stream"></span><br /> -->
<span>rtsp : <input type="text" name="rtsp" id="rtsp" value="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"></span><br />
<span>rtsp : <input type="text" name="rtsp" id="rtsp"
value="rtsp://admin:yxk63603325@192.168.99.21:554/1/1"></span><br />
<span>rtsp : <input type="text" name="size" id="size" value="1024*768"></span><br /> <span>rtsp : <input type="text" name="size" id="size" value="1024*768"></span><br />
<canvas id="video-canvas"> <canvas id="video-canvas">
@ -47,7 +49,7 @@
function start() { function start() {
var rstp = $('#rtsp').val() var rstp = $('#rtsp').val()
var size = $('#size').val() var size = $('#size').val()
$.post("http://127.0.0.1:3000/cameras/", { rtspUrl:rstp, size: size }, function (result) {
$.post("http://127.0.0.1:3000/cameras/", { rtspUrl: rstp, size: size, port: '3000', videoRoute: '1' }, function(result) {
var url = "ws://127.0.0.1:" + result.port; var url = "ws://127.0.0.1:" + result.port;
var canvas = document.getElementById('video-canvas'); var canvas = document.getElementById('video-canvas');
let opt = { let opt = {

16
lib/RequestManager.js

@ -40,16 +40,23 @@ requestManager.prototype = {
let idx = -1 let idx = -1
idx = args.findIndex(a => a.rtspUrl == arg.rtspUrl) idx = args.findIndex(a => a.rtspUrl == arg.rtspUrl)
if (idx !== -1) { if (idx !== -1) {
args[idx].stream.stop()
let stop = args[idx].stream.stop()
if(stop.wsServer.clients.size === 1){
result = args.splice(idx, 1) result = args.splice(idx, 1)
}
} else { } else {
} }
console.log(args) console.log(args)
return result return result
}, },
_randomPort: function () {
let port = Math.floor(Math.random() * (4001 - 3001) + 3001)
_randomPort: function (arg) {
let port
if(arg) {
port = Number(arg.port) + Number(arg.videoRoute)
}else{
port = Math.floor(Math.random() * (4001 - 3001) + 3001)
}
return port return port
}, },
_openVideo: function (arg) { _openVideo: function (arg) {
@ -79,7 +86,7 @@ requestManager.prototype = {
} }
let source = { let source = {
rtspUrl: arg.rtspUrl, rtspUrl: arg.rtspUrl,
port: this._randomPort(),
port: this._randomPort(arg),
size: arg.size, size: arg.size,
stream: null stream: null
} }
@ -87,7 +94,6 @@ requestManager.prototype = {
args.push(target) args.push(target)
return target return target
} }
} }
module.exports = requestManager module.exports = requestManager

1018
package-lock.json
File diff suppressed because it is too large
View File

2
package.json

@ -3,7 +3,7 @@
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"scripts": { "scripts": {
"start": "node ./bin/www"
"start": "set PORT=3000 && node ./bin/www"
}, },
"dependencies": { "dependencies": {
"cookie-parser": "~1.4.4", "cookie-parser": "~1.4.4",

21
pm2.config.js

@ -0,0 +1,21 @@
module.exports = {
apps: [
{
name: 'rtsp-stream-server', // app名称
script: './bin/www', // 要运行的脚本的路径。
args: '', // 由传递给脚本的参数组成的字符串或字符串数​​组。
output: './log/out.log',
error: './log/error.log',
log: './log/combined.outerr.log',
// merge_logs: true, // 集群的所有实例的日志文件合并
log_date_format: "YYYY-MM-DD HH:mm Z",
instances: 1, // 进程数 1、数字 2、'max'根据cpu内核数
max_memory_restart: '1G', // 当内存超过1024M时自动重启
watching: true,
env_dev: {
"PORT": 3000,
"NODE_ENV": "development"
}
}
],
}
Loading…
Cancel
Save