Flutter 音视频处理FFmpeg

Flutter 音视频处理FFmpeg,第1张

只能说 Flutter 确实很强大

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添加字体水印命令即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11663214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存