mirror of
https://github.com/vale981/doccam-pi
synced 2025-03-05 09:21:40 -05:00
324 lines
9.2 KiB
JavaScript
Executable file
324 lines
9.2 KiB
JavaScript
Executable file
let sock = require('socket.io-client');
|
||
let ffmpeg = require('fluent-ffmpeg');
|
||
let request = require('request');
|
||
let http = require('http');
|
||
let path = require('path');
|
||
let fs = require('fs');
|
||
let WMStrm = require('./lib/memWrite.js');
|
||
var ss = require('socket.io-stream');
|
||
let mustBe = false;
|
||
let restart = false;
|
||
var config, source, snapSource;
|
||
|
||
let status = {
|
||
status: 0,
|
||
error: -1
|
||
}
|
||
|
||
let errors = ['Camera Disconnected', 'YoutTube Disconnected', 'Wrong ffmpeg executable.'];
|
||
let cmd;
|
||
|
||
let spawn = function () {
|
||
source = 'rtsp://' + config.camIP + ':' + config.camPort + '/' + config.camProfile;
|
||
ffmpeg.setFfmpegPath(config.ffmpegPath)
|
||
delete cmd;
|
||
cmd = ffmpeg({
|
||
source: source,
|
||
niceness: -20,
|
||
stdoutLines: 20
|
||
})
|
||
.videoCodec('copy')
|
||
.audioBitrate('128k')
|
||
.audioChannels(1)
|
||
.audioFrequency(11025)
|
||
.audioCodec('libmp3lame')
|
||
.on('start', function (commandLine) {
|
||
status.running = 0;
|
||
wLog('Spawned Ffmpeg with command: ' + commandLine, 4);
|
||
})
|
||
.on('end', function (o, e) {
|
||
imDead('Normal Stop.', e);
|
||
})
|
||
.on('error', function (err, o, e) {
|
||
console.log(err);
|
||
if (err.message.indexOf(source + ': No route to host') > -1 || err.message.indexOf(source + ': Connection refused') > -1 || err.message.indexOf(source + ': Input/output error') > -1)
|
||
criticalProblem(0, handleDisc, config.camIP, config.camPort)
|
||
else if (err.message.indexOf(source + 'Input/output error') > -1 || err.message.indexOf('rtmp://a.rtmp.youtube.com/live2/' + config.key + ': Network is unreachable') > -1)
|
||
criticalProblem(1, handleDisc, 'a.rtmp.youtube.com/live2/', 1935);
|
||
else if (err.message.indexOf('spawn') > -1 || err.message.indexOf('niceness') > -1)
|
||
criticalProblem(2, function () {});
|
||
else if (err.message.indexOf('SIGKILL') > -1 |