【发布时间】: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