windows下安装
FFmpeg是一套用来记录、转换数字音频、视频的计算机开源程序。他提供了录制、转换以及流化音视频的完整解决方案。包含了非常先进的音频/视频编码解码库libavodec
第一:下载FFMpeg----https://ffmpeg.zeranoe.com/builds/,自行选择自己需要的多少位的静态程序
第二:解压到指定文件夹下---C:\Program Files\ffmpeg
第三:添加到环境变量:C:\Program Files\ffmpeg\bin
第四:查看FFmpeg版本信息---ffmpeg -version
Linux下安装
第一步:下载ffmpeg:http://ffmpeg.org/releases/ffmpeg-3.4.1.tar.bz2
第二步:拷贝到/usr/local 目录下
第三步:解压FFMPEG===$tar -jxvf ffmpeg-3.4.1.tar.bz2
第四步:$cd ffmpeg-3.4.1
第五步:安装yasm $sudo apt-get install yasm
第六步:./configure --enabled-shared --prefix=/usr/local/ffmpeg-3.4.1(执行不成功可以在root下./configure)
第七步:修改文件/etc/ld.so.conf 中增加/usr/local/ffmpeg/lib.
使其生效:ldconfig
第八步:加入环境变量:vi /etc/profile
最后一行:export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
使环境变量生效:source /etc/profile
ffmpeg使用
1、视频转换格式----将test.avi格式的软件转换为test.mp4
ffmpeg -i test.avi test.mp4
2、视频截图保存为图片
ffmpeg -i inputfile.avi -r 1 -q:v 2 -f image2 image-%05d.jpg
-r:指定抽取的帧 即从视频中每秒抽取图片的数量 1代表每秒抽取一帧
-f:保存图片使用的格式 可省略
Image-%05d.jpg:指定文件的输出名字
3、截取与合并视频
截取:
ffmpeg -i 0005.mp4 -vcodec copy -acodec copy -ss 00:00:00 -to 00:00:100 d:/cutout1.mp4 -y -ss:指定从什么时候开始
-t:指定需要截取多长时间
-i:指定输入文件
截取视频如果出现时间点不对,出现这种情况的原因是因为截取到的地方不是关键帧,如果项目中对时间要求比较精确的话,需要先将视频将所有的帧提前转换关键帧----将所有的帧编码方式转变为帧内编码
具体操作:老版本:ffmpeg -i input -samep -intra output
-i:输入视频文件
-sameq :保持同样的视频质量
-intra :帧内编码
output:输出文件名
新版本:ffmpeg -i inputfile -strict -2 -qscale 0 -intra output.mp4
合成:
ffmpeg -ss 00:00:00 -t 00:00:20 -i input.mp4 -vcodec copy output.mp4
ffmpeg -f concat -i list.txt -c copy concat.mp4
list.txt文件中的书写方式:
file video1.mp4
file video2.mp4
4、给视频添加水印
ffmpeg -i xiaozheng.mp4 -i mark.png -filter_complex overlay test1.mp4
给视频添加文字水印:
ffmpeg -i xiaozheng.mp4 -vf "drawtext=fontfile=simsunb.ttf:
text='zhengqijia':x=100:y=10:fontsize=24:fontcolor=yellow:shadowy=2" drawtext.mp4
文字水印filter是drawtext simsunb.ttf:text=’zhengqijia’
x:y是显示位置
fontsize:文字大小
fontcolor:文字颜色
给视频添加图片水印:
ffmpeg -i input.mp4 -vf "movie=mark.png[watermark];[in][watermark] overlay=10:10[out]" output.mp4