使用ffmpeg android在视频上叠加图像

时间:2017-07-30 11:17:19

标签: image video ffmpeg overlay

我正在尝试使用ffmpeg库在视频上添加图片叠加,但没有成功。

我使用ffmpeg https://drive.google.com/file/d/0B2aT0QoEmtuaN0VJZ2Z4ODY3T2s/view

尝试了示例

并将此链接也引用到视频上的叠加图片http://ksloan.net/watermarking-videos-from-the-command-line-using-ffmpeg-filters/#comment-9793,但收到错误。

以下是我的logcat错误以供参考:

07-31 10:23:43.406 29517-29517 / com.examples.ffmpeg4android_demo D / ffmpeg4android:/storage/emulated/0/videokit/in.mp4字节长度:840896 07-31 10:23:43.432 29517-30185 / com.examples.ffmpeg4android_demo I / ffmpeg4android:doInBackground开始...... 07-31 10:23:43.432 29517-30185 / com.examples.ffmpeg4android_demo I / ffmpeg4android:vk删除:false 07-31 10:23:43.434 29517-30185 / com.examples.ffmpeg4android_demo D / ffmpeg4android:获取唤醒锁定 07-31 10:23:43.479 29517-30185 / com.examples.ffmpeg4android_demo I / ffmpeg4android:=======运行第一个命令========= 07-31 10:23:43.479 29517-30185 / com.examples.ffmpeg4android_demo I / ffmpeg4android:运行ffmpeg4android_lib:322.00.02_LM322 07-31 10:23:43.479 29517-30185 / com.examples.ffmpeg4android_demo D / ffmpeg4android:{" ffmpeg"," -y"," -loop" " 1"" -i"" /sdcard/videokit/logo.png"," -i"" /sdcard/videokit/in.mp4","-y","-filter_complex","overlay=0:0:shortest=1",& #34; /sdcard/videokit/out.m4v"} 07-31 10:23:43.485 29517-30185 / com.examples.ffmpeg4android_demo D / ffmpeg4android:/sdcard/videokit/logo.png长度(字节):6047 07-31 10:23:43.486 29517-30185 / com.examples.ffmpeg4android_demo D / ffmpeg4android:/sdcard/videokit/in.mp4长度(字节):840896 07-31 10:23:43.486 29517-30185 / com.examples.ffmpeg4android_demo I / ffmpeg4android:videokitLibPath退出 07-31 10:23:43.486 29517-30185 / com.examples.ffmpeg4android_demo I / ffmpeg4android:/data/user/0/com.examples.ffmpeg4android_demo/lib/libvideokit.so 07-31 10:23:43.493 29517-30185 / com.examples.ffmpeg4android_demo I / Videokit:libvideokit.so已加载 07-31 10:23:43.493 29517-30185 / com.examples.ffmpeg4android_demo I / Videokit:args不为NULL 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo I / Videokit:多一个arg 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo I / Videokit:找到功能符号 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo D / Videokit:通过装载机调用视频 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo D / Videokit:call licenseCheckComplex 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo I / Videokit:isLicExistsComplex ... 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo I / Videokit:您在15个试用日中使用过1天。 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo D / Videokit:许可证检查rc:0 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo D / Videokit:ffmpeg4android base 2.5

                                                                        --------- beginning of crash

07-31 10:23:43.584 29517-30185 / com.examples.ffmpeg4android_demo A / libc:致命信号11(SIGSEGV),代码1,tid 30185中的故障地址0x0(AsyncTask#1) 07-31 10:23:44.432 29517-29517 / com.examples.ffmpeg4android_demo I / Choreographer:跳过44帧!应用程序可能在其主线程上做了太多工作。

1 个答案:

答案 0 :(得分:0)

您可以使用ffmpeg Android包装器和常规ffmpeg命令行语法(这是非常好的支持和记录)来实现这一点 - 请记住,移动设备上的视频处理是一个繁重的CPU用户,因此可能比您希望并且还可能影响电池使用情况。

以下是一个支持得很好的ffmpeg包装器:

您可以使用如下命令添加ffmpeg图像:

ffmpeg -i inputVideo.mp4 -i yourImage.png -filter_complex "overlay=5:5" -codec:a copy outputVideo.mp4

有关放置图像的更多示例(即左上角,右下角等),请参阅此答案:https://stackoverflow.com/a/10920872/334402