【问题标题】:using overlay video filter in ffmpeg guardian project (android)在 ffmpeg Guardian 项目(android)中使用覆盖视频过滤器
【发布时间】:2013-11-01 06:33:30
【问题描述】:

首先,我是 FFMPEG 的初学者,所以请多多包涵。

我正在使用this 库并成功地结合了音频和视频:D

但是,当我尝试在视频上插入图像/水印时,我总是失败。

这是我使用的代码:

public MediaDesc combineVideoAndImage (MediaDesc videoIn, MediaDesc image, MediaDesc out, ShellCallback sc) throws Exception
    {
        ArrayList<String> cmd = new ArrayList<String>();

        cmd.add(ffmpegBin);
        cmd.add("-i");
        cmd.add(new File(videoIn.path).getCanonicalPath());

        cmd.add("-vf");
        cmd.add("movie=" + new File(image.path).getAbsolutePath() + " [logo];[in][logo] overlay=10:10 [out]");

        cmd.add("-strict");
        cmd.add("-2");

        File fileOut = new File(out.path);
        cmd.add(fileOut.getCanonicalPath());

        execFFMPEG(cmd, sc);

        return out;
    }

这些代码将生成这个 cmd :

ffmpeg -i VIDEONAME.mp4 -vf "movie=LOGONAME.png [logo];[in][logo] overlay=10:10 [out]"
-strict -2 OUTPUTNAME.MP4

我已经在 ubuntu 13.10 64bit 上测试了这个 CMD,安装了最新的 FFMPEG 并且成功了。

但它不在我的 android 项目中。它不会捕获/抛出任何错误/异常,程序正常运行并且文件已创建但其中没有任何内容(0 字节)

感谢任何帮助。感谢您的帮助:D

【问题讨论】:

  • 向上向上向上向上向上:)
  • 什么 ubuntu 版本的 ffmpeg 有效?注意:github.com/guardianproject/android-ffmpeg/tree/… 跟随监护人的外部链接会将您带到 android 项目正在使用的提交版本。它的 ffmpeg 0.11 已经有几年历史了,不会和你在 ubuntu 上使用的版本相同。
  • @RobertRowntree 我尝试使用我自己的二进制文件,这是最新版本,但仍然没有运气:(
  • 将 diff ffmpeg 版本换成 Guardian 的项目肯定行不通。
  • @RobertRowntree 为什么?我不能根据我的 FFMPEG 版本使用正确的语法吗? :D

标签: android video ffmpeg video-processing


【解决方案1】:

试试下面的命令

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=10:10" -codec:a copy output.mp4

我已经在 android 上测试过,它运行完美。

【讨论】:

    猜你喜欢
    • 2016-08-08
    • 2020-08-26
    • 2013-10-21
    • 2019-07-02
    • 1970-01-01
    • 2021-05-24
    • 2015-12-22
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多