@zwa73/utils 1.0.185 → 1.0.187
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/UtilCom.js +2 -2
- package/dist/UtilFfmpegTools.d.ts +5 -0
- package/dist/UtilFfmpegTools.js +18 -10
- package/package.json +1 -1
- package/src/UtilCom.ts +2 -2
- package/src/UtilFfmpegTools.ts +23 -9
package/dist/UtilCom.js
CHANGED
|
@@ -102,12 +102,12 @@ var UtilCom;
|
|
|
102
102
|
if (result == undefined)
|
|
103
103
|
return undefined;
|
|
104
104
|
const { data, ...rest } = result;
|
|
105
|
-
if (data == "") {
|
|
105
|
+
if (data.trim() == "") {
|
|
106
106
|
UtilLogger_1.SLogger.warn(`${jsonReq.name} 接收反馈错误: 原始字符串为空`);
|
|
107
107
|
return undefined;
|
|
108
108
|
}
|
|
109
109
|
try {
|
|
110
|
-
const obj = JSON.parse(data);
|
|
110
|
+
const obj = JSON.parse(data.trim());
|
|
111
111
|
UtilLogger_1.SLogger.http(`${jsonReq.name} 接受信息:`, UtilFunctions_1.UtilFunc.stringifyJToken(obj, { compress: true, space: 2 }));
|
|
112
112
|
return { ...rest, data: obj };
|
|
113
113
|
}
|
|
@@ -23,6 +23,11 @@ declare class SFfmpegTool {
|
|
|
23
23
|
* @param quality - 质量
|
|
24
24
|
*/
|
|
25
25
|
static flac2ogg(inputFlacFile: string, outputOggPath: string, quality?: number): Promise<boolean>;
|
|
26
|
+
/**flac转wav
|
|
27
|
+
* @param inputFlacFile - 输入flac文件路径
|
|
28
|
+
* @param outputWavPath - 输出wav文件路径
|
|
29
|
+
*/
|
|
30
|
+
static flac2wav(inputFlacFile: string, outputWavPath: string): Promise<boolean>;
|
|
26
31
|
/**wav转ogg
|
|
27
32
|
* @param inputWavPath - 输入wav文件路径
|
|
28
33
|
* @param outputOggPath - 输出ogg文件路径
|
package/dist/UtilFfmpegTools.js
CHANGED
|
@@ -70,11 +70,27 @@ class SFfmpegTool {
|
|
|
70
70
|
* @param quality - 质量
|
|
71
71
|
*/
|
|
72
72
|
static async flac2ogg(inputFlacFile, outputOggPath, quality = 10) {
|
|
73
|
-
|
|
73
|
+
const wavPath = pathe_1.default.join(pathe_1.default.dirname(inputFlacFile), `tmp_${pathe_1.default.basename(inputFlacFile, ".flac")}.wav`);
|
|
74
|
+
await SFfmpegTool.flac2wav(inputFlacFile, wavPath);
|
|
75
|
+
await SFfmpegTool.wav2ogg(wavPath, outputOggPath, quality);
|
|
76
|
+
await new Promise((resolve, reject) => {
|
|
77
|
+
fs.unlink(wavPath, function (err) {
|
|
78
|
+
if (err)
|
|
79
|
+
UtilLogger_1.SLogger.error("SFfmpegTool.flac2ogg unlink 错误", err);
|
|
80
|
+
resolve(null);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
/**flac转wav
|
|
86
|
+
* @param inputFlacFile - 输入flac文件路径
|
|
87
|
+
* @param outputWavPath - 输出wav文件路径
|
|
88
|
+
*/
|
|
89
|
+
static async flac2wav(inputFlacFile, outputWavPath) {
|
|
74
90
|
await new Promise((resolve, reject) => {
|
|
75
91
|
const ins = (0, fluent_ffmpeg_1.default)(inputFlacFile)
|
|
76
92
|
.audioCodec("pcm_s16le")
|
|
77
|
-
.save(
|
|
93
|
+
.save(outputWavPath)
|
|
78
94
|
.on("end", () => {
|
|
79
95
|
resolve(true);
|
|
80
96
|
ins.kill('SIGTERM');
|
|
@@ -84,14 +100,6 @@ class SFfmpegTool {
|
|
|
84
100
|
ins.kill('SIGTERM');
|
|
85
101
|
});
|
|
86
102
|
});
|
|
87
|
-
await SFfmpegTool.wav2ogg(wavPath, outputOggPath, quality);
|
|
88
|
-
await new Promise((resolve, reject) => {
|
|
89
|
-
fs.unlink(wavPath, function (err) {
|
|
90
|
-
if (err)
|
|
91
|
-
UtilLogger_1.SLogger.error("SFfmpegTool.flac2ogg unlink 错误", err);
|
|
92
|
-
resolve(null);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
103
|
return true;
|
|
96
104
|
}
|
|
97
105
|
/**wav转ogg
|
package/package.json
CHANGED
package/src/UtilCom.ts
CHANGED
|
@@ -162,13 +162,13 @@ async function jsonReq<T extends ComReqOpt>(
|
|
|
162
162
|
if(result==undefined) return undefined;
|
|
163
163
|
const {data,...rest} = result;
|
|
164
164
|
|
|
165
|
-
if(data==""){
|
|
165
|
+
if(data.trim()==""){
|
|
166
166
|
SLogger.warn(`${jsonReq.name} 接收反馈错误: 原始字符串为空`);
|
|
167
167
|
return undefined;
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
try{
|
|
171
|
-
const obj = JSON.parse(data) as JObject;
|
|
171
|
+
const obj = JSON.parse(data.trim()) as JObject;
|
|
172
172
|
SLogger.http(`${jsonReq.name} 接受信息:`,UtilFunc.stringifyJToken(obj,{compress:true,space:2}));
|
|
173
173
|
return{...rest,data:obj};
|
|
174
174
|
}
|
package/src/UtilFfmpegTools.ts
CHANGED
|
@@ -53,14 +53,33 @@ class SFfmpegTool {
|
|
|
53
53
|
outputOggPath: string,
|
|
54
54
|
quality: number = 10
|
|
55
55
|
): Promise<boolean> {
|
|
56
|
-
|
|
56
|
+
const wavPath = path.join(
|
|
57
57
|
path.dirname(inputFlacFile),
|
|
58
58
|
`tmp_${path.basename(inputFlacFile, ".flac")}.wav`
|
|
59
59
|
);
|
|
60
|
+
await SFfmpegTool.flac2wav(inputFlacFile, wavPath);
|
|
61
|
+
await SFfmpegTool.wav2ogg(wavPath, outputOggPath, quality);
|
|
62
|
+
await new Promise((resolve, reject) => {
|
|
63
|
+
fs.unlink(wavPath, function (err) {
|
|
64
|
+
if (err) SLogger.error("SFfmpegTool.flac2ogg unlink 错误",err);
|
|
65
|
+
resolve(null);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**flac转wav
|
|
72
|
+
* @param inputFlacFile - 输入flac文件路径
|
|
73
|
+
* @param outputWavPath - 输出wav文件路径
|
|
74
|
+
*/
|
|
75
|
+
static async flac2wav(
|
|
76
|
+
inputFlacFile: string,
|
|
77
|
+
outputWavPath: string
|
|
78
|
+
): Promise<boolean> {
|
|
60
79
|
await new Promise((resolve, reject) => {
|
|
61
80
|
const ins = fluentFfmpeg(inputFlacFile)
|
|
62
81
|
.audioCodec("pcm_s16le")
|
|
63
|
-
.save(
|
|
82
|
+
.save(outputWavPath)
|
|
64
83
|
.on("end", () => {
|
|
65
84
|
resolve(true);
|
|
66
85
|
ins.kill('SIGTERM');
|
|
@@ -70,15 +89,10 @@ class SFfmpegTool {
|
|
|
70
89
|
ins.kill('SIGTERM');
|
|
71
90
|
});
|
|
72
91
|
});
|
|
73
|
-
await SFfmpegTool.wav2ogg(wavPath, outputOggPath, quality);
|
|
74
|
-
await new Promise((resolve, reject) => {
|
|
75
|
-
fs.unlink(wavPath, function (err) {
|
|
76
|
-
if (err) SLogger.error("SFfmpegTool.flac2ogg unlink 错误",err);
|
|
77
|
-
resolve(null);
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
92
|
return true;
|
|
81
93
|
}
|
|
94
|
+
|
|
95
|
+
|
|
82
96
|
/**wav转ogg
|
|
83
97
|
* @param inputWavPath - 输入wav文件路径
|
|
84
98
|
* @param outputOggPath - 输出ogg文件路径
|