作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 FFmpeg 以编程方式将图像或视频叠加在另一个视频的顶部。似乎 AVFilter 可以做到这一点。
有很多关于如何使用命令行执行此操作或类似操作的示例,但是,除了 doc/examples/filtering.c 之外,我没有发现以编程方式使用 AVFilter 的示例,这对我有帮助但还不够。
我已经可以对视频进行解码和编码,我只需要学习如何过滤解码的帧并添加水印。
有没有以编程方式使用 libavfilter 的示例?
是否有使用叠加或电影滤镜的示例?
最佳答案
命令:
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
ffmpeg
是您将用来添加水印的程序。
-i
用于指定输入文件。
inputvideo.avi
是
-i
指定的输入文件吗? .
-vf
用于指定视频过滤器。在这种情况下,这就是引号中的所有内容。
movie=watermarklogo.png
将加载您要用作水印的文件。在这里,我们将文件加载为视频源(通过使用
movie
),无论文件是否为视频。在这种情况下,它是一个图像。
[watermark]
标记您刚刚加载的文件。该标签将在其余代码中使用。
[in]
和
[out]
指视频的输入流和输出流。
overlay
在
[watermark]
之后使用标签,以便它引用它。在这个简单的例子中,我们放置
overlay
在
10:10
.这意味着水印将从顶部和左侧偏移 10 个像素。如果你想要右下角,你会使用
overlay=main_w-overlay_w-10:main_h-overlay_h-10
在哪里
main_w
是输入流的宽度,
overlay_h
是覆盖文件的高度,依此类推。
outputvideo.flv
显然是您希望将结果保存到的文件。
error while opening encoder for output stream #0.1
关于filter - FFmpeg AVFilter 以编程方式覆盖/水印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9155246/
我正在尝试使用 FFmpeg 以编程方式将图像或视频叠加在另一个视频的顶部。似乎 AVFilter 可以做到这一点。 有很多关于如何使用命令行执行此操作或类似操作的示例,但是,除了 doc/examp
我想编译一个使用 ffmpeg 的 C++ 应用程序,并且我想使用过滤器。 我已经设置了一个 cmake 文件: set(FFMPEG_OPTIONS "-Wl,-no_compact_unwind
我的编码和解码使用 ffmpeg 和 libav 工作正常,但后来我在编码步骤中添加了一个过滤器来旋转我的视频,它不再在我的 docker 机器上工作,但它在本地工作。 在 docker 中编译时的错
我是一名优秀的程序员,十分优秀!