From e7cbcfdd18939795d03f9d86636e347cf307b6ba Mon Sep 17 00:00:00 2001 From: Filip Borum Poulsen Date: Thu, 21 Mar 2024 12:55:21 +0100 Subject: [PATCH] FIX --- index.js | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/index.js b/index.js index 6298c71..7b66831 100644 --- a/index.js +++ b/index.js @@ -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' }); });