android - 在 ffmpeg 监护人项目 (android) 中使用叠加视频过滤器

标签 android video ffmpeg video-processing

首先,我是 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;
    }

这些代码将生成此命令:

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

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

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

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

最佳答案

尝试使用以下命令

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

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

关于android - 在 ffmpeg 监护人项目 (android) 中使用叠加视频过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19721933/

相关文章:

ffmpeg - 使用 youtube-dl 和 ffmpeg(或 vlc)将 YouTube 直播流转码为 rtsp rtmp udp rtp

android - 如何在android中修剪视频?

android - 为什么更改布局参数的设置位置可以解决我的 "OnClickListener not working for first item in GridView"问题?

java - 单击按钮开始新 Activity 时我的应用程序崩溃

android - Firebase 中的 uid 不是唯一的

c++ - QML Component 'Video' 无法播放来自Qt资源文件的视频文件

linux - ffmpeg 视频上的图像水印 左下角视频的前半部分和右上角的视频下半部分

audio - 如何创建静音作品音频文件

linux - ffmpeg 在以 root 身份运行的 crontab 中失败

java - NoSuchMethodError 使用 API 连接到服务器