简介
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
下载安装
最简单的安装方式还是使用包管理工具
sudo apt update
sudo apt install ffmpeg -y
基本使用方式
转换视频文件的格式:
ffmpeg -i demo.avi output.mp4 #.avi --> .mp4
同样可以转换音频文件:
ffmpeg -i dem0.wav output.mp3
指定编码器,这里指定H264编码器:
ffmpeg -i demo.avi -c:v libx264 output.mp4
若使用Nvidia显卡,可以使用h264_nvenc硬件加速:
ffmpeg -i demo.avi -c:v h264_nvenc output.mp4
设置编码速度与问价大小 -preset
:
ffmpeg -i demo.avi -c:v libx264 -preset "参数" output.mp4
参数项可选(从上到下,编码速度又快到慢,压缩文件大小yo由大至小):
- ultrafast
- superfast
- veryfast
- faster
- fast
- medium(默认)
- slow
- slower
- veryslow
控制图像质量-crf
取值范围0- 51,数子越大文件越小,压缩质量越差,常用范围(19 - 28):
fffmpeg -i demo.avi -c:v libx264 -crf 25 output.mp4
视频剪切:
ffmpeg -i demo.avi -c:v libx264 -ss 00:00:03 -t 00:00:05 output.mp4 # -ss 起始位置 -t 视频时长,格式可用hh:mm:ss或者秒数
ffmpeg -i demo.avi -c:v libx264 -ss 00:00:03 -to 00:00:08 output.mp4
视频合并:
先将所有文件列举在一个文本文档中,
# mylist.txt
file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'
ffmpeg -f concat -i mylist.txt -c copy output.mp4 # -c copy 表示不重新编码而是直接拷贝原始视频数据,因为输入视频格式一致,可以节省时间!
过滤器
过滤器可以对视频图像进行变换,如修改尺寸、裁剪、旋转、添加滤镜等等。并且可以指定一系列的过滤器实现复杂的功能,上一个过滤器的输出会作为下一个过滤器的输入 。使用参数 -vf
指定过滤器。
修改视频尺寸"scale="
:
ffmpeg -i demo.avi -c:v libx264 -vf "scale=-1:720" output.mp4 #设置720p,参数设为-1,FFmpeg会根据另一个参数自动推算,当然可以显示给出所有参数。
旋转方向 "transpose="
:
ffmpeg -i demo.avi -c:v libx264 -vf "transpose=[参数]" output.mp4
参数可选:
- 1 – 顺时针旋转90°
- 2 – 逆时针旋转90°
- 0 – 逆时针旋转90°且上下翻转
- 3 – 顺时针旋转90°且上下翻转
裁剪指定区域"crop=w:h:x:y"
,分别代表宽、高以及左上角的x、y坐标:
ffmpeg -i demo.avi -c:v libx264 -vf "crop=400:400:100:100" output.mp4
ffmpeg -i demo.avi -c:v libx264 -vf "crop=iw/3:ih/3" output.mp4
过滤器组合使用:
ffmpeg -i demo.avi -c:v libx264 -vf "scale=256:256,transpose=1" output.mp4
音频过滤器
调节音量大小:
ffmpeg -i demo.mp4 -af "volume=1.5" output.mp4
统一视频音量:
ffmpeg -i demo.mp4 -af "loudnorm=I=-5:LRA=1" output.mp4
添加高通、低通滤波器或均衡器:
ffmpeg -i demo.mp4 -af "equalizer=f=1000:width_type=h:width=200:g=-10" output.mp4
删除音频轨:
ffmpeg -i demo.mp4 -an output.mp4
删除视频轨:
ffmpeg -i demo.mp4 -vn output.mp4
删除字幕:
ffmpeg -i demo.mp4 -sn output.mp4
删除数据流:
ffmpeg -i demo.mp4 -dn output.mp4
技巧
创建视频缩略图:
ffmpeg -i demo.mp4 -vf "fps=1/10,scale=-2:720" thumbnail-%03d.jpg
添加水印:文章来源:https://www.toymoban.com/news/detail-419224.html
ffmpeg -i demo.mp4 -i shuiyin,jpg -filter_complex "overlay=100:100" output.mp4
GIF动图的转换:文章来源地址https://www.toymoban.com/news/detail-419224.html
ffmpeg -i demo.mp4 -ss 0 -t 3 -filter_complex [0:v]fps=15,scale=-1:256,split[a][b];[a]palettegen[p];[b][p]paletteuse output,gif
Reference
- 官方文档
- 引用视频
到了这里,关于FFmpeg视频工具简洁教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!