@yudzxml/baileys 7.3.4 → 7.3.5
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/lib/Utils/messages-media.js +52 -19
- package/package.json +1 -1
|
@@ -19,7 +19,8 @@ const {
|
|
|
19
19
|
promises,
|
|
20
20
|
createReadStream,
|
|
21
21
|
createWriteStream,
|
|
22
|
-
writeFileSync
|
|
22
|
+
writeFileSync,
|
|
23
|
+
existsSync
|
|
23
24
|
} = require("fs")
|
|
24
25
|
const {
|
|
25
26
|
parseBuffer,
|
|
@@ -445,28 +446,60 @@ async function convertToOpusBuffer(buffer, logger) {
|
|
|
445
446
|
}
|
|
446
447
|
}
|
|
447
448
|
|
|
449
|
+
|
|
448
450
|
async function convertToMp4Buffer(buffer, logger) {
|
|
451
|
+
const tmp = join(__dirname, '../src', `${Date.now()}.tmp`)
|
|
452
|
+
const out = `${tmp}.mp4`
|
|
453
|
+
const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path
|
|
454
|
+
const { spawn } = require('child_process')
|
|
455
|
+
|
|
449
456
|
try {
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
457
|
+
await promises.writeFile(tmp, buffer)
|
|
458
|
+
|
|
459
|
+
await new Promise((resolve, reject) => {
|
|
460
|
+
spawn(ffmpegPath, [
|
|
461
|
+
'-y',
|
|
462
|
+
'-i', tmp,
|
|
463
|
+
'-c:v', 'libx264',
|
|
464
|
+
'-c:a', 'aac',
|
|
465
|
+
'-preset', 'veryfast',
|
|
466
|
+
'-crf', '23',
|
|
467
|
+
'-movflags', 'faststart',
|
|
468
|
+
'-map_metadata', '-1',
|
|
469
|
+
'-f', 'mp4',
|
|
470
|
+
out
|
|
471
|
+
])
|
|
462
472
|
.on('error', reject)
|
|
463
|
-
.on('
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
473
|
+
.on('close', code => {
|
|
474
|
+
if (code !== 0) {
|
|
475
|
+
return reject(
|
|
476
|
+
new Error(`FFmpeg exited with code ${code}`)
|
|
477
|
+
)
|
|
478
|
+
}
|
|
479
|
+
resolve()
|
|
480
|
+
})
|
|
481
|
+
})
|
|
482
|
+
|
|
483
|
+
const result = await promises.readFile(out)
|
|
484
|
+
|
|
485
|
+
await promises.unlink(tmp)
|
|
486
|
+
await promises.unlink(out)
|
|
487
|
+
|
|
488
|
+
return result
|
|
467
489
|
} catch (e) {
|
|
468
|
-
logger?.debug(e)
|
|
469
|
-
|
|
490
|
+
logger?.debug?.(e)
|
|
491
|
+
|
|
492
|
+
try {
|
|
493
|
+
if (existsSync(tmp)) {
|
|
494
|
+
await promises.unlink(tmp)
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
if (existsSync(out)) {
|
|
498
|
+
await promises.unlink(out)
|
|
499
|
+
}
|
|
500
|
+
} catch {}
|
|
501
|
+
|
|
502
|
+
throw e
|
|
470
503
|
}
|
|
471
504
|
}
|
|
472
505
|
|