Commit 3c0537340be7b88576fa4ebad4c163fd3940c5e2

Authored by Erickson Silva
1 parent 8123bb94
Exists in master and in 2 other branches api, devel

Correção na transcodificação WEBM do Service Text.

recognize/src/recognize.cpp
@@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
18 #define INPUT_PATTERN 1 /* 1 = Raw file, 2 = Mic */ 18 #define INPUT_PATTERN 1 /* 1 = Raw file, 2 = Mic */
19 #define BLOCS_PATTERN 10 19 #define BLOCS_PATTERN 10
20 #define SIZE_BUFFER 256 20 #define SIZE_BUFFER 256
21 -#define CONFIDENCE_RATE 0.40 21 +#define CONFIDENCE_RATE 0.50
22 22
23 #define PATH_GTAAAS_WEB "gtaaas_user/gtaaas_web/public/uploads/videos/" 23 #define PATH_GTAAAS_WEB "gtaaas_user/gtaaas_web/public/uploads/videos/"
24 #define PATH_AUDIO_ORIGIN "/audio/origin/audio_origin.wav" 24 #define PATH_AUDIO_ORIGIN "/audio/origin/audio_origin.wav"
@@ -284,15 +284,27 @@ void Recognize::generateConfidence() { @@ -284,15 +284,27 @@ void Recognize::generateConfidence() {
284 if (line.length() > 0) { 284 if (line.length() > 0) {
285 istream_iterator<std::string> beg(buf), end; 285 istream_iterator<std::string> beg(buf), end;
286 vector<string> tokens(beg, end); 286 vector<string> tokens(beg, end);
287 - float sizeScores = 0; 287 + float sizeAvgScores = 0;
  288 + float sizeLowScores = 0;
288 float avgScores = 0; 289 float avgScores = 0;
  290 + float lowScores = 0;
289 int i; 291 int i;
290 for(i=2; i < tokens.size()-1; i++){ 292 for(i=2; i < tokens.size()-1; i++){
291 istringstream(tokens[i]) >> tmp; 293 istringstream(tokens[i]) >> tmp;
292 - avgScores += tmp;  
293 - sizeScores++; 294 + if (tmp > confidenceRate){
  295 + avgScores += tmp;
  296 + sizeAvgScores++;
  297 + }
  298 + else{
  299 + lowScores += tmp;
  300 + sizeLowScores++;
  301 + }
294 } 302 }
295 - scores.push_back(avgScores/sizeScores); 303 + if (lowScores > 0){
  304 + lowScores /= sizeLowScores;
  305 + sizeAvgScores++;
  306 + }
  307 + scores.push_back((avgScores+lowScores)/sizeAvgScores);
296 } 308 }
297 } while (!in.eof()); 309 } while (!in.eof());
298 in.close(); 310 in.close();
@@ -300,6 +312,7 @@ void Recognize::generateConfidence() { @@ -300,6 +312,7 @@ void Recognize::generateConfidence() {
300 } 312 }
301 313
302 bool Recognize::getConfidence(int i){ 314 bool Recognize::getConfidence(int i){
  315 + //cout << "CONFIDENCE: " << scores[i] << endl;
303 if (scores[i] < confidenceRate) 316 if (scores[i] < confidenceRate)
304 return false; 317 return false;
305 return true; 318 return true;
@@ -355,6 +368,7 @@ void Recognize::filterOutputJulius() { @@ -355,6 +368,7 @@ void Recognize::filterOutputJulius() {
355 368
356 369
357 void Recognize::notifyListeners(char* text) { 370 void Recognize::notifyListeners(char* text) {
  371 + //cout << "NOTIFY: " << text << endl;
358 372
359 int64_t pts = PTS_PATTERN; 373 int64_t pts = PTS_PATTERN;
360 for(list<RecognizeListener*>::iterator it = listeners->begin(); it != listeners->end(); it++){ 374 for(list<RecognizeListener*>::iterator it = listeners->begin(); it != listeners->end(); it++){
servico/src/include/serviceWindowGeneration.h
@@ -79,6 +79,7 @@ public: @@ -79,6 +79,7 @@ public:
79 bool isRunning(); 79 bool isRunning();
80 char getRunningOption(); 80 char getRunningOption();
81 81
  82 + char* getPathLibras();
82 void setPathLibras(char* _path_libras); 83 void setPathLibras(char* _path_libras);
83 void setSizeOfSubtitles(int sub_size); 84 void setSizeOfSubtitles(int sub_size);
84 }; 85 };
servico/src/include/serviceWindowGenerationFromText.h
@@ -16,6 +16,7 @@ private: @@ -16,6 +16,7 @@ private:
16 char* path_file; 16 char* path_file;
17 bool alive; 17 bool alive;
18 char* client_type; 18 char* client_type;
  19 + char* id;
19 20
20 public: 21 public:
21 ServiceWindowGenerationFromText (char* _path_file, char* _video_path_file, 22 ServiceWindowGenerationFromText (char* _path_file, char* _video_path_file,
servico/src/serviceWindowGeneration.cpp
@@ -73,6 +73,11 @@ void ServiceWindowGeneration::setPathLibras(char* _path_libras) { @@ -73,6 +73,11 @@ void ServiceWindowGeneration::setPathLibras(char* _path_libras) {
73 DDPRINTF("Path TS File: %s\n", _path_libras); 73 DDPRINTF("Path TS File: %s\n", _path_libras);
74 } 74 }
75 75
  76 +char* ServiceWindowGeneration::getPathLibras() {
  77 + return path_libras;
  78 +}
  79 +
  80 +
76 void ServiceWindowGeneration::setServiceType(int type) { 81 void ServiceWindowGeneration::setServiceType(int type) {
77 serviceType = type; 82 serviceType = type;
78 } 83 }
servico/src/serviceWindowGenerationFromText.cpp
@@ -3,13 +3,14 @@ @@ -3,13 +3,14 @@
3 3
4 4
5 #define PATH_LIBRAS "libras/video/" 5 #define PATH_LIBRAS "libras/video/"
6 -#define OUTPUT_VIDEO_WEB "gtaaas_user/gtaaas-plugin-server/videos/libras.webm" 6 +#define OUTPUT_VIDEO_WEB "gtaaas_user/gtaaas-plugin-server/videos/"
7 #define MAX_SIZE_PATH 256 7 #define MAX_SIZE_PATH 256
8 8
9 ServiceWindowGenerationFromText::ServiceWindowGenerationFromText (char* _path_file, char* _username, int _transp, int _serviceType, char* _client_type) { 9 ServiceWindowGenerationFromText::ServiceWindowGenerationFromText (char* _path_file, char* _username, int _transp, int _serviceType, char* _client_type) {
10 10
11 path_file = _path_file; 11 path_file = _path_file;
12 client_type = _client_type; 12 client_type = _client_type;
  13 + id = _username;
13 setTransparency(_transp); 14 setTransparency(_transp);
14 setServiceType(_serviceType); 15 setServiceType(_serviceType);
15 char* final_path = new char[MAX_SIZE_PATH]; 16 char* final_path = new char[MAX_SIZE_PATH];
@@ -72,23 +73,14 @@ void ServiceWindowGenerationFromText::Run() { @@ -72,23 +73,14 @@ void ServiceWindowGenerationFromText::Run() {
72 73
73 void ServiceWindowGenerationFromText::transcodeVideoToWebm() { 74 void ServiceWindowGenerationFromText::transcodeVideoToWebm() {
74 75
75 - FILE *video_webm;  
76 - video_webm = fopen(OUTPUT_VIDEO_WEB, "r");  
77 - if (video_webm != NULL) {  
78 - string cmd = "rm ";  
79 - cmd.append(OUTPUT_VIDEO_WEB);  
80 - printf("[INFO]: Remove video libras.webm: %s\n", cmd.c_str());  
81 - system(cmd.c_str());  
82 - fclose(video_webm);  
83 - }  
84 -  
85 - char* command = (char*) malloc (INT_MAX);  
86 - strcpy(command, "ffmpeg -i ");  
87 - strcat(command, PATH_LIBRAS);  
88 - strcat(command, " -vcodec libvpx -acodec libvorbis ");  
89 - strcat(command, OUTPUT_VIDEO_WEB);  
90 - printf("[INFO]: Transcodification command -> %s\n", command);  
91 - system(command);  
92 - free(video_webm);  
93 - free(command);  
94 -} 76 + string command = "ffmpeg -i ";
  77 + command.append(getPathLibras())
  78 + .append(" -vcodec libvpx -acodec libvorbis ")
  79 + .append(OUTPUT_VIDEO_WEB)
  80 + .append(id)
  81 + .append(".webm")
  82 + .append(" && rm ")
  83 + .append(getPathLibras());
  84 + printf("[INFO]: Transcodification command -> %s\n", command.c_str());
  85 + system(command.c_str());
  86 +}
95 \ No newline at end of file 87 \ No newline at end of file