FFmepg图像相关命令的使用
1.截取指定时间的略缩图
ffmpeg -i class.mp4 -f image2 -ss 1 -t 0.001 -s 958x718 -y class.jpg
这里-f是指定输出的文件格式为图片,-ss这里是指定从第1秒开始,截取一帧图片,这里的宽高采用的圆视频宽高。
2.添加图片水印
ffmpeg -i class.mp4 -vf "movie=pix1.jpg[logo];[in][logo] overlay=W-w:H-h:0[out]" classlogo.mp4
这里-vf表示video filter,-vf里面的内容都需要在“”中,movie=后面跟的是图片文件,我选择的当前文件下的图片,[logo]这里[]里面的内容可以随意;注意[in]后面跟着[]和前面的一样;overlay的第一个参数代表图片x轴的位置,第二个参数代表着图片y轴位置,第三个参数代表是否将输入的颜色空间设置RGB,0则保持默认值,1则设置RGB
- W----------背景窗口的宽度
- H-----------背景窗口的高度
- w-----------overlay输入的宽度
- h------------overlay输入的高度
3.右上角显示日期和时间
ffmpeg.exe -i class.mp4 -vf drawtext="x=w-tw:fontcolor=red:fontsize=30:text='%{localtime}'" -y 1.mp4
这里我没有指定 字体文件,ffmpeg会自己选择到我C盘中的字体
注意:这里在使用-vf时,不要用-c copy,可以通过使用-acodec 和-vcodec指定编码;在编译时-vf也会采用本地的h264和aac编码
4.添加文本信息
ffmpeg.exe -i class.mp4 -vf drawtext="x=w-tw:fontcolor=red:fontsize=30:text='hello ffmpeg'" -y 1.mp4
5. 绝对路径添加字体文件
ffmpeg.exe -i class.mp4 -vf drawtext="fontfile=d//:avtest\ariali.ttf:x=w-tw:fontcolor=red:fontsize=30:text='%{localtime}'" -y 1.mp4
这里在:前添加两个//是因为使用drawtext时每个不同的选项是通过:来分割的所以需要用/来进行转义,当/本身也需要进行转义所以需要用//对:进行转义。后面使用\是在window下文件路径的分隔符