FFmpeg 是一个开源的跨平台多媒体处理工具,可以用于处理音频、视频和多媒体流。它提供了一组强大的命令行工具和库,可以进行视频转码、视频剪辑、音频提取、音视频合并、流媒体传输等操作。
FFmpeg 的主要功能和特性:
安装
ffmpeg.p2hp.com/download.ht…
选择对应的操作系统进行下载就可以了,下载完成配置一下环境变量就ok了
输入 ffmpage -version
不报错即可
子进程配合ffmpeg
-i
表示输入的意思const {execSync} = require('child_process')
execSync(`ffmpeg -i test.mp4 test.gif`,{stdio:'inherit'})
-vf 就是video filter
drawtext 添加文字 fontsize 大小 xy垂直水平方向 fontcolor 颜色 text 水印文案 全部小写
const {execSync} = require('child_process')
execSync(`ffmpeg -i test.mp4 -vf drawtext=text="XMZS":fontsize=30:fontcolor=white:x=10:y=10 test2.mp4`,{stdio:'inherit'})
-ss 起始时间
-to 结束事件
ss写在 -i的前面可能会导致精度问题,因为视频还没解析就跳转到了相关位置,但是解析速度快
ss写在 -i后面精度没问题,但是解析速度会变慢
const {execSync} = require('child_process')
execSync(`ffmpeg -ss 10 -to 20 -i test.mp4 test3.mp4`,{stdio:'inherit'})
const {execSync} = require('child_process')
execSync(`ffmpeg -i test.mp4 test.mp3`,{stdio:'inherit'})
w h 宽高
xy 垂直 水平坐标
delogo使用的过滤参数删除水印
const {execSync} = require('child_process')
execSync(`ffmpeg -i test2.mp4 -vf delogo=w=120:h=30:x=10:y=10 test3.mp4`,{stdio:'inherit'})