-
Notifications
You must be signed in to change notification settings - Fork 0
/
demoMediaJuggle.js
104 lines (87 loc) · 4.15 KB
/
demoMediaJuggle.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
'use strict';
var path = require("path");
var fs = require('fs');
var MediaJuggle = require("./mediaJuggle");
var mediaJuggle = new MediaJuggle();
// var demo_type = "reencode_folder";
var demo_type = process.argv[2];
// node demoMediaJuggle.js reencode ../data/prokleta-avlija ../infoSounds/sasha list.json
// node demoMediaJuggle.js reencode ../data/rur-sr ../infoSounds/sasha list.json
// node demoMediaJuggle.js chunk ../data/prokleta-avlija list.json
// node demoMediaJuggle.js chunk ../data/rur-sr list.json
switch(demo_type){
case "reencode": // reencode_folder
var folderName = process.argv[3] || '../data/lolita-eng';
// var folderName = process.argv[2] || 'data/dr-zivago';
var numberSetFolder = process.argv[4] || "/Users/sasha/Documents/data/development/mediaJuggle/data/infoSounds/sasha";
var listFileName = process.argv[5] || 'list.json';
mediaJuggle.init(folderName, listFileName).numberSetFolder(numberSetFolder).chunkLengthSec(60*7).indexAtTheStart(true);
var mediaFile = "01-17.mp3";
var mediaFile = "Lolita audiobook Part 1 Chapter 1.mp3";
var mediaFile = "Иво Андрић - ПРОКЛЕТА АВЛИЈА.mp3";
var mediaFile = "Карел Чапек - РУР - РОСОМОВИ УНИВЕРЗАЛНИ РОБОТИ.mp3";
mediaJuggle.mediaTransformation.getMediaParams(mediaFile, function(params){
var format = params.format;
format.acodec = "libmp3lame";
console.log("mediaFormatParams '%s'", JSON.stringify(format));
mediaJuggle.reencodeFolder(numberSetFolder, "infoSounds/sasha", "mp3", format, function(folderNameOut){
console.log("folder '%s' is reencoded", folderNameOut);
});
});
break;
// node demoMediaJuggle.js ../data/dr-zivago list.json
// node demoMediaJuggle.js ../data/lolita-eng list.json
case "chunk": // chunk_folder
var folderName = process.argv[3] || '../data/lolita-eng';
var listFileName = process.argv[4] || 'list.json';
// mediaJuggle.getMediaInfo(fileName, function(mediaInfo){
// console.log("fileName '%s' length: %s sec", mediaInfo.fileName(), mediaInfo.lengthSec());
// // var globalChunk = 2;
// // // doing single chunk
// // mediaJuggle.createTimeChunk(mediaInfo, 2, 3, function (fileNameTimeChunk){
// // console.log("fileName '%s' is chunked into: '%s'", fileName, fileNameTimeChunk);
// // });
// // var globalChunk = 4;
// // // chunking file
// // mediaJuggle.splitFile(mediaInfo, 3, function (newGlobalChunk){
// // console.log("fileName '%s' is chunked into %d chunks", mediaInfo.fileName(), newGlobalChunk - globalChunk);
// // });
// });
// var globalChunk = 10;
// // chunking file list / folder
// mediaJuggle.splitFolder(null, "mp3", globalChunk, function (newGlobalChunk){
// console.log("folder '%s' is chunked into %d chunks", folderName, newGlobalChunk - globalChunk);
// });
mediaJuggle.init(folderName, listFileName)
var listFilePath = mediaJuggle.mediaTransformation.getFullPath(listFileName);
fs.readFile(listFilePath, 'utf8', function (err, dataStr) {
if (err) {
console.log(err);
}else{
// console.log('[kEdge::populateDemo]parsing file:\n' + dataStr);
var listData = JSON.parse(dataStr);
// mediaJuggle.init(folderName, listFileName).numberSetFolder(numberSetFolder).chunkLengthSec(60*7).indexAtTheStart(true)
// .previousChunkSec(5);
if(listData.previousChunk && listData.previousChunk.enable){
mediaJuggle.previousChunkSec(listData.previousChunk.lengthSec);
mediaJuggle.previousChunkIntegrateInLength(listData.previousChunk.integrateInLength);
}
if(listData.chunkFile){
mediaJuggle.indexAtTheStart(!!listData.chunkFile.indexAtTheStart);
}
if(listData.chunkInfo){
mediaJuggle.chunkLengthSec(listData.chunkInfo.lengthSec);
}
if(listData.numberSet && listData.numberSet.enable){
mediaJuggle.numberSetFolder(listData.numberSet.folderName);
}
console.log("[loadDataFile] listData.mediaFiles.length: %s", listData.mediaFiles.length);
var globalChunk = 1;
mediaJuggle.splitFiles(listData.mediaFiles, globalChunk, function (newGlobalChunk){
console.log("folder '%s' is chunked into %d chunks", folderName, newGlobalChunk - globalChunk);
});
}
});
break;
}
// ffmpeg -i data/Lolita\ audiobook\ Part\ 1\ Chapter\ 1.mp3