Commit a694fed40688cc0d59285b935a59456e852cfad1
1 parent
d46f8520
Exists in
master
and in
1 other branch
Correção no Reconhecedor
Showing
5 changed files
with
30 additions
and
9 deletions
Show diff stats
log/log
mixer/src/Mixer.cpp
@@ -121,7 +121,7 @@ void Mixer::mixVideos () { | @@ -121,7 +121,7 @@ void Mixer::mixVideos () { | ||
121 | " [out]\" -sameq -strict experimental -vcodec mpeg2video -r 30 -threads "+this->numThreads+" "+pathFinal; | 121 | " [out]\" -sameq -strict experimental -vcodec mpeg2video -r 30 -threads "+this->numThreads+" "+pathFinal; |
122 | */ | 122 | */ |
123 | 123 | ||
124 | - string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" -y -vf \"movie="+this->secondaryVideo+", "+ | 124 | + string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" -v quiet -y -vf \"movie="+this->secondaryVideo+", "+ |
125 | "scale="+ num1String +":"+num2String+", setpts=PTS-STARTPTS, [movie] overlay"+transparency+"="+strPosition+ | 125 | "scale="+ num1String +":"+num2String+", setpts=PTS-STARTPTS, [movie] overlay"+transparency+"="+strPosition+ |
126 | " [out]\" -qscale 0 -strict experimental -vcodec libx264 -preset fast -r 30 -threads "+this->numThreads+" "+pathFinal; | 126 | " [out]\" -qscale 0 -strict experimental -vcodec libx264 -preset fast -r 30 -threads "+this->numThreads+" "+pathFinal; |
127 | 127 | ||
@@ -153,7 +153,7 @@ void Mixer::setPathFinal(){ | @@ -153,7 +153,7 @@ void Mixer::setPathFinal(){ | ||
153 | /*Ajusta o FPS do vídeo principal para 45 se preciso...*/ | 153 | /*Ajusta o FPS do vídeo principal para 45 se preciso...*/ |
154 | void Mixer::adjustVideosFps(){ | 154 | void Mixer::adjustVideosFps(){ |
155 | //primeiro executo a linha de comando que me dá todas as informações do vídeo | 155 | //primeiro executo a linha de comando que me dá todas as informações do vídeo |
156 | - string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" 2> "+temporaryTextFile; | 156 | + string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" 2> "+temporaryTextFile; |
157 | system(ffmpegSentence.c_str()); //executo o comando ffmpeg que escreve no arquivo temporário | 157 | system(ffmpegSentence.c_str()); //executo o comando ffmpeg que escreve no arquivo temporário |
158 | 158 | ||
159 | fpsAndLine arrayDeFps[10]; //array onde será guardado os fps encontrados | 159 | fpsAndLine arrayDeFps[10]; //array onde será guardado os fps encontrados |
@@ -223,7 +223,7 @@ void Mixer::convertMainVideoFPS(fpsAndLine arrayDeFps [], int * qtdadeDeFPSEncon | @@ -223,7 +223,7 @@ void Mixer::convertMainVideoFPS(fpsAndLine arrayDeFps [], int * qtdadeDeFPSEncon | ||
223 | //printf("\n\n\n\n\n\n\nPID do canal: %s \n\n\n\n\n\n\n",arrayDeFps[i].possibleProgramID.c_str()); | 223 | //printf("\n\n\n\n\n\n\nPID do canal: %s \n\n\n\n\n\n\n",arrayDeFps[i].possibleProgramID.c_str()); |
224 | if(indexMainVideo1 > 0 && indexMainVideo2 > 0 && indexMainVideo3 > 0){ //eis aqui o vídeo principal | 224 | if(indexMainVideo1 > 0 && indexMainVideo2 > 0 && indexMainVideo3 > 0){ //eis aqui o vídeo principal |
225 | //printf("\n\n\n\n\n\n\nPID do canal a ser alterado: %s \n\n\n\n\n\n\n",arrayDeFps[i].possibleProgramID.c_str()); | 225 | //printf("\n\n\n\n\n\n\nPID do canal a ser alterado: %s \n\n\n\n\n\n\n",arrayDeFps[i].possibleProgramID.c_str()); |
226 | - string ffmpegSentence45 = "ffmpeg -i "+this->mainVideo+" -y -r 45 -vcodec libx264 -streamid 0:"+arrayDeFps[i].possibleProgramID+ | 226 | + string ffmpegSentence45 = "ffmpeg -i "+this->mainVideo+" -v quiet -y -r 45 -vcodec libx264 -streamid 0:"+arrayDeFps[i].possibleProgramID+ |
227 | "-sameq -threads "+this->numThreads+" "+nameOfMainVideo+"-45fps.ts"; | 227 | "-sameq -threads "+this->numThreads+" "+nameOfMainVideo+"-45fps.ts"; |
228 | system(ffmpegSentence45.c_str()); | 228 | system(ffmpegSentence45.c_str()); |
229 | //string removeVideoCMD = "rm -rf "+nameOfMainVideo+".ts"; //removo o vídeo exemplo.ts | 229 | //string removeVideoCMD = "rm -rf "+nameOfMainVideo+".ts"; //removo o vídeo exemplo.ts |
@@ -235,7 +235,7 @@ void Mixer::convertMainVideoFPS(fpsAndLine arrayDeFps [], int * qtdadeDeFPSEncon | @@ -235,7 +235,7 @@ void Mixer::convertMainVideoFPS(fpsAndLine arrayDeFps [], int * qtdadeDeFPSEncon | ||
235 | } | 235 | } |
236 | else{ | 236 | else{ |
237 | //cout << "\n############################\nConverter fps do vídeo principal com apenas um canal!\n############################\n"); | 237 | //cout << "\n############################\nConverter fps do vídeo principal com apenas um canal!\n############################\n"); |
238 | - string ffmpegSentence45 = "ffmpeg -i "+this->mainVideo+" -y -r 45 -vcodec libx264 " | 238 | + string ffmpegSentence45 = "ffmpeg -i "+this->mainVideo+" -v quiet -y -r 45 -vcodec libx264 " |
239 | "-sameq -threads "+this->numThreads+" "+nameOfMainVideo+"-45fps.ts"; | 239 | "-sameq -threads "+this->numThreads+" "+nameOfMainVideo+"-45fps.ts"; |
240 | system(ffmpegSentence45.c_str()); | 240 | system(ffmpegSentence45.c_str()); |
241 | //string removeVideoCMD = "rm -rf "+nameOfMainVideo+".ts"; //removo o vídeo exemplo.ts | 241 | //string removeVideoCMD = "rm -rf "+nameOfMainVideo+".ts"; //removo o vídeo exemplo.ts |
recognize/src/include/recognize.h
@@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
21 | #define INPUT_PATTERN 1 /* 1 = Raw file, 2 = Mic */ | 21 | #define INPUT_PATTERN 1 /* 1 = Raw file, 2 = Mic */ |
22 | #define BLOCS_PATTERN 10 | 22 | #define BLOCS_PATTERN 10 |
23 | #define SIZE_BUFFER 256 | 23 | #define SIZE_BUFFER 256 |
24 | -#define CONFIDENCE_RATE 0.45 | 24 | +#define CONFIDENCE_RATE 0.10 |
25 | 25 | ||
26 | #define PATH_API_UPLOADS "vlibras_user/vlibras-api/uploads/" | 26 | #define PATH_API_UPLOADS "vlibras_user/vlibras-api/uploads/" |
27 | #define PATH_AUDIO_ORIGIN "/audio/origin/audio_origin.wav" | 27 | #define PATH_AUDIO_ORIGIN "/audio/origin/audio_origin.wav" |
recognize/src/recognize.cpp
@@ -71,11 +71,11 @@ void Recognize::Run(){ | @@ -71,11 +71,11 @@ void Recognize::Run(){ | ||
71 | breakVideoParts(getTimeMediaSec()); | 71 | breakVideoParts(getTimeMediaSec()); |
72 | executeJuliusEngine(); | 72 | executeJuliusEngine(); |
73 | generateConfidence(); | 73 | generateConfidence(); |
74 | - filterOutputJulius(); | 74 | + //filterOutputJulius(); |
75 | //cleanFiles(); | 75 | //cleanFiles(); |
76 | 76 | ||
77 | finish = true; | 77 | finish = true; |
78 | - notifyEndExtraction(count_lines); | 78 | + //notifyEndExtraction(count_lines); |
79 | } | 79 | } |
80 | 80 | ||
81 | void Recognize::setFrequency(int freq) { | 81 | void Recognize::setFrequency(int freq) { |
@@ -245,10 +245,12 @@ void Recognize::generateConfidence() { | @@ -245,10 +245,12 @@ void Recognize::generateConfidence() { | ||
245 | } else { | 245 | } else { |
246 | string line; | 246 | string line; |
247 | float tmp; | 247 | float tmp; |
248 | + int pass = 0; | ||
248 | do { | 249 | do { |
249 | getline(in, line); | 250 | getline(in, line); |
250 | std::istringstream buf(line); | 251 | std::istringstream buf(line); |
251 | if (line.length() > 0) { | 252 | if (line.length() > 0) { |
253 | + pass++; | ||
252 | istream_iterator<std::string> beg(buf), end; | 254 | istream_iterator<std::string> beg(buf), end; |
253 | vector<string> tokens(beg, end); | 255 | vector<string> tokens(beg, end); |
254 | float sizeAvgScores = 0; | 256 | float sizeAvgScores = 0; |
@@ -277,9 +279,17 @@ void Recognize::generateConfidence() { | @@ -277,9 +279,17 @@ void Recognize::generateConfidence() { | ||
277 | } | 279 | } |
278 | } | 280 | } |
279 | scores.push_back(avgScores/sizeAvgScores); | 281 | scores.push_back(avgScores/sizeAvgScores); |
282 | + | ||
283 | + }else if(pass==0){ | ||
284 | + | ||
285 | + notifyListeners((char*) "SENTENCA_COM_BAIXA_QUALIDADE", 0); | ||
286 | + notifyEndExtraction(count_lines); | ||
287 | + return; | ||
280 | } | 288 | } |
281 | } while (!in.eof()); | 289 | } while (!in.eof()); |
282 | in.close(); | 290 | in.close(); |
291 | + filterOutputJulius(); | ||
292 | + notifyEndExtraction(count_lines); | ||
283 | } | 293 | } |
284 | } | 294 | } |
285 | 295 | ||
@@ -326,15 +336,19 @@ void Recognize::filterOutputJulius() { | @@ -326,15 +336,19 @@ void Recognize::filterOutputJulius() { | ||
326 | strcpy(sentence_ptr, (char*) strFilter.c_str()); | 336 | strcpy(sentence_ptr, (char*) strFilter.c_str()); |
327 | if(getConfidence()) | 337 | if(getConfidence()) |
328 | notifyListeners(sentence_ptr, pts.front()); | 338 | notifyListeners(sentence_ptr, pts.front()); |
329 | - else | 339 | + else{ |
340 | + | ||
330 | notifyListeners((char*) "SENTENCA_COM_BAIXA_QUALIDADE", pts.front()); | 341 | notifyListeners((char*) "SENTENCA_COM_BAIXA_QUALIDADE", pts.front()); |
342 | + } | ||
331 | scores.erase(scores.begin()); | 343 | scores.erase(scores.begin()); |
332 | count_lines++; | 344 | count_lines++; |
333 | } | 345 | } |
334 | pts.erase(pts.begin()); | 346 | pts.erase(pts.begin()); |
335 | } | 347 | } |
348 | + | ||
336 | } while (!in.eof()); | 349 | } while (!in.eof()); |
337 | in.close(); | 350 | in.close(); |
351 | + //notifyListeners((char*) "SENTENCA_COM_BAIXA_QUALIDADE", pts.front()); | ||
338 | } | 352 | } |
339 | 353 | ||
340 | /*char* ptr_strFilter; | 354 | /*char* ptr_strFilter; |
@@ -345,7 +359,7 @@ void Recognize::filterOutputJulius() { | @@ -345,7 +359,7 @@ void Recognize::filterOutputJulius() { | ||
345 | 359 | ||
346 | void Recognize::notifyListeners(char* text, int64_t pts) { | 360 | void Recognize::notifyListeners(char* text, int64_t pts) { |
347 | //cout << "NOTIFY: " << text << endl; | 361 | //cout << "NOTIFY: " << text << endl; |
348 | - | 362 | + |
349 | for(list<RecognizeListener*>::iterator it = listeners->begin(); it != listeners->end(); it++){ | 363 | for(list<RecognizeListener*>::iterator it = listeners->begin(); it != listeners->end(); it++){ |
350 | (*it)->notifyTextRecognized((unsigned char*) text, calcula_pts(pts)); | 364 | (*it)->notifyTextRecognized((unsigned char*) text, calcula_pts(pts)); |
351 | } | 365 | } |
servico/src/serviceWindowGeneration.cpp
@@ -203,6 +203,7 @@ void ServiceWindowGeneration::transcodeVideoToWebm() { | @@ -203,6 +203,7 @@ void ServiceWindowGeneration::transcodeVideoToWebm() { | ||
203 | string command = "ffmpeg -i "; | 203 | string command = "ffmpeg -i "; |
204 | command.append(path_libras) | 204 | command.append(path_libras) |
205 | .append(" -vcodec libvpx -acodec libvorbis ") | 205 | .append(" -vcodec libvpx -acodec libvorbis ") |
206 | + .append(" -v quiet ") | ||
206 | .append(PATH_API) | 207 | .append(PATH_API) |
207 | .append(getUserId()) | 208 | .append(getUserId()) |
208 | .append(".webm"); | 209 | .append(".webm"); |
@@ -218,6 +219,7 @@ void ServiceWindowGeneration::transcodeVideoToMp4() { | @@ -218,6 +219,7 @@ void ServiceWindowGeneration::transcodeVideoToMp4() { | ||
218 | string command = "ffmpeg -i "; | 219 | string command = "ffmpeg -i "; |
219 | command.append(path_libras) | 220 | command.append(path_libras) |
220 | .append(" -qscale 0 -strict experimental -vcodec libx264 -preset fast -r 30 ") | 221 | .append(" -qscale 0 -strict experimental -vcodec libx264 -preset fast -r 30 ") |
222 | + .append(" -v quiet ") | ||
221 | .append(PATH_API) | 223 | .append(PATH_API) |
222 | .append(getUserId()) | 224 | .append(getUserId()) |
223 | .append(".mp4"); | 225 | .append(".mp4"); |
@@ -233,6 +235,7 @@ void ServiceWindowGeneration::createThumbnail(){ | @@ -233,6 +235,7 @@ void ServiceWindowGeneration::createThumbnail(){ | ||
233 | string command = "ffmpeg -ss 10 -i "; | 235 | string command = "ffmpeg -ss 10 -i "; |
234 | command.append(PATH_API).append(user_id).append(".mp4") | 236 | command.append(PATH_API).append(user_id).append(".mp4") |
235 | .append(" -vcodec png -vframes 1 -an -f rawvideo -y -vf scale=200:200 ") | 237 | .append(" -vcodec png -vframes 1 -an -f rawvideo -y -vf scale=200:200 ") |
238 | + .append(" -v quiet ") | ||
236 | .append(PATH_API).append(user_id).append(".png"); | 239 | .append(PATH_API).append(user_id).append(".png"); |
237 | system(command.c_str()); | 240 | system(command.c_str()); |
238 | } | 241 | } |