一.获取基本信息
ffmpeg -i 文件名 输出类似:
代码语言:javascript复制Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a.mp4':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isommp42
Duration: 00:03:31.12, start: 0.000000, bitrate: 548 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 512 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : Bento4 Video Handler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 32 kb/s (default)
Metadata:
handler_name : Bento4 Sound Handler
其中: - Duration行的bitrate: 548 kb/s, 为视频比特率 - Stream行的640x360为分辨率
二.添加水印
代码语言:javascript复制ffmpeg -i a.mp4 -acodec copy -b:v 548k -vf "movie=logo.png[watermark];[in][watermark]overlay=20:20" output.mp4
说明 - -i a.mp4:要处理的视频文件 - -acodec copy:保持音频不变 - -b:v 548k:设置视频比特率,默认200k,最好设置与原视频一致(获取方法见一),不然清晰度可能变差。 - -vf “…”:水印处理参数。其中,logo.png是水印图片;overlay=20:20是图片左上角距离视频左上角的距离。 - output.mp4为输出文件名
本例在视频左上方20*20的位置插入了导航logo,效果如下:
三.去除水印
代码语言:javascript复制ffmpeg -i a.mp4 -b:v 548k -vf delogo=x=495:y=10:w=120:h=45:show=1 delogo.mp4
对delogo滤镜的说明: - x,y:水印的左上方坐标 - w,h: 水印的宽高 - show:可选参数,为1时,可以看到一个绿色的,由x,y,w,h所确认的矩形框,方便调试使用。无误后,可以去掉此参数。 - 如需使用delogo滤镜,编译ffmpge一定要加–enable-gpl选项(详见这里)。不然使用时会提示
代码语言:javascript复制no such filter 'delogo'
接着来看看上面命令的效果。原视频截图如下:
处理后的视频截图如下:
是不是很完美!至于那个绿框,只要去掉上面的命令中的show=1就可以让它消失了。
更详细的delogo说明可以参见这里