|
|
|
|
@ -70,16 +70,28 @@ let mayRestart = false;
|
|
|
|
|
|
|
|
|
|
if (fs.existsSync('/tmp/video')) {
|
|
|
|
|
const initialVideo = fs.readFileSync('/tmp/video');
|
|
|
|
|
process = require('child_process').spawn('ffplay', ['-fs', '-loop', '2147483647', '-hide_banner', '-loglevel', 'error', initialVideo]);
|
|
|
|
|
startVideo(initialVideo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function startVideo(path) {
|
|
|
|
|
process = require('child_process').spawn('ffplay', ['-fs', '-loop', '2147483647', '-hide_banner', '-loglevel', 'error', path]);
|
|
|
|
|
|
|
|
|
|
process.stdout.on('data', (data) => {
|
|
|
|
|
console.log(`stdout: ${data}`);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
process.stderr.on('data', (data) => {
|
|
|
|
|
console.error(`stderr: ${data}`);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
process.on("exit", () => {
|
|
|
|
|
if (!mayRestart) {
|
|
|
|
|
process = require('child_process').spawn('ffplay', ['-fs', '-loop', '2147483647', '-hide_banner', '-loglevel', 'error', initialVideo]);
|
|
|
|
|
startVideo(path);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fs.mkdirSync('/video', { recursive: true });
|
|
|
|
|
// fs.mkdirSync('/video', { recursive: true });
|
|
|
|
|
|
|
|
|
|
app.post('/play', (req, res) => {
|
|
|
|
|
if (process) {
|
|
|
|
|
@ -93,27 +105,13 @@ app.post('/play', (req, res) => {
|
|
|
|
|
console.log(video);
|
|
|
|
|
|
|
|
|
|
if (video.startsWith('/media/pi')) {
|
|
|
|
|
fs.copyFileSync(video, path.join('/tmp/', path.basename(video)));
|
|
|
|
|
video = path.join('/tmp/', path.basename(video))
|
|
|
|
|
fs.copyFileSync(video, path.join('/video/', path.basename(video)));
|
|
|
|
|
video = path.join('/video/', path.basename(video))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fs.writeFileSync('/tmp/video', video);
|
|
|
|
|
|
|
|
|
|
process = require('child_process').spawn('ffplay', ['-fs', '-loop', '2147483647', '-hide_banner', '-loglevel', 'error', video]);
|
|
|
|
|
|
|
|
|
|
process.stdout.on('data', (data) => {
|
|
|
|
|
console.log(`stdout: ${data}`);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
process.stderr.on('data', (data) => {
|
|
|
|
|
console.error(`stderr: ${data}`);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
process.on("exit", () => {
|
|
|
|
|
if (!mayRestart) {
|
|
|
|
|
process = require('child_process').spawn('ffplay', ['-fs', '-loop', '2147483647', '-hide_banner', '-loglevel', 'error', video]);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
startVideo(video);
|
|
|
|
|
|
|
|
|
|
res.json({ status: 'ok' });
|
|
|
|
|
});
|
|
|
|
|
|