首页 文章

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

提问于
浏览
0

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

我用ffmpeg尝试了样本,https://drive.google.com/file/d/0B2aT0QoEmtuaN0VJZ2Z4ODY3T2s/view

并引用此链接以覆盖视频上的图像,但却收到错误 .

以下是我的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“,”/ sdcard / videokit / out.m4v“} 07-31 10:23:43.485 29517-30185 / com.examples .ffmpeg4andr oid_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 loaded 07-31 10:23:43.493 29517-30185 /com.examples.ffmpeg4android_demo I / Videokit:args is not NULL 07-31 10:23:43.494 29517-30185 / com.examples.ffmpeg4android_demo I / Videokit:more a one 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:通过装载机调用视频 Session 07-31 10:23:43.494 29517-30185 /com.examples.ffmpeg4an droid_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:license check 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,故障地址0x0 in tid 30185(AsyncTask#1)07-31 10:23:44.432 29517-29517 / com.examples.ffmpeg4android_demo I / Choreographer:跳过44帧!应用程序可能在其主线程上做了太多工作 .

1 回答

  • 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

相关问题