Updating build
This commit is contained in:
parent
a3d64fb00b
commit
d59a58f63d
6
.gitignore
vendored
6
.gitignore
vendored
@ -8,7 +8,6 @@ lerna-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
@ -113,4 +112,7 @@ dist
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.*
|
||||
.pnp.*
|
||||
|
||||
tsconfig.tsbuildinfo
|
||||
lib
|
||||
|
110
lib/index.js
110
lib/index.js
@ -1,110 +0,0 @@
|
||||
"use strict";
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var child_process_1 = require("child_process");
|
||||
var events_1 = require("events");
|
||||
var fs_1 = __importDefault(require("fs"));
|
||||
var Rtsp = /** @class */ (function (_super) {
|
||||
__extends(Rtsp, _super);
|
||||
function Rtsp(connectionString) {
|
||||
var _this = _super.call(this) || this;
|
||||
_this.onError = function (err) {
|
||||
console.error('Failed to start stream: ' + err.message);
|
||||
};
|
||||
_this.onStdErrorData = function (data) {
|
||||
if (!_this._started) {
|
||||
_this._started = true;
|
||||
}
|
||||
data.toString().split(/\n/).forEach(function (line) {
|
||||
console.debug(line);
|
||||
});
|
||||
};
|
||||
_this.onExit = function (code, signal) {
|
||||
var message = 'FFmpeg exited with code: ' + code + ' and signal: ' + signal;
|
||||
if (code == null || code === 255) {
|
||||
if (_this._childProcess && _this._childProcess.killed) {
|
||||
console.debug(message + ' (Expected)');
|
||||
}
|
||||
else {
|
||||
console.error(message + ' (Unexpected)');
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.error(message + ' (Error)');
|
||||
}
|
||||
};
|
||||
_this.onData = function (data) {
|
||||
if (data.length > 1) {
|
||||
_this._buffer = _this._buffer ? Buffer.concat([_this._buffer, data]) : _this._buffer = Buffer.from(data);
|
||||
//End of image
|
||||
if (data[data.length - 2].toString(16) == "ff" && data[data.length - 1].toString(16) == "d9") {
|
||||
_this.emit('data', _this._buffer);
|
||||
_this._buffer = Buffer.from('');
|
||||
console.log();
|
||||
}
|
||||
}
|
||||
};
|
||||
_this._started = false;
|
||||
_this._connecteionString = connectionString;
|
||||
_this._childProcess = undefined;
|
||||
_this._buffer = Buffer.from('');
|
||||
return _this;
|
||||
}
|
||||
Object.defineProperty(Rtsp.prototype, "isStarted", {
|
||||
get: function () {
|
||||
return this._started;
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
});
|
||||
Rtsp.prototype.start = function () {
|
||||
var _a;
|
||||
var args = "-i " + this._connecteionString + " -r 30 -f image2 -update 1 -";
|
||||
this._childProcess = child_process_1.spawn("ffmpeg", args.split(/\s+/));
|
||||
if (!this._childProcess) {
|
||||
return;
|
||||
}
|
||||
(_a = this._childProcess.stdout) === null || _a === void 0 ? void 0 : _a.on('data', this.onData);
|
||||
this._childProcess.on('exit', this.onExit);
|
||||
this._childProcess.on('error', this.onError);
|
||||
if (this._childProcess.stderr) {
|
||||
this._childProcess.stderr.on('data', this.onStdErrorData);
|
||||
}
|
||||
};
|
||||
Rtsp.prototype.close = function () {
|
||||
this._childProcess && this._childProcess.kill('SIGKILL');
|
||||
this.emit('closed');
|
||||
};
|
||||
Rtsp.prototype.getStdin = function () {
|
||||
return this._childProcess ? this._childProcess.stdin : null;
|
||||
};
|
||||
return Rtsp;
|
||||
}(events_1.EventEmitter));
|
||||
exports.Rtsp = Rtsp;
|
||||
var rtsp = new Rtsp("rtsp://brandon:asdf1234@192.168.1.229/live");
|
||||
rtsp.on('data', function (data) {
|
||||
rtsp.close();
|
||||
fs_1.default.writeFile("/Users/brandonwatson/Documents/Git/Gitea/asdf.jpeg", data, 'base64', function (err) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
});
|
||||
rtsp.start();
|
||||
//# sourceMappingURL=index.js.map
|
@ -1 +0,0 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@ -14,7 +14,7 @@
|
||||
// "outFile": "./", /* Concatenate and emit output to single file. */
|
||||
"outDir": "./lib", /* Redirect output structure to the directory. */
|
||||
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||
// "composite": true, /* Enable project compilation */
|
||||
"composite": true, /* Enable project compilation */
|
||||
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
|
||||
// "removeComments": true, /* Do not emit comments to output. */
|
||||
// "noEmit": true, /* Do not emit outputs. */
|
||||
|
Loading…
Reference in New Issue
Block a user