https://pub.flutter-io.cn/packages/flutter_ffmpeg
ffmpeg 插件,文档没给出如何给视频添加水印, 但是给出了执行命令的方法演示, 这就足够了。
添加一个水印:
String command = "-i " + inputVideoPath +
" -i "+waterMarkPath+" -filter_complex overlay "+
outVideoPath+""
添加多个水印命令:
String command = "-i " + inputVideoPath +
" -i "+waterMarkPath2+" -i "+waterMarkPath+
" -filter_complex overlay=10:10,overlay=5:5 "+
outVideoPath+""
将视频转换成小尺寸视频:
String command = "-i " + inputVideoPath +" -b:v 10000k -s 216x384 "+ outVideoPath+""
如果碰到 App crash with error message: couldn't find "libmobileffmpeg_abidetect.so"
执行
flutter clean
flutter doctor -v
说起homebrew确实是Mac上非常好用的一个工具,像什么CocoPods,node,ffmpeg等等安装都不在话下。不过因为用的是公司的电脑,之前不知道咋折腾把Mac的管理权限都给弄没了,啥都安装不了。要解决此问题可以参考以下博客
Mac丢失管理员权限解决办法
homebrew安装命令
使用ffmpeg命令一般有两种方式,第一种是自己编译ffmpeg源码,通过调用ffmpeg的main()函数来执行ffmpeg命令(以后有机会可以写个有关ios上使用ffmpeg命令的博客)。第二种是直接安装到Mac上,使用终端来管理。
使用homebrew安装ffmpeg
检查ffmpeg是否安装成功
有关ffmpeg安装博客较多,这里就不在赘述。到这里使用ffmpeg给视频加水印的准备工作就完成了。
相比给视频增加文字水印,图片水印相对简单一些。具体原因后面我会说明。
在视频右下角的添加图片水印
下面来说明一下这条命令中基本参数的含义
至于里面其他参数的意义如[watermark],我个人猜测可能是类似标记之类的东西,方便阅读的(ps:有了解的小伙伴可以告知一声哈)在ffmpeg的文档中也没有找到这个参数。
ffmpeg官方提供了另外一种添加图片水印的方法
在视频右下角的添加图片水印
在视频左下角添加图片水印
参数解析
ffmpeg官方文档实现: ffmpeg文档地址
在视频左上角添加一条白色字体的文字水印
参数说明
然后,执行上面的命令。然鹅出现了以下错误
安装ffmpeg
已经安装过ffmpeg
如果还是安装不上的话可以尝试先执行卸载第三方库的命令
暴力点甚至可以先卸载ffmpeg,再执行以上命令
再来看看ffmpeg支持的类型
接着再执行ffmpeg添加字体水印命令即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)