FFmpeg
Mac安装FFmpeg,先安装Homebrew (官方网址:https://brew.sh/),
Homebrew安装成功,再执行
brew install ffmpeg
程序自动先执行update brew,然后下载FFmpeg依赖,比较多,时间比较久,网速不错的可能2.3个小时,下载依赖如下:
等到终端执行完毕的时候,执行:
ffmpeg -version
安装完成会输出以下信息:
最后再附上FFmpeg常用命令:
-i 输入
-ss 开始时间
-r 提取频率
-t 提取总时长
-b 修改后的比特率
-vf scale=360:-1 缩放视频尺寸
-filter:v "setpts=0.5*PTS" 加速播放
-filter:v "setpts=2.0*PTS" 减速播放
-an 禁止音频输出,只输出视频
-vn 禁止视频输出,只输出音频
-vframes 所取帧数
-s 350*240 添加截取的图片大小为350*240
最后放输出路径
将视频 MP4 转化为 GIF
ffmpeg -i small.mp4 small.gif
转化视频中的一部分为 GIF
ffmpeg -t 3 -ss 00:00:02 -i small.webm small-clip.gif
从视频中第二秒开始,截取时长为3秒的片段转化为 gif
转化高质量 GIF
默认转化是中等质量模式,若要转化出高质量的 gif,可以修改比特率
ffmpeg -i small.mp4 -b 2048k small.gif
视频属性调整
缩放视频尺寸
ffmpeg -i big.mov -vf scale=360:-1 small.mov
注意 sacle 值必须是偶数,这里的 -1 表示保持长宽比,根据宽度值自适应高度。
如果要求压缩出来的视频尺寸长宽都保持为偶数,可以使用 -2
加倍速播放视频
ffmpeg -i input.mov -filter:v "setpts=0.5*PTS" output.mov
定义帧率 16fps:
ffmpeg -i input.mov -r 16 -filter:v "setpts=0.125*PTS" -an output.mov
慢倍速播放视频
ffmpeg -i input.mov -filter:v "setpts=2.0*PTS" output.mov
静音视频(移除视频中的音频)
ffmpeg -i input.mov -an mute-output.mov
-an 就是禁止音频输出
将 GIF 转化为 MP4
ffmpeg -f gif -i animation.gif animation.mp4
也可以将 gif 转为其他视频格式
ffmpeg -f gif -i animation.gif animation.mpeg
ffmpeg -f gif -i animation.gif animation.webm
获取 GIF 的第一帧图片
使用 ImageMagick 可以方便第提取 gif 图片的第 N 帧图像。
安装 ImageMagick
brew install imagemagick
提取第一帧
convert 'animation.gif[0]' animation-first-frame.gif
通过 [0] 就可以提取出 gif 的第一帧图像。
获取视频时长
ffmpeg -i video.mov 2>&1 |grep duration -i
从第00:00秒开始,每n(秒)截取一帧图片
ffmpeg -ss 00:00 -i video.mov -f image2 -r 1/n -t 00:16 %3d.jpg
连续取3帧,-vframes 3
ffmpeg -i video.mov -r 1 -vframes 3 %3d.jpeg
分离音视频
ffmpeg -i input_file -vcodec copy -an output_file_video
ffmpeg -i input_file -acodec copy -vn output_file_audio
合并音视频
ffmpeg -i video_file -i audio_file -vcodec copy -acodec copy output_file
视频录制
ffmpeg -i rtsp://192.168.1.1:80/test -vcodec copu out.avi
从0秒开始截取一段8秒音视频
ffmpeg -ss 0 -i audio.mp3 -t 8 m.mp3