【问题标题】:May I use OpenCV in a customized FFMPEG filter?我可以在定制的 FFMPEG 过滤器中使用 OpenCV 吗?
【发布时间】:2017-10-25 23:01:46
【问题描述】:

我是 FFMPEG 和 OpenCV 的新手。我希望在视频之上叠加一个热图视频。可能有两种解决方案: (1) 制作定制的 FFMPEG 过滤器。循环遍历每一帧时,计算该帧的热图并将其与视频帧叠加。在这里,我需要一些矩阵运算来计算热图。我可以在 FFMPEG 过滤器中使用 OpenCV 进行这些操作吗? (2) 使用 OpenCV 生成热图作为视频,然后使用 FFMPEG 将热图视频覆盖在原始视频之上。

看起来第一个适合 FFMPEG 工作流程,但我仍然不确定哪个解决方案更好,或者是否有更好的解决方案。特别是,我不确定我是否可以在 FFMPEG 中使用 OpenCV。

谢谢。

【问题讨论】:

  • 只使用 opencv 就足够了。看看this
  • 谢谢,IncBrain。这个例子很好,但可能不能完全满足我的需要。
  • (继续)因为:我不需要实时处理过度的结果。我必须将它作为视频保存在某个地方。
  • (继续)据docs.opencv.org/2.4/doc/tutorials/highgui/video-write/…“OpenCV 主要是一个计算机视觉库,而不是视频流、编解码器和写一个。因此,开发人员试图让这部分尽可能简单。由于到这个用于视频容器的 OpenCV 仅支持 avi 扩展,它的第一个版本。一个直接的限制是您不能保存大于 2 GB 的视频文件。此外,您只能在容器内创建和扩展单个视频轨道。没有音频或其他音轨编辑支持。)
  • (继续)如果我使用 OpenCV 创建热图视频或在视频顶部叠加热图的视频,大小可能会比 2G 大得多,并且没有音频。

标签: opencv video ffmpeg


【解决方案1】:

当您运行 .configure 时,使用 --enable-libopencv(它位于高级选项帮助菜单中)。然后,您应该能够将 opencv 库导入您编写的 ffmpeg 过滤器。 (我以前没有尝试过,但是使用 CUDA SDK 做了一些类似的事情,顺便说一句,这对于您的线性代数来说可能是一个不错的选择。)

【讨论】:

    猜你喜欢
    • 2014-06-30
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 2011-06-28
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多