node使用ffmpeg将swf转mp4 截取mp4视频第一帧为jpg图片
- 1.在电脑上默认已经安装
node
和ffmpeg
软件。 - 2.确认安装完成之后:
//注意!!!! 方法可以直接复制,前几行这个我就是标注一下以下方法用到了这些插件
const ffmpeg = require('fluent-ffmpeg')
const path = require('path')
let cp = require('child_process');
console.log('主要内容:',"-------下边-------")
//提取视频第一帧 保存为图片
//pathFile:原文件地址/原文件名.jpg
//saveFilePath:要保存到哪/文件名.jpg
//let cp = require('child_process'); 用到了这个奥 百度去 我不解释了哇 哈哈哈哈
const execJpg = (pathFile , saveFilePath)=>{
cp.exec(`ffmpeg -i ${path.join(__dirname, pathFile)} -y -f image2 -frames 1 ${path.join(__dirname, saveFilePath)}`, function(res) {
console.log(`${saveFilePath} success...`)
})
}
// 利用ffmpeg swf转mp4 还可以转别的格式,详细请看ffmpeg官网(百度能查到)
//pathFile:原文件地址/原文件名.jpg
//saveFilePath:要保存到哪/文件名.jpg
const commandMp4 = (pathFile , saveFilePath)=>{
return new Promise((resolve, reject)=>{
ffmpeg(path.join(__dirname, pathFile))
// 设置视频比特率
.videoBitrate(1024)
//以百分比设置大小
.size('50%')
//设置fps
.fps(1)
.format('mp4')
.on('error', (err)=> {
reject({msg:"err" , data:err})
})
.on('end', ()=> {
resolve({msg:"success",data:{file:saveFilePath}})
})
.save(path.join(__dirname, saveFilePath))
})
}
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
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
上次更新: 2024/02/20, 17:31:36
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13