Commit 3c0537340be7b88576fa4ebad4c163fd3940c5e2
1 parent
8123bb94
Exists in
master
and in
2 other branches
Correção na transcodificação WEBM do Service Text.
Showing
5 changed files
with
39 additions
and
26 deletions
Show diff stats
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 |