source updated with latest changes:

configurable ports, test_ocr server function, dependencies
This commit is contained in:
Dobromir Popov 2023-03-15 14:35:08 +00:00
parent 5a776afe08
commit 88e9353b03
2 changed files with 65 additions and 10 deletions

View File

@ -6,7 +6,10 @@
"start": "node /app/web/server.js" "start": "node /app/web/server.js"
}, },
"dependencies": { "dependencies": {
"body-parser": "^1.20.2",
"dotenv": "^16.0.3",
"express": "^4.18.2", "express": "^4.18.2",
"node-persist": "^3.1.3",
"request": "^2.88.2", "request": "^2.88.2",
"ws": "^8.12.1" "ws": "^8.12.1"
} }

View File

@ -1,14 +1,13 @@
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8081 });
console.log('WebSocket server started on port 8081');
//load .env file //load .env file
if (require('dotenv')) { if (require('dotenv')) {
require('dotenv').config() require('dotenv').config()
} }
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: process.env.SERVER_PORT_WS });
console.log('WebSocket server started on port 8081');
console.log(process.env) console.log(process.env)
console.log(process.env.TTS_BACKEND_URL) console.log(process.env.TTS_BACKEND_URL)
console.log(process.env.WS_URL) console.log(process.env.WS_URL)
@ -148,7 +147,7 @@ app.post('/settings', (req, res) => {
sessionData.language = body.language; sessionData.language = body.language;
console.log(`Session ${sid}: language set to ${sessionData.language}`); console.log(`Session ${sid}: language set to ${sessionData.language}`);
} }
if(body.storeRecordings != undefined) { if (body.storeRecordings != undefined) {
sessionData.storeRecordings = body.storeRecordings; sessionData.storeRecordings = body.storeRecordings;
console.log(`Session ${sid}: storeRecordings set to ${sessionData.storeRecordings}`); console.log(`Session ${sid}: storeRecordings set to ${sessionData.storeRecordings}`);
} }
@ -172,9 +171,62 @@ app.post('/upload', (req, res) => {
console.log(err); console.log(err);
res.send('ERROR', 500, { 'Content-Type': 'text/plain' }); res.send('ERROR', 500, { 'Content-Type': 'text/plain' });
} }
});
app.get('/test_ocr', (req, res) => {
var fs = require('fs');
var request = require('request');
var filename = 'audio_me2.ogg';
if (req.query.filename != undefined) {
filename = req.query.filename;
}
var formData = {
task: 'transcribe',
language: 'en',
output: 'json',
audio_file: {
value: fs.createReadStream('rec/dev/' + filename),
options: {
filename: 'audio.ogg',
contentType: 'audio/ogg'
}
}
};
if (req.query.language != undefined) {
formData.language = req.query.language;
}
var tts_url = process.env.TTS_BACKEND_URL;
if (req.query.ttsID != undefined) {
//1: TTS_BACKEND_URL
//2: TTS_BACKEND_URL2
//3: TTS_BACKEND_URL3
//4: TTS_BACKEND_URL4
if (req.query.ttsID !== '1') {
tts_url = process.env['TTS_BACKEND_URL' + req.query.ttsID];
}
}
//record start time
var start = new Date().getTime();
request.post({ url: tts_url, formData: formData }, function optionalCallback(err, httpResponse, body) {
if (err) {
return console.error('upload to ' + tts_url + ' failed:', err);
}
console.log('decoded:', body);
//duration of the transcribe in 0.00s
var duration = new Date().getTime() - start;
console.log('decoded (' + duration + 'ms):', body);
res.send('(' + duration + 'ms): ' + body);
});
}); });
app.listen(8080, () => { app.listen(process.env.SERVER_PORT_HTTP, () => {
console.log('Server listening on port 8080'); console.log('Server listening on port ' + process.env.SERVER_PORT_HTTP + ': http://localhost:' + process.env.SERVER_PORT_HTTP + '/');
}); });