多媒体格式转换--FFmpeg
FFmpeg 是领先的多媒体框架,能够对音视频等进行解码、编码、 转码、复用、解复用、流式传输、过滤和播放,也可以操作提取关键帧和GIF等。
FFmpeg 可以在 Linux、Mac OS X、Microsoft Windows、BSD、Solaris 等各种构建环境、机器架构和配置下编译、运行。
1、ffmpeg下载安装:ffmpeg官网下载
Mac安装:
1️⃣安装homebrew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2️⃣安装ffmpeg
brew install ffmpeg
3️⃣验证ffmpeg安装
ffmpeg -version
Windows安装:
1️⃣进入官网下载对应的压缩包
ffmpeg官网下载,找到 Windows 区域,点击 gyan.dev(推荐稳定版):
进入后在 Release Builds 里选:
ffmpeg-release-essentials.zip(基础版,够用、体积小)
或 ffmpeg-release-full.zip(完整版,含更多编码)
2️⃣安装
Windows安装相对比较简单,下载的压缩包文件直接解压即可
ps:文件所在路径最好不要有空格或文字出现,后续配置环境会有影响
3️⃣配置环境变量并验证安装
打开环境变量(“我的电脑”右键找到属性-->高级系统设置-->环境变量),找到“path”,打开编辑
复制ffmpeg解压缩后文件bin所在文件路径,将文件路径粘贴到path编辑栏,点击“保存”即可
ffmpeg -version成功打印版本
2、常用基础指令
视频格式转换、截取、提取
ffmpeg -i input.mp4 output.avi 将mp4格式转换为avi
ffmpeg -i input.avi -c:v libx265 -c:a aac output.mp4 强制转换指定格式h.265
ffmpeg -i input.mp4 -t 10 output.mp4 提取视频前10s输出新文件
ffmpeg -i input.mp4 -ss 00:00:05 -t 10 output.mp4 提取视频从05s开始往后的10s输出新文件
ffmpeg -i input.mp4 -vn -c:a libmp3lame audio.mp3 提取视频文件中音频输出单独音频文件
ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1" output.gif 视频mp4文件转换为GIF文件-帧率10
ffmpeg -i input.mp4 -r 1 output_%04d.jpg 视频mp4文件中提取图片-图/帧
ffmpeg -framerate 24 -i frame_%04d.jpg -c:v libx264 output.mp4 图片集合成视频
ps:可修改视频分辨率(input.mp4 -s 分辨率 output.mp4),上传后视频分辨率会改变----使用格式工厂转换后的资源分辨率稳定
查看视频分辨率:ffmpeg -i 视频文件名.mp4
仅输出视频原始宽高比:ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 视频文件名.mp4
3、常用参数标注
| 参数 | 说明 | 举例 |
|---|---|---|
| -i | 输入文件路径 | |
| -c:v | 视频编码器 | ibx264 |
| -c:a | 音频编码器 | aac |
| -vf | 视频滤镜 | scale=640:480 |
| -af | 音频滤镜 | volume=0.5 |
| -r | 帧率 | -r 30 |
| -b:v | 视频比特率 | -b:v 1M |
| -ss | 开始时间 | -ss 00:00:05 |
| -t | 持续时间 | -t 30 |
4、帮助文档
ffmpeg -h full
更多详情可查看:ffmpeg使用文档。
浙公网安备 33010602011771号