Commit d1e30abb6fa2dd788d9f99e53fd86c8ffda7e27d

Authored by Erickson Silva
2 parents a9bdfc7c 45250ccd
Exists in master and in 1 other branch devel

Merge branch 'api' into devel

@@ -35,12 +35,7 @@ void help(); @@ -35,12 +35,7 @@ void help();
35 void fail(string msg); 35 void fail(string msg);
36 void hasFailed(); 36 void hasFailed();
37 void hasInvalid(); 37 void hasInvalid();
38 -string createFileToResponse(char* id);  
39 -void updateRequestStatus(const char* filename, char* id, char* status);  
40 -string createFileToRespWeb(char* id);  
41 -void updateRequestStatusWeb(const char* filename, char* id, char* status);  
42 38
43 -string filename;  
44 bool isFailed; 39 bool isFailed;
45 bool isInvalid; 40 bool isInvalid;
46 41
@@ -158,8 +153,6 @@ void serviceCC(){ @@ -158,8 +153,6 @@ void serviceCC(){
158 void serviceREC(char* path_video, char* sublanguage, 153 void serviceREC(char* path_video, char* sublanguage,
159 char* position, char* size, char* transparency, char* id, char* rate){ 154 char* position, char* size, char* transparency, char* id, char* rate){
160 155
161 - filename = createFileToResponse(id);  
162 -  
163 ServiceWindowGenerationFromREC * service_rec; 156 ServiceWindowGenerationFromREC * service_rec;
164 service_rec = new ServiceWindowGenerationFromREC( 157 service_rec = new ServiceWindowGenerationFromREC(
165 path_video, 158 path_video,
@@ -179,15 +172,12 @@ void serviceREC(char* path_video, char* sublanguage, @@ -179,15 +172,12 @@ void serviceREC(char* path_video, char* sublanguage,
179 while(service_rec->isRunning()){ 172 while(service_rec->isRunning()){
180 sleep(2); 173 sleep(2);
181 } 174 }
182 - updateRequestStatus(filename.c_str(), id, "true");  
183 delete service_rec; 175 delete service_rec;
184 } 176 }
185 177
186 void serviceREC(char* path_video, char* sublanguage, 178 void serviceREC(char* path_video, char* sublanguage,
187 char* position, char* size, char* transparency, char* id){ 179 char* position, char* size, char* transparency, char* id){
188 180
189 - filename = createFileToResponse(id);  
190 -  
191 ServiceWindowGenerationFromREC * service_rec; 181 ServiceWindowGenerationFromREC * service_rec;
192 service_rec = new ServiceWindowGenerationFromREC( 182 service_rec = new ServiceWindowGenerationFromREC(
193 path_video, 183 path_video,
@@ -207,14 +197,12 @@ void serviceREC(char* path_video, char* sublanguage, @@ -207,14 +197,12 @@ void serviceREC(char* path_video, char* sublanguage,
207 while(service_rec->isRunning()){ 197 while(service_rec->isRunning()){
208 sleep(2); 198 sleep(2);
209 } 199 }
210 - updateRequestStatus(filename.c_str(), id, "true");  
211 delete service_rec; 200 delete service_rec;
212 } 201 }
213 202
214 void serviceSRT(char* path_in, char* path_srt, char* sublanguage, 203 void serviceSRT(char* path_in, char* path_srt, char* sublanguage,
215 char* position, char* size, char* transparency, char* id){ 204 char* position, char* size, char* transparency, char* id){
216 205
217 - filename = createFileToResponse(id);  
218 206
219 ServiceWindowGenerationFromSRT * service_srt; 207 ServiceWindowGenerationFromSRT * service_srt;
220 service_srt = new ServiceWindowGenerationFromSRT( 208 service_srt = new ServiceWindowGenerationFromSRT(
@@ -233,14 +221,12 @@ void serviceSRT(char* path_in, char* path_srt, char* sublanguage, @@ -233,14 +221,12 @@ void serviceSRT(char* path_in, char* path_srt, char* sublanguage,
233 sleep(5); 221 sleep(5);
234 } 222 }
235 223
236 - updateRequestStatus(filename.c_str(), id, "true");  
237 delete service_srt; 224 delete service_srt;
238 225
239 } 226 }
240 227
241 void serviceText(char* path_text, char* transparency, char* id, char* client_type){ 228 void serviceText(char* path_text, char* transparency, char* id, char* client_type){
242 229
243 - //filename = createFileToRespWeb(id);  
244 if (strcmp(client_type, (char*)"WEB") == 0) { 230 if (strcmp(client_type, (char*)"WEB") == 0) {
245 ServiceWindowGenerationFromText *service_text; 231 ServiceWindowGenerationFromText *service_text;
246 service_text = new ServiceWindowGenerationFromText(path_text, id, (int) atoi(transparency), 4, client_type); 232 service_text = new ServiceWindowGenerationFromText(path_text, id, (int) atoi(transparency), 4, client_type);
@@ -255,11 +241,10 @@ void serviceText(char* path_text, char* transparency, char* id, char* client_typ @@ -255,11 +241,10 @@ void serviceText(char* path_text, char* transparency, char* id, char* client_typ
255 while (service_text->isAlive()) { 241 while (service_text->isAlive()) {
256 usleep(100000); //100ms 242 usleep(100000); //100ms
257 } 243 }
258 - //updateRequestStatusWeb(filename.c_str(), id, "true");  
259 delete service_text; 244 delete service_text;
260 245
261 } else { 246 } else {
262 - printf("ServicoIOS\n"); 247 +
263 ServiceWindowGenerationFromText *service_text; 248 ServiceWindowGenerationFromText *service_text;
264 service_text = new ServiceWindowGenerationFromText(path_text, id, (int) atoi(transparency), 4, (char*)"IOS"); 249 service_text = new ServiceWindowGenerationFromText(path_text, id, (int) atoi(transparency), 4, (char*)"IOS");
265 try{ 250 try{
@@ -273,16 +258,13 @@ void serviceText(char* path_text, char* transparency, char* id, char* client_typ @@ -273,16 +258,13 @@ void serviceText(char* path_text, char* transparency, char* id, char* client_typ
273 while (service_text->isAlive()) { 258 while (service_text->isAlive()) {
274 usleep(100000); //100ms 259 usleep(100000); //100ms
275 } 260 }
276 - //updateRequestStatusWeb(filename.c_str(), id, "true");  
277 delete service_text; 261 delete service_text;
278 -  
279 } 262 }
280 263
281 } 264 }
282 265
283 void serviceOnlySRT(char* path_file, char* transparency, char* id){ 266 void serviceOnlySRT(char* path_file, char* transparency, char* id){
284 267
285 - //filename = createFileToRespWeb(id);  
286 268
287 ServiceWindowGenerationFromSRT * service_srt; 269 ServiceWindowGenerationFromSRT * service_srt;
288 service_srt = new ServiceWindowGenerationFromSRT(path_file, (int) atoi(transparency), id, 5); 270 service_srt = new ServiceWindowGenerationFromSRT(path_file, (int) atoi(transparency), id, 5);
@@ -382,72 +364,3 @@ void help() { @@ -382,72 +364,3 @@ void help() {
382 364
383 } 365 }
384 366
385 -  
386 -string createFileToRespWeb(char* id) {  
387 -  
388 - FILE* file;  
389 - string filename = "web-content/";  
390 - filename += id;  
391 - filename += ".xml";  
392 - file = fopen(filename.c_str(), "w+");  
393 - string content_file = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<request>\n\t<id>";  
394 - content_file += id;  
395 - content_file += "</id>\n\t<finished>false</finished>\n</request>";  
396 - const char *textchar = content_file.c_str();  
397 - fwrite(textchar, 1, content_file.size(), file);  
398 - fclose(file);  
399 - return filename;  
400 -  
401 -}  
402 -  
403 -void updateRequestStatusWeb(const char* filename, char* id, char* status){  
404 -  
405 - //printf("\nupdateRequestStatusWeb: id = %s\n", id);  
406 -  
407 - FILE *file = fopen(filename, "w+");  
408 - string content = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<request>\n\t<id>";  
409 - content += id;  
410 - content += "</id>\n\t<finished>";  
411 - content += status;  
412 - content += "</finished>\n</request>";  
413 - const char *textchar = content.c_str();  
414 - fwrite(textchar, 1, content.size(), file);  
415 - fclose(file);  
416 -  
417 -}  
418 -  
419 -string createFileToResponse(char *id){  
420 -  
421 - FILE *arquivofinish;  
422 - string namearq = "vlibras_user/vlibras-web/public/uploads/videos/";  
423 - namearq += id;  
424 - namearq += "/";  
425 - namearq += id;  
426 - namearq += ".xml";  
427 -  
428 - arquivofinish = fopen(namearq.c_str(), "w+");  
429 - string arqtext = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<request>\n\t<id>";  
430 - arqtext += id;  
431 - arqtext += "</id>\n\t<finished>false</finished>\n</request>";  
432 - const char *textchar = arqtext.c_str();  
433 - fwrite(textchar, 1, arqtext.size(), arquivofinish);  
434 - fclose(arquivofinish);  
435 -  
436 - return namearq;  
437 -  
438 -}  
439 -  
440 -void updateRequestStatus(const char* filename, char* id, char* status){  
441 -  
442 - FILE *arquivofinish = fopen(filename, "w+");  
443 - string arqtext = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<request>\n\t<id>";  
444 - arqtext += id;  
445 - arqtext += "</id>\n\t<finished>";  
446 - arqtext += status;  
447 - arqtext += "</finished>\n</request>";  
448 - const char *textchar = arqtext.c_str();  
449 - fwrite(textchar, 1, arqtext.size(), arquivofinish);  
450 - fclose(arquivofinish);  
451 -  
452 -}  
453 -  
mixer/src/Mixer.cpp
@@ -6,11 +6,10 @@ @@ -6,11 +6,10 @@
6 */ 6 */
7 7
8 #include "Mixer.h" 8 #include "Mixer.h"
9 - 9 +#define PATH_API "vlibras_user/vlibras-api/videos/"
10 10
11 using namespace std; 11 using namespace std;
12 12
13 -  
14 /* Construtores e destrutores...*/ 13 /* Construtores e destrutores...*/
15 Mixer::Mixer() { 14 Mixer::Mixer() {
16 this->setNumThreads("1"); 15 this->setNumThreads("1");
@@ -35,7 +34,7 @@ void Mixer::initialize(string mainVideo, string slVideo, int positionSecondaryVi @@ -35,7 +34,7 @@ void Mixer::initialize(string mainVideo, string slVideo, int positionSecondaryVi
35 34
36 stringstream ss; 35 stringstream ss;
37 ss << _id; 36 ss << _id;
38 - ss >> this->user_id; 37 + ss >> user_id;
39 38
40 this->setMainVideo(mainVideo); 39 this->setMainVideo(mainVideo);
41 this->setSecondaryVideo(slVideo); 40 this->setSecondaryVideo(slVideo);
@@ -45,6 +44,7 @@ void Mixer::initialize(string mainVideo, string slVideo, int positionSecondaryVi @@ -45,6 +44,7 @@ void Mixer::initialize(string mainVideo, string slVideo, int positionSecondaryVi
45 this->setSize(sizeSecondaryVideo); 44 this->setSize(sizeSecondaryVideo);
46 this->setPositionSecondaryVideo(positionSecondaryVideo); 45 this->setPositionSecondaryVideo(positionSecondaryVideo);
47 this->setTransparency(transparency); 46 this->setTransparency(transparency);
  47 + this->setPathFinal();
48 this->mixVideos(); 48 this->mixVideos();
49 49
50 } 50 }
@@ -103,8 +103,6 @@ void Mixer::mixVideos () { @@ -103,8 +103,6 @@ void Mixer::mixVideos () {
103 else 103 else
104 transparency = "transp"; 104 transparency = "transp";
105 105
106 - setPathFinal(nameOfMainVideo);  
107 -  
108 /*string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" -y -vf \"movie="+this->secondaryVideo+", "+ 106 /*string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" -y -vf \"movie="+this->secondaryVideo+", "+
109 "scale="+ num1String +":"+num2String+", setpts=PTS-STARTPTS [movie]; "+ 107 "scale="+ num1String +":"+num2String+", setpts=PTS-STARTPTS [movie]; "+
110 "[in] setpts=PTS-STARTPTS, [movie] overlay"+transparency+"="+strPosition+ 108 "[in] setpts=PTS-STARTPTS, [movie] overlay"+transparency+"="+strPosition+
@@ -120,10 +118,17 @@ void Mixer::mixVideos () { @@ -120,10 +118,17 @@ void Mixer::mixVideos () {
120 "scale="+ num1String +":"+num2String+", [movie] overlay"+transparency+"="+strPosition+ 118 "scale="+ num1String +":"+num2String+", [movie] overlay"+transparency+"="+strPosition+
121 " [out]\" -sameq -ar 22050 -ab 32 -f flv -acodec pcm_s16le -vcodec flv -threads "+this->numThreads+" "+nameOfMainVideo+"_Libras.flv";*/ 119 " [out]\" -sameq -ar 22050 -ab 32 -f flv -acodec pcm_s16le -vcodec flv -threads "+this->numThreads+" "+nameOfMainVideo+"_Libras.flv";*/
122 120
  121 + //TRANSCODIFICAR PARA FLV
  122 + string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" -y -vf \"movie="+this->secondaryVideo+", "+
  123 + "scale="+ num1String +":"+num2String+", setpts=PTS-STARTPTS, [movie] overlay"+transparency+"="+strPosition+
  124 + " [out]\" -sameq -strict experimental -vcodec mpeg2video -r 30 -threads "+this->numThreads+" "+pathFinal;
  125 +
123 126
124 - string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" -y -vf \"movie="+this->secondaryVideo+", "+ 127 + /*
  128 + string ffmpegSentence = "ffmpeg -i "+this->mainVideo+" -y -vf \"movie="+this->secondaryVideo+", "+
125 "scale="+ num1String +":"+num2String+", setpts=PTS-STARTPTS, [movie] overlay"+transparency+"="+strPosition+ 129 "scale="+ num1String +":"+num2String+", setpts=PTS-STARTPTS, [movie] overlay"+transparency+"="+strPosition+
126 - " [out]\" -sameq -ar 22050 -ab 32 -f flv -acodec pcm_s16le -vcodec flv -threads "+this->numThreads+" "+getPathFinal(); 130 + " [out]\" -sameq -threads "+this->numThreads+" "+pathFinal;
  131 + */
127 132
128 /* 133 /*
129 convertendo e obtendo ótimos resultados de tamanho do vídeo 134 convertendo e obtendo ótimos resultados de tamanho do vídeo
@@ -137,15 +142,9 @@ void Mixer::mixVideos () { @@ -137,15 +142,9 @@ void Mixer::mixVideos () {
137 //system(removeVideoCMD.c_str()); 142 //system(removeVideoCMD.c_str());
138 } 143 }
139 144
140 -void Mixer::setPathFinal(string path){  
141 - pathFinal = path+"_Libras.flv";  
142 -  
143 -}  
144 -  
145 -string Mixer::getPathFinal(){  
146 - //char* path = new char[pathFinal.size()+1];  
147 - //strcpy(path, (char*) pathFinal.c_str());  
148 - return pathFinal; 145 +void Mixer::setPathFinal(){
  146 + pathFinal = PATH_API;
  147 + pathFinal.append(user_id).append(".mp4");
149 } 148 }
150 149
151 /*Ajusta o FPS do vídeo principal para 45 se preciso...*/ 150 /*Ajusta o FPS do vídeo principal para 45 se preciso...*/
@@ -312,7 +311,7 @@ void Mixer::setMainVideo(string mainVideo){ @@ -312,7 +311,7 @@ void Mixer::setMainVideo(string mainVideo){
312 } 311 }
313 //ajeitar isso depois 312 //ajeitar isso depois
314 string nameOfMainVideo = mainVideo.substr(0, dotPosition); 313 string nameOfMainVideo = mainVideo.substr(0, dotPosition);
315 - this->temporaryTextFile = "vlibras_user/vlibras-web/public/uploads/videos/"; 314 + this->temporaryTextFile = "vlibras_user/vlibras-api/uploads/";
316 temporaryTextFile.append(this->user_id).append("/tamanho.txt"); 315 temporaryTextFile.append(this->user_id).append("/tamanho.txt");
317 316
318 //printf("##########temporaryTextFile: %s\n", temporaryTextFile.c_str()); 317 //printf("##########temporaryTextFile: %s\n", temporaryTextFile.c_str());
mixer/src/include/Mixer.h
@@ -66,10 +66,7 @@ public: @@ -66,10 +66,7 @@ public:
66 void setNumThreads(string); 66 void setNumThreads(string);
67 string getNumThreads(); 67 string getNumThreads();
68 void initialize(string mainVideo, string slVideo, int, int, int, char*); 68 void initialize(string mainVideo, string slVideo, int, int, int, char*);
69 - void setPathFinal(string path);  
70 - string getPathFinal();  
71 -  
72 - 69 + void setPathFinal();
73 70
74 private: 71 private:
75 72
recognize/src/recognize.cpp
@@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
20 #define SIZE_BUFFER 256 20 #define SIZE_BUFFER 256
21 #define CONFIDENCE_RATE 0.45 21 #define CONFIDENCE_RATE 0.45
22 22
23 -#define PATH_GTAAAS_WEB "vlibras_user/vlibras-web/public/uploads/videos/" 23 +#define PATH_API_UPLOADS "vlibras_user/vlibras-api/uploads/"
24 #define PATH_AUDIO_ORIGIN "/audio/origin/audio_origin.wav" 24 #define PATH_AUDIO_ORIGIN "/audio/origin/audio_origin.wav"
25 #define PATH_AUDIO_PARTS "/audio/parts/" 25 #define PATH_AUDIO_PARTS "/audio/parts/"
26 #define FILENAME_RECOGNIZED_OUT "/audio/recognized.out" 26 #define FILENAME_RECOGNIZED_OUT "/audio/recognized.out"
@@ -119,7 +119,7 @@ void Recognize::Run(){ @@ -119,7 +119,7 @@ void Recognize::Run(){
119 executeJuliusEngine(); 119 executeJuliusEngine();
120 generateConfidence(); 120 generateConfidence();
121 filterOutputJulius(); 121 filterOutputJulius();
122 - cleanFiles(); 122 + //cleanFiles();
123 123
124 finished = true; 124 finished = true;
125 notifyEndExtraction(count_lines); 125 notifyEndExtraction(count_lines);
@@ -150,7 +150,7 @@ char* Recognize::extractAudioFromVideo() { @@ -150,7 +150,7 @@ char* Recognize::extractAudioFromVideo() {
150 //command.append(strFreq).append(" -ac 1 -f wav ").append(PATH_AUDIO_ORIGIN).append(" &"); 150 //command.append(strFreq).append(" -ac 1 -f wav ").append(PATH_AUDIO_ORIGIN).append(" &");
151 command.append(strFreq). 151 command.append(strFreq).
152 append(" -ac 1 -f wav "). 152 append(" -ac 1 -f wav ").
153 - append(PATH_GTAAAS_WEB). 153 + append(PATH_API_UPLOADS).
154 append(id). 154 append(id).
155 append(PATH_AUDIO_ORIGIN). 155 append(PATH_AUDIO_ORIGIN).
156 156
@@ -168,7 +168,7 @@ char* Recognize::extractAudioFromVideo() { @@ -168,7 +168,7 @@ char* Recognize::extractAudioFromVideo() {
168 int Recognize::getTimeMediaSec() { 168 int Recognize::getTimeMediaSec() {
169 169
170 string command = PROGRAM; 170 string command = PROGRAM;
171 - command.append(" -i ").append(PATH_GTAAAS_WEB).append(id).append(PATH_AUDIO_ORIGIN); 171 + command.append(" -i ").append(PATH_API_UPLOADS).append(id).append(PATH_AUDIO_ORIGIN);
172 command.append(" 2>&1 | grep Duration >> outfile"); 172 command.append(" 2>&1 | grep Duration >> outfile");
173 system(command.c_str()); 173 system(command.c_str());
174 174
@@ -230,7 +230,7 @@ void Recognize::breakVideoParts(int timeTotal) { @@ -230,7 +230,7 @@ void Recognize::breakVideoParts(int timeTotal) {
230 pts.push_back(convert_pts(ss_str)); 230 pts.push_back(convert_pts(ss_str));
231 231
232 command = "sox "; 232 command = "sox ";
233 - command.append(PATH_GTAAAS_WEB).append(id).append(PATH_AUDIO_ORIGIN).append(" ").append(PATH_GTAAAS_WEB).append(id).append(PATH_AUDIO_PARTS); 233 + command.append(PATH_API_UPLOADS).append(id).append(PATH_AUDIO_ORIGIN).append(" ").append(PATH_API_UPLOADS).append(id).append(PATH_AUDIO_PARTS);
234 sprintf(tmp, "%i", count++); 234 sprintf(tmp, "%i", count++);
235 filename.append(tmp).append(".wav"); 235 filename.append(tmp).append(".wav");
236 command.append(filename).append(" trim ").append(ss_str).append(" ").append(t_str); 236 command.append(filename).append(" trim ").append(ss_str).append(" ").append(t_str);
@@ -238,7 +238,7 @@ void Recognize::breakVideoParts(int timeTotal) { @@ -238,7 +238,7 @@ void Recognize::breakVideoParts(int timeTotal) {
238 system(command.c_str()); 238 system(command.c_str());
239 239
240 string apcomm = "echo "; 240 string apcomm = "echo ";
241 - apcomm.append(PATH_GTAAAS_WEB).append(id).append(PATH_AUDIO_PARTS).append(filename).append(" >> ").append(PATH_GTAAAS_WEB).append(id).append(FILENAME_AUDIOLIST); 241 + apcomm.append(PATH_API_UPLOADS).append(id).append(PATH_AUDIO_PARTS).append(filename).append(" >> ").append(PATH_API_UPLOADS).append(id).append(FILENAME_AUDIOLIST);
242 system(apcomm.c_str()); 242 system(apcomm.c_str());
243 243
244 filename = FILENAME_AUDIOPART; 244 filename = FILENAME_AUDIOPART;
@@ -257,7 +257,7 @@ void Recognize::executeJuliusEngine() { @@ -257,7 +257,7 @@ void Recognize::executeJuliusEngine() {
257 command = "julius -C vlibras_user/vlibras-core/recognize/src/julius.jconf -input "; 257 command = "julius -C vlibras_user/vlibras-core/recognize/src/julius.jconf -input ";
258 if (inputType == 1) { 258 if (inputType == 1) {
259 type = "rawfile"; 259 type = "rawfile";
260 - command.append(type).append(" -filelist ").append(PATH_GTAAAS_WEB).append(id).append(FILENAME_AUDIOLIST); 260 + command.append(type).append(" -filelist ").append(PATH_API_UPLOADS).append(id).append(FILENAME_AUDIOLIST);
261 } else { 261 } else {
262 type = "mic"; 262 type = "mic";
263 } 263 }
@@ -265,7 +265,7 @@ void Recognize::executeJuliusEngine() { @@ -265,7 +265,7 @@ void Recognize::executeJuliusEngine() {
265 command.append(" -smpFreq "). 265 command.append(" -smpFreq ").
266 append(cfreq). 266 append(cfreq).
267 append(" -nolog >> "). 267 append(" -nolog >> ").
268 - append(PATH_GTAAAS_WEB).append(id). 268 + append(PATH_API_UPLOADS).append(id).
269 append(FILENAME_RECOGNIZED_OUT); 269 append(FILENAME_RECOGNIZED_OUT);
270 270
271 //Command of execute Julius 271 //Command of execute Julius
@@ -277,14 +277,14 @@ void Recognize::executeJuliusEngine() { @@ -277,14 +277,14 @@ void Recognize::executeJuliusEngine() {
277 void Recognize::generateConfidence() { 277 void Recognize::generateConfidence() {
278 278
279 string command = "cat "; 279 string command = "cat ";
280 - command.append(PATH_GTAAAS_WEB).append(id).append(FILENAME_RECOGNIZED_OUT).append(" | grep ").  
281 - append(FIND_CONFIDENCE).append(" >> ").append(PATH_GTAAAS_WEB).append(id).append(FILENAME_CONFIDENCEOUT); 280 + command.append(PATH_API_UPLOADS).append(id).append(FILENAME_RECOGNIZED_OUT).append(" | grep ").
  281 + append(FIND_CONFIDENCE).append(" >> ").append(PATH_API_UPLOADS).append(id).append(FILENAME_CONFIDENCEOUT);
282 282
283 system(command.c_str()); 283 system(command.c_str());
284 //printf("\n\n---> command: %s\n\n", command.c_str()); 284 //printf("\n\n---> command: %s\n\n", command.c_str());
285 285
286 string path; 286 string path;
287 - path.append(PATH_GTAAAS_WEB).append(id).append(FILENAME_CONFIDENCEOUT); 287 + path.append(PATH_API_UPLOADS).append(id).append(FILENAME_CONFIDENCEOUT);
288 ifstream in(path.c_str()); 288 ifstream in(path.c_str());
289 289
290 if (!in) { 290 if (!in) {
@@ -344,8 +344,8 @@ void Recognize::filterOutputJulius() { @@ -344,8 +344,8 @@ void Recognize::filterOutputJulius() {
344 sentences = new std::list<char*>(); 344 sentences = new std::list<char*>();
345 345
346 string command = "cat "; 346 string command = "cat ";
347 - command.append(PATH_GTAAAS_WEB).append(id).append(FILENAME_RECOGNIZED_OUT).append(" | grep -e ").  
348 - append(FIND_SENTENCE).append(" -e \"").append(AUDIO_SILENT).append("\"").append(" >> ").append(PATH_GTAAAS_WEB).append(id).append(FILENAME_FILTEROUT); 347 + command.append(PATH_API_UPLOADS).append(id).append(FILENAME_RECOGNIZED_OUT).append(" | grep -e ").
  348 + append(FIND_SENTENCE).append(" -e \"").append(AUDIO_SILENT).append("\"").append(" >> ").append(PATH_API_UPLOADS).append(id).append(FILENAME_FILTEROUT);
349 349
350 system(command.c_str()); 350 system(command.c_str());
351 //printf("\n\n---> command: %s\n\n", command.c_str()); 351 //printf("\n\n---> command: %s\n\n", command.c_str());
@@ -353,7 +353,7 @@ void Recognize::filterOutputJulius() { @@ -353,7 +353,7 @@ void Recognize::filterOutputJulius() {
353 count_lines = 0; 353 count_lines = 0;
354 354
355 string path; 355 string path;
356 - path.append(PATH_GTAAAS_WEB).append(id).append(FILENAME_FILTEROUT); 356 + path.append(PATH_API_UPLOADS).append(id).append(FILENAME_FILTEROUT);
357 ifstream in(path.c_str()); 357 ifstream in(path.c_str());
358 string strFilter; 358 string strFilter;
359 359
@@ -437,15 +437,15 @@ bool Recognize::isFinished() { @@ -437,15 +437,15 @@ bool Recognize::isFinished() {
437 void Recognize::cleanFiles() { 437 void Recognize::cleanFiles() {
438 438
439 string command = "rm -r "; 439 string command = "rm -r ";
440 - command.append(PATH_GTAAAS_WEB).append(id).append("/audio"); 440 + command.append(PATH_API_UPLOADS).append(id).append("/audio");
441 system(command.c_str()); 441 system(command.c_str());
442 } 442 }
443 443
444 void Recognize::createDir(){ 444 void Recognize::createDir(){
445 445
446 string command = "mkdir "; 446 string command = "mkdir ";
447 - command.append(PATH_GTAAAS_WEB).append(id).append("/audio").append(" && mkdir ").  
448 - append(PATH_GTAAAS_WEB).append(id).append("/audio/parts").append(" && mkdir ").  
449 - append(PATH_GTAAAS_WEB).append(id).append("/audio/origin"); 447 + command.append(PATH_API_UPLOADS).append(id).append("/audio").append(" && mkdir ").
  448 + append(PATH_API_UPLOADS).append(id).append("/audio/parts").append(" && mkdir ").
  449 + append(PATH_API_UPLOADS).append(id).append("/audio/origin");
450 system(command.c_str()); 450 system(command.c_str());
451 } 451 }
servico/src/include/serviceWindowGeneration.h
@@ -53,6 +53,8 @@ protected: @@ -53,6 +53,8 @@ protected:
53 char* path_input; 53 char* path_input;
54 char* path_audio; 54 char* path_audio;
55 char* path_libras; 55 char* path_libras;
  56 + char* client_type;
  57 +
56 bool running; 58 bool running;
57 59
58 bool finish; 60 bool finish;
@@ -66,11 +68,12 @@ protected: @@ -66,11 +68,12 @@ protected:
66 void setSubLanguage(int sublang); 68 void setSubLanguage(int sublang);
67 void setServiceType(int type); 69 void setServiceType(int type);
68 void setUserId(char* _userId); 70 void setUserId(char* _userId);
  71 + void setClientType(char* client_type);
  72 + void setPathInput(char* _path_input);
69 73
70 - //TEMP  
71 - void sendFileToPath(string source);  
72 -  
73 - void transcodeVideoToFlv(); 74 + void transcodeVideoToWebm();
  75 + void transcodeVideoToMp4();
  76 + void createThumbnail();
74 77
75 public: 78 public:
76 79
@@ -88,7 +91,10 @@ public: @@ -88,7 +91,10 @@ public:
88 91
89 char* getPathLibras(); 92 char* getPathLibras();
90 char* getUserId(); 93 char* getUserId();
91 - void setPathLibras(char* _path_libras); 94 + char* getClientType();
  95 + char* getPathInput();
  96 + string getPathAPI();
  97 + void setPathLibras();
92 void setSizeOfSubtitles(int sub_size); 98 void setSizeOfSubtitles(int sub_size);
93 }; 99 };
94 100
servico/src/include/serviceWindowGenerationFromSRT.h
@@ -45,8 +45,7 @@ public: @@ -45,8 +45,7 @@ public:
45 45
46 void notificaSincronizadorSemTradutor(unsigned char *legenda, int64_t pts); 46 void notificaSincronizadorSemTradutor(unsigned char *legenda, int64_t pts);
47 void initialize(); 47 void initialize();
48 - void setPathInput(char* path_video, char* path_srt);  
49 - void setPathInput(char* path_srt); 48 + void setPathSRT(char* path_srt);
50 void Run(); 49 void Run();
51 50
52 }; 51 };
servico/src/include/serviceWindowGenerationFromText.h
@@ -13,10 +13,7 @@ class ServiceWindowGenerationFromText : public ServiceWindowGeneration, public L @@ -13,10 +13,7 @@ class ServiceWindowGenerationFromText : public ServiceWindowGeneration, public L
13 13
14 private: 14 private:
15 ExtratorTXT * extratorTXT; 15 ExtratorTXT * extratorTXT;
16 - char* path_file;  
17 bool alive; 16 bool alive;
18 - char* client_type;  
19 - char* id;  
20 17
21 public: 18 public:
22 ServiceWindowGenerationFromText (char* _path_file, char* _video_path_file, 19 ServiceWindowGenerationFromText (char* _path_file, char* _video_path_file,
@@ -27,8 +24,6 @@ public: @@ -27,8 +24,6 @@ public:
27 void initialize(); 24 void initialize();
28 bool isAlive(); 25 bool isAlive();
29 void Run(); 26 void Run();
30 - void transcodeVideoToWebm();  
31 - void transcodeVideoToAvi();  
32 }; 27 };
33 28
34 #endif /* _SERVICEWINDOWGENERATIONFROMTEXT_H */ 29 #endif /* _SERVICEWINDOWGENERATIONFROMTEXT_H */
servico/src/serviceWindowGeneration.cpp
@@ -5,7 +5,9 @@ @@ -5,7 +5,9 @@
5 #define BASEDIR "vlibras_user/dicionario_libras/" 5 #define BASEDIR "vlibras_user/dicionario_libras/"
6 #define BASEDIRTRANSP "vlibras_user/dicionarioTransp_libras/" 6 #define BASEDIRTRANSP "vlibras_user/dicionarioTransp_libras/"
7 #define EXTENSAO_DICIONARIO ".ts" 7 #define EXTENSAO_DICIONARIO ".ts"
8 -#define FINAL_DESTINATION_API "vlibras_user/vlibras-api/videos/" 8 +#define PATH_API "vlibras_user/vlibras-api/videos/"
  9 +#define MAX_SIZE_PATH 256
  10 +
9 11
10 ServiceWindowGeneration::ServiceWindowGeneration() { 12 ServiceWindowGeneration::ServiceWindowGeneration() {
11 if (getRunningOption() != '3') { 13 if (getRunningOption() != '3') {
@@ -47,9 +49,9 @@ void ServiceWindowGeneration::finalizouSincronizacao() { @@ -47,9 +49,9 @@ void ServiceWindowGeneration::finalizouSincronizacao() {
47 if (getRunningOption() != '2' && serviceType != SERVICE_TYPE_TEXT && serviceType != SERVICE_TYPE_SRT_ONLY) { 49 if (getRunningOption() != '2' && serviceType != SERVICE_TYPE_TEXT && serviceType != SERVICE_TYPE_SRT_ONLY) {
48 mixer = new Mixer(); 50 mixer = new Mixer();
49 mixer->initialize(this->path_input, this->path_libras,this->position,this->size,this->transparency, this->user_id); 51 mixer->initialize(this->path_input, this->path_libras,this->position,this->size,this->transparency, this->user_id);
50 - sendFileToPath(mixer->getPathFinal());  
51 - }  
52 - 52 + createThumbnail();
  53 + }else
  54 + transcodeVideoToMp4();
53 this->running = false; 55 this->running = false;
54 56
55 } 57 }
@@ -71,19 +73,40 @@ void ServiceWindowGeneration::setSizeOfSubtitles(int sub_size) { @@ -71,19 +73,40 @@ void ServiceWindowGeneration::setSizeOfSubtitles(int sub_size) {
71 } 73 }
72 } 74 }
73 75
74 -void ServiceWindowGeneration::setPathLibras(char* _path_libras) {  
75 - this->path_libras = _path_libras;  
76 - DDPRINTF("Path TS File: %s\n", _path_libras); 76 +void ServiceWindowGeneration::setPathLibras() {
  77 + char* final_path = new char[MAX_SIZE_PATH];
  78 + strcpy(final_path, "vlibras_user/vlibras-api/uploads/");
  79 + strcat(final_path, this->user_id);
  80 + strcat(final_path, "/libras.ts");
  81 +
  82 + this->path_libras = final_path;
  83 + //DDPRINTF("Path TS File: %s\n", this->path_libras);
77 } 84 }
78 85
79 char* ServiceWindowGeneration::getPathLibras() { 86 char* ServiceWindowGeneration::getPathLibras() {
80 return path_libras; 87 return path_libras;
81 } 88 }
82 89
  90 +void ServiceWindowGeneration::setPathInput(char* _path_input) {
  91 + this->path_input = _path_input;
  92 +}
  93 +
  94 +char* ServiceWindowGeneration::getPathInput() {
  95 + return path_input;
  96 +}
  97 +
  98 +string ServiceWindowGeneration::getPathAPI() {
  99 + return PATH_API;
  100 +}
  101 +
83 void ServiceWindowGeneration::setUserId(char* _userId) { 102 void ServiceWindowGeneration::setUserId(char* _userId) {
84 this->user_id = _userId; 103 this->user_id = _userId;
85 } 104 }
86 105
  106 +char* ServiceWindowGeneration::getClientType(){
  107 + return client_type;
  108 +}
  109 +
87 char* ServiceWindowGeneration::getUserId() { 110 char* ServiceWindowGeneration::getUserId() {
88 return user_id; 111 return user_id;
89 } 112 }
@@ -92,6 +115,10 @@ void ServiceWindowGeneration::setServiceType(int type) { @@ -92,6 +115,10 @@ void ServiceWindowGeneration::setServiceType(int type) {
92 serviceType = type; 115 serviceType = type;
93 } 116 }
94 117
  118 +void ServiceWindowGeneration::setClientType(char* client_type) {
  119 + this->client_type = client_type;
  120 +}
  121 +
95 void ServiceWindowGeneration::setSize(int size){ 122 void ServiceWindowGeneration::setSize(int size){
96 this->size = size; 123 this->size = size;
97 } 124 }
@@ -110,6 +137,8 @@ void ServiceWindowGeneration::setSubLanguage(int sublang){ @@ -110,6 +137,8 @@ void ServiceWindowGeneration::setSubLanguage(int sublang){
110 137
111 void ServiceWindowGeneration::initialize() { 138 void ServiceWindowGeneration::initialize() {
112 139
  140 + setPathLibras();
  141 +
113 this->finish = false; 142 this->finish = false;
114 if (getRunningOption() != '3' && this->sublanguage == 1) { 143 if (getRunningOption() != '3' && this->sublanguage == 1) {
115 tradutor->registraOuvinte(this); 144 tradutor->registraOuvinte(this);
@@ -207,26 +236,46 @@ void ServiceWindowGeneration::codifica(vector&lt;string&gt; * glosas) { @@ -207,26 +236,46 @@ void ServiceWindowGeneration::codifica(vector&lt;string&gt; * glosas) {
207 legendas_enviadas++; 236 legendas_enviadas++;
208 } 237 }
209 238
210 -void ServiceWindowGeneration::sendFileToPath(string source){ 239 +void ServiceWindowGeneration::transcodeVideoToWebm() {
211 240
212 - string command = "cp ";  
213 - command.append(source)  
214 - .append(" ").append(FINAL_DESTINATION_API).append(getUserId()).append(".flv")  
215 - .append(" && rm ").append(path_libras);  
216 - system(command.c_str()); 241 + //printf("[INFO]: A transcodificação para .webm está ativada!\n");
217 242
  243 + string command = "ffmpeg -i ";
  244 + command.append(path_libras)
  245 + .append(" -vcodec libvpx -acodec libvorbis ")
  246 + .append(PATH_API)
  247 + .append(getUserId())
  248 + .append(".webm");
  249 + //printf("[INFO]: Transcodification command -> %s\n", command.c_str());
  250 + system(command.c_str());
218 } 251 }
219 252
220 -void ServiceWindowGeneration::transcodeVideoToFlv(){ 253 +void ServiceWindowGeneration::transcodeVideoToMp4() {
221 254
222 - string command = "ffmpeg -i ";  
223 - command.append(getPathLibras())  
224 - .append(" -vcodec copy -f flv ")  
225 - .append(FINAL_DESTINATION_API).append(user_id).append(".flv")  
226 - .append(" && rm ")  
227 - .append(getPathLibras()); 255 + if (serviceType == SERVICE_TYPE_TEXT && strcmp(client_type, (char*)"WEB") == 0)
  256 + transcodeVideoToWebm();
  257 + else{
  258 + //printf("[INFO]: A transcodificação para .mp4 está ativada!\n");
  259 + string command = "ffmpeg -i ";
  260 + command.append(path_libras)
  261 + .append(" -strict experimental -vcodec mpeg2video -r 30 ")
  262 + .append(PATH_API)
  263 + .append(getUserId())
  264 + .append(".mp4");
  265 + //printf("[INFO]: Transcodification command -> %s\n", command.c_str());
  266 + system(command.c_str());
228 267
229 - system(command.c_str()); 268 + //.append(" -strict experimental -vcodec mjpeg -r 30 -pix_fmt yuvj422p ")
  269 +
  270 + }
  271 +}
  272 +
  273 +void ServiceWindowGeneration::createThumbnail(){
230 274
  275 + string command = "ffmpeg -ss 10 -i ";
  276 + command.append(getPathInput())
  277 + .append(" -vcodec png -vframes 1 -an -f rawvideo -y -vf scale=200:200 ")
  278 + .append(PATH_API).append(user_id).append(".png");
  279 + system(command.c_str());
231 } 280 }
232 281
servico/src/serviceWindowGenerationFromREC.cpp
@@ -3,30 +3,30 @@ @@ -3,30 +3,30 @@
3 using namespace std; 3 using namespace std;
4 4
5 ServiceWindowGenerationFromREC::ServiceWindowGenerationFromREC( 5 ServiceWindowGenerationFromREC::ServiceWindowGenerationFromREC(
6 - char* path_video, int sublanguage, int position, int size, int transparency, char* id, int _serviceType, char* rate) { 6 + char* path_video, int sublanguage, int position, int size, int transparency, char* id, int serviceType, char* rate) {
7 7
8 - path_input = path_video; 8 + setPathInput(path_video);
9 setSubLanguage(sublanguage); 9 setSubLanguage(sublanguage);
10 setPosition(position); 10 setPosition(position);
11 setSize(size); 11 setSize(size);
12 setTransparency(transparency); 12 setTransparency(transparency);
13 - setServiceType(_serviceType); 13 + setServiceType(serviceType);
14 setUserId(id); 14 setUserId(id);
15 - rec = new Recognize(path_input, id, rate); 15 + rec = new Recognize(path_video, id, rate);
16 DPRINTF("Done!\n"); 16 DPRINTF("Done!\n");
17 } 17 }
18 18
19 ServiceWindowGenerationFromREC::ServiceWindowGenerationFromREC( 19 ServiceWindowGenerationFromREC::ServiceWindowGenerationFromREC(
20 - char* path_video, int sublanguage, int position, int size, int transparency, char* id, int _serviceType) { 20 + char* path_video, int sublanguage, int position, int size, int transparency, char* id, int serviceType) {
21 21
22 - path_input = path_video; 22 + setPathInput(path_video);
23 setSubLanguage(sublanguage); 23 setSubLanguage(sublanguage);
24 setPosition(position); 24 setPosition(position);
25 setSize(size); 25 setSize(size);
26 setTransparency(transparency); 26 setTransparency(transparency);
27 - setServiceType(_serviceType); 27 + setServiceType(serviceType);
28 setUserId(id); 28 setUserId(id);
29 - rec = new Recognize(path_input, id); 29 + rec = new Recognize(path_video, id);
30 DPRINTF("Done!\n"); 30 DPRINTF("Done!\n");
31 } 31 }
32 32
@@ -87,6 +87,6 @@ void ServiceWindowGenerationFromREC::notifySynchWithoutTranslator(unsigned char @@ -87,6 +87,6 @@ void ServiceWindowGenerationFromREC::notifySynchWithoutTranslator(unsigned char
87 void ServiceWindowGenerationFromREC::Run() { 87 void ServiceWindowGenerationFromREC::Run() {
88 88
89 while (!rec->isFinished()) { 89 while (!rec->isFinished()) {
90 - sleep(2); 90 + sleep(200000);
91 } 91 }
92 } 92 }
servico/src/serviceWindowGenerationFromSRT.cpp
1 #include "serviceWindowGenerationFromSRT.h" 1 #include "serviceWindowGenerationFromSRT.h"
2 2
3 -#define PATH_LIBRAS "vlibras_user/vlibras-api/videos/"  
4 -  
5 using namespace std; 3 using namespace std;
6 4
7 //Construtor Service 2 5 //Construtor Service 2
8 ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT( 6 ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(
9 - char* path_video, char* path_srt, int sublanguage, int position, int size, int transparency, char* id, int _serviceType) {  
10 - setPathInput(path_video, path_srt); 7 + char* path_video, char* path_srt, int sublanguage, int position, int size, int transparency, char* id, int serviceType) {
  8 + setPathInput(path_video);
  9 + setPathSRT(path_srt);
11 setPosition(position); 10 setPosition(position);
12 setSize(size); 11 setSize(size);
13 setTransparency(transparency); 12 setTransparency(transparency);
14 setSubLanguage(sublanguage); 13 setSubLanguage(sublanguage);
15 - setServiceType(_serviceType); 14 + setServiceType(serviceType);
16 setUserId(id); 15 setUserId(id);
17 this->finish = false; 16 this->finish = false;
18 DPRINTF("Done!\n"); 17 DPRINTF("Done!\n");
19 } 18 }
20 19
21 //Construtor Service 5 20 //Construtor Service 5
22 -ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(char* path_srt, int transparency, char* id, int _serviceType){ 21 +ServiceWindowGenerationFromSRT::ServiceWindowGenerationFromSRT(char* path_srt, int transparency, char* id, int serviceType){
23 setPathInput(path_srt); 22 setPathInput(path_srt);
24 setTransparency(transparency); 23 setTransparency(transparency);
25 - setServiceType(_serviceType); 24 + setServiceType(serviceType);
26 setUserId(id); 25 setUserId(id);
27 -  
28 - string new_path_libras = PATH_LIBRAS;  
29 - new_path_libras.append((string) id).append(".ts");  
30 - char* pathl = new char[strlen(new_path_libras.c_str()) + 1];  
31 - strcpy(pathl, (char*)new_path_libras.c_str());  
32 - setPathLibras(pathl);  
33 finish_srt = false; 26 finish_srt = false;
34 DPRINTF("Done!\n"); 27 DPRINTF("Done!\n");
35 } 28 }
@@ -40,12 +33,7 @@ ServiceWindowGenerationFromSRT::~ServiceWindowGenerationFromSRT() { @@ -40,12 +33,7 @@ ServiceWindowGenerationFromSRT::~ServiceWindowGenerationFromSRT() {
40 DDDPRINTF("Service SRT finalized!\n"); 33 DDDPRINTF("Service SRT finalized!\n");
41 } 34 }
42 35
43 -void ServiceWindowGenerationFromSRT::setPathInput(char* path_video, char* path_srt) {  
44 - this->path_input = path_video;  
45 - this->path_srt = path_srt;  
46 -}  
47 -  
48 -void ServiceWindowGenerationFromSRT::setPathInput(char* path_srt){ 36 +void ServiceWindowGenerationFromSRT::setPathSRT(char* path_srt) {
49 this->path_srt = path_srt; 37 this->path_srt = path_srt;
50 } 38 }
51 39
@@ -143,7 +131,7 @@ void ServiceWindowGenerationFromSRT::initialize() { @@ -143,7 +131,7 @@ void ServiceWindowGenerationFromSRT::initialize() {
143 monitor_pcr_base = new MonitorPCR(); 131 monitor_pcr_base = new MonitorPCR();
144 monitor_pcr_base->addListenerPCRBase(extratorSRT); 132 monitor_pcr_base->addListenerPCRBase(extratorSRT);
145 extratorSRT->addListener(this); 133 extratorSRT->addListener(this);
146 - extratorSRT->setFilePath((char*) path_srt); 134 + extratorSRT->setFilePath((char*) path_input);
147 135
148 ServiceWindowGeneration::initialize(); 136 ServiceWindowGeneration::initialize();
149 137
@@ -167,7 +155,4 @@ void ServiceWindowGenerationFromSRT::Run() { @@ -167,7 +155,4 @@ void ServiceWindowGenerationFromSRT::Run() {
167 usleep(200000); //200ms 155 usleep(200000); //200ms
168 } 156 }
169 finish_srt = true; 157 finish_srt = true;
170 -  
171 - if (serviceType == 5)  
172 - transcodeVideoToFlv();  
173 } 158 }
servico/src/serviceWindowGenerationFromText.cpp
1 -  
2 #include "serviceWindowGenerationFromText.h" 1 #include "serviceWindowGenerationFromText.h"
3 2
4 -  
5 -#define PATH_LIBRAS "vlibras_user/vlibras-api/videos/"  
6 -#define MAX_SIZE_PATH 256  
7 -  
8 ServiceWindowGenerationFromText::ServiceWindowGenerationFromText ( 3 ServiceWindowGenerationFromText::ServiceWindowGenerationFromText (
9 - char* _path_file, char* _username, int _transp, int _serviceType, char* _client_type) {  
10 -  
11 - path_file = _path_file;  
12 - client_type = _client_type;  
13 - setUserId(_username);  
14 - setTransparency(_transp);  
15 - setServiceType(_serviceType);  
16 - char* final_path = new char[MAX_SIZE_PATH];  
17 - strcpy(final_path, PATH_LIBRAS);  
18 - strcat(final_path, _username);  
19 - strcat(final_path, ".ts");  
20 -  
21 - setPathLibras(final_path); 4 + char* path_file, char* username, int transp, int serviceType, char* client_type) {
22 5
  6 + setPathInput(path_file);
  7 + setClientType(client_type);
  8 + setUserId(username);
  9 + setTransparency(transp);
  10 + setServiceType(serviceType);
23 alive = true; 11 alive = true;
24 DPRINTF("Done!\n"); 12 DPRINTF("Done!\n");
25 -  
26 } 13 }
27 14
28 ServiceWindowGenerationFromText::~ServiceWindowGenerationFromText() { 15 ServiceWindowGenerationFromText::~ServiceWindowGenerationFromText() {
@@ -35,7 +22,7 @@ void ServiceWindowGenerationFromText::initialize() { @@ -35,7 +22,7 @@ void ServiceWindowGenerationFromText::initialize() {
35 22
36 extratorTXT = new ExtratorTXT(); 23 extratorTXT = new ExtratorTXT();
37 extratorTXT->addListener(this); 24 extratorTXT->addListener(this);
38 - extratorTXT->setFilePath((char*) path_file); 25 + extratorTXT->setFilePath(getPathInput());
39 26
40 ServiceWindowGeneration::initialize(); 27 ServiceWindowGeneration::initialize();
41 28
@@ -64,44 +51,5 @@ void ServiceWindowGenerationFromText::Run() { @@ -64,44 +51,5 @@ void ServiceWindowGenerationFromText::Run() {
64 while (isRunning()) { 51 while (isRunning()) {
65 usleep(200000); //200ms 52 usleep(200000); //200ms
66 } 53 }
67 - if (strcmp(client_type, (char*)"WEB") == 0) {  
68 - printf("[INFO]: A transcodificação para .webm está ativada!\n");  
69 - transcodeVideoToWebm();  
70 - } else if (strcmp(client_type, (char*)"IOS") == 0) {  
71 - printf("[INFO]: A transcodificação para .avi está ativada!\n");  
72 -  
73 - transcodeVideoToAvi();  
74 - }  
75 - else  
76 - transcodeVideoToFlv();  
77 -  
78 alive = false; 54 alive = false;
79 } 55 }
80 -  
81 -void ServiceWindowGenerationFromText::transcodeVideoToWebm() {  
82 -  
83 - string command = "ffmpeg -i ";  
84 - command.append(getPathLibras())  
85 - .append(" -vcodec libvpx -acodec libvorbis ")  
86 - .append(PATH_LIBRAS)  
87 - .append(getUserId())  
88 - .append(".webm")  
89 - .append(" && rm ")  
90 - .append(getPathLibras());  
91 - //printf("[INFO]: Transcodification command -> %s\n", command.c_str());  
92 - system(command.c_str());  
93 -}  
94 -  
95 -void ServiceWindowGenerationFromText::transcodeVideoToAvi() {  
96 -  
97 - string command = "ffmpeg -i ";  
98 - command.append(getPathLibras())  
99 - .append(" -vcodec mjpeg -r 30 -pix_fmt yuvj422p ")  
100 - .append(PATH_LIBRAS)  
101 - .append(getUserId())  
102 - .append(".mp4")  
103 - .append(" && rm ")  
104 - .append(getPathLibras());  
105 - //printf("[INFO]: Transcodification command -> %s\n", command.c_str());  
106 - system(command.c_str());  
107 -}