http://blog.tianya.cn/blogger/post_read.asp?BlogID=2015543&PostID=18998434
水印又叫作"watermark"
以前ffmpeg使用-vhook来调用某个库实现水印添加.后来被废弃.现在添加了-vfilters参数调用libavfilter库来添加水印.但是这个库一直到本文发表的时候文档以及安装方法都不是很完善.
首先要先获得libavfilter
因为,直接从ffmpeg的download页面下载的ffmpeg是不能编译出-vfilters参数的.有了-vfilters参数我们才能得到使用filter的机会.添加水印就是把影片加上一副图片么.当然所添加图片的背景色需要去掉,只留下图片的图案和字那是最完美的.不过这里先只说如何加上一附图片.至于去掉背景色先不说了.因为我还没有弄出来.
要想使用filter需要先下载SoC版本的libavfilter,这个下好后里边有一个checkout.sh脚本.脚本的内容很简单.主要就是下载特定版本的ffmpeg并且打补丁等等.
SoC版libavfilter下载方法:
svn checkout svn://svn.mplayerhq.hu/soc/libavfilter
得到libavfilter之后进入这个目录执行checkout.sh脚本.执行完毕libavfilter里边就有了ffmpeg目录了..进入ffmpeg然后编译:
./configure --enable-avfilter --enable-avfilter-lavf
--enable-avfilter和 --enable-avfilter-lavf两个参数都要加,尤其是加水印需要用到movie filter,这个就需要加上--enable-avfilter-lavf才能激活.而前一个libavfilter的README文档是教程要求加的.
剩下的就是make/make install了.
下面说说如何使用:
这个文档不多.可以说搜索就找不到文档(在我学习如何使用的时候就是这样子.包括外文文档,我用的是google)
最详细的文档都在SoC版本的libavfilter里变呢,里边有README文档和doc目录.
README主要讲解安装,doc目录主要是一些用法,用法讲解的比较简单.其实不够详细.再就是从网络上搜索各种用法了.也可以看看libavfilter库的那些源代码.
只说一种粗糙地加水印的方法:
用in.avi作为输入视频,out.avi作为输出视频,pp.png表示要添加的水印图片,是png格式的,
调整水印大小(scale = 50:50)和位置(overlay=0:0)
$ ffmpeg -i in.avi -s 240x320 -vfilters "movie=0:png:pp.png, scale = 50:50 [over1], [in] [over1] overlay=0:0 [out]" out.avi
好就到这里.唯一遗憾就是就是水印图片的背景色没有去除,看起来很粗糙.这一部分也许我以后会补上
相关推荐
- 环境配置:确保安装了FFmpeg库,并将其路径添加到系统环境变量,以便SharpFFmpeg能够找到并使用。 - 错误处理:由于FFmpeg的操作涉及大量的I/O和低级操作,必须正确处理可能出现的错误,例如文件不存在、格式不...
FFmpeg是一款强大的开源多媒体处理工具,它包含了音视频编解码库libavcodec、音视频容器格式处理库libavformat、音视频过滤器库libavfilter以及音视频封装工具等。在本例中,我们主要关注的是FFmpeg的AVFilter功能,...
3. 配置环境变量:将FFmpeg的bin目录添加到系统PATH环境变量中,以便在任何地方调用FFmpeg命令。 三、FFmpeg在Java中的集成 1. 使用Java Native Access (JNA):通过JNA库将FFmpeg的C语言接口映射到Java中,直接...
最简单的基于FFmpeg的AVfilter例子(水印叠加)。FFMPEG中有一个类库:libavfilter。该类库提供了各种视音频过滤器。本代码在libavfilter基础上完成了一个水印叠加器。 该代码完成了一个水印叠加的功能。可以将一张...
3. 处理解码后的数据:解码后的AVFrame可以使用libavfilter进行处理,例如添加水印、裁剪等。 4. 再编码与封装:编码后数据用`av_interleaved_write_frame`写入目标文件,最后调用`av_write_trailer`关闭输出文件。...
4. 添加水印和特效:FFmpeg允许在视频中添加文本或图像水印,以及应用各种视觉效果。 5. 流媒体:FFmpeg可以将视频流推送到各种服务器,如RTMP、HLS或DASH,适合实时直播或在线视频服务。 6. 元数据处理:FFmpeg...
在安装过程中,确保你解压了"ffmpeg-20181111-e24a754-win64-static"文件,并将其路径添加到系统的PATH环境变量中,这样就可以在任何目录下直接运行FFmpeg命令。同时,注意安全问题,只下载并安装来自可信源的FFmpeg...
- 添加水印:`ffmpeg -i input.mp4 -vf "movie=logo.png [logo]; [in][logo] overlay=W-w-10:H-h-10 [out]" output.mp4` 下载并安装FFmpeg-6.0后,用户可以通过查阅官方文档或社区资源学习如何利用这些工具进行...
此外,FFmpeg具有丰富的过滤器系统,可以对视频和音频进行剪切、裁剪、旋转、水印添加等复杂处理。 源码源代码的提供意味着用户可以深入理解FFmpeg的工作原理,对于学习多媒体处理技术或者进行毕业设计论文研究非常...
在Linux环境下安装FFmpeg,通常涉及到多个依赖库的安装,这些库为FFmpeg提供了必要的功能支持。本压缩包包含了安装FFmpeg所需的各种组件,方便用户一次性安装,避免了逐个下载的繁琐过程。 1. **编译环境**: 在安装...
以下将详细介绍如何在Linux系统中安装FFmpeg以及其移植到ARM架构的过程。 一、FFmpeg概述 FFmpeg是由Fabrice Bellard发起的一个项目,它包含了多个库,如libavcodec(编码库)、libavformat(容器格式库)和...
7. **配置和构建**:学习如何根据需求配置FFmpeg,选择特定的编解码器和功能,以及如何构建和安装FFmpeg库。 通过深入学习和分析FFmpeg的源代码,不仅可以掌握多媒体处理的基础知识,还可以了解到高性能、跨平台...
开发者可以创建一个过滤器链,将多个过滤器串联起来,实现剪辑、裁剪、旋转、添加水印、调整颜色等操作。例如,"crop"过滤器用于裁剪视频,"scale"过滤器可以改变视频分辨率,而"transpose"过滤器则可以实现视频的...
4. **libavfilter**:FFmpeg的滤镜系统允许我们对音视频数据进行复杂的处理,如色彩校正、画面裁剪、添加水印等。开发者可以创建自定义的滤镜,也可以组合使用已有的滤镜实现多种效果。 在学习FFmpeg Basics时,你...
编译FFmpeg通常涉及到配置选项选择、依赖库的安装、源代码下载和构建等步骤。这个“编译后成品”已经完成了这些工作,用户无需关心编译细节,可以直接使用提供的可执行文件。 3. **提供的文件**: - `pthreadGC2....
例如,添加文本水印可能需要安装`libavfilter`,而图像水印则可能需要`libavutil`和`libswscale`。 总的来说,FFmpeg是一个复杂但极其强大的工具,其功能和定制性取决于你如何配置和扩展它的基础库。安装和配置过程...
FFmpeg的libavfilter模块允许开发人员创建自定义的视频处理过滤器,可以进行颜色调整、画面旋转、水印添加、去噪等操作。在三维项目中,这些功能可能用于预览、导出或者特效制作。 6. 多平台支持: FFmpeg支持...
在Windows环境下,FFmpeg 的静态编译版本 `ffmpeg-20180201-b1af0e2-win64-static` 包含了所有必需的依赖库,用户只需将该版本解压后放入系统路径,就可以在命令行直接运行FFmpeg命令,无需额外安装。 总的来说,...
例如,`ffmpeg` 可以实现视频格式转换、裁剪、合并、添加水印等功能。 2. **编码解码器**:FFmpeg 支持广泛的音频和视频编码解码器,包括 H.264、H.265 (HEVC)、VP9、AAC、Opus 等,能够处理几乎所有的多媒体格式。...
4. **滤镜系统**:FFmpeg 的libavfilter库提供了一套强大的滤镜,可以对音视频进行各种处理,比如裁剪、旋转、缩放、色彩校正、添加水印等。这些滤镜可以通过图形化配置或者命令行参数来应用。 5. **流媒体**:...