首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过ffmpeg进行Android视频裁剪

通过ffmpeg进行Android视频裁剪
EN

Stack Overflow用户
提问于 2012-08-10 16:54:06
回答 4查看 5.6K关注 0票数 7

我已经从this link的github下载了视频裁剪代码。

它第一次运行得很完美,但当我第二次尝试运行它时,代码毫无异常地崩溃了,然后当我在崩溃后第三次尝试运行它时,它又运行起来了!有人对这种行为有任何想法吗?

我还在开发一个应用程序,其中有一个模块的裁剪视频。如果有人能帮助我,我将不胜感激。

EN

回答 4

Stack Overflow用户

发布于 2012-08-28 04:26:22

https://lists.ffmpeg.org/pipermail/libav-user/2012-May/001964.html

Calling native method twice of third party library in an Activity causes the Android application to close down

在'ffmpeg.c‘中阅读有关静态变量的问题...

我敢打赌,你也有同样的问题,需要做一些事情(3个替代选择)来重置或GC这些变量:

  1. 获取加载库的java类加载器,并在c层中GC it
  2. 执行上述链接中的操作
  3. 编写第二个共享库,在每个调用周期内在第一个库上使用'dlsym‘和'dlclose’

github,请参阅'README‘here

你也遇到了同样的问题

票数 4
EN

Stack Overflow用户

发布于 2013-09-18 20:56:52

只需在ffmpeg.c中创建一个方法,如下所示

代码语言:javascript
复制
void exitmycode(){
       ffmpeg_exit(0);

}

ffmpeg.c中已经有了ffmpeg_exit(0)方法,你只需在视频裁剪完成后从你的主C文件调用exitmycode();即可。

现在发生的事情是,当你用ffmpeg裁剪视频或其他东西时,它不会完全退出,所以下次你运行命令时,它会退出,但如果你第三次运行,它也不会运行你的trim command.Again,命令会完美地执行。所以,我所做的就是在处理结束时手动调用ffmpeg_exit(0)

票数 3
EN

Stack Overflow用户

发布于 2012-08-20 15:59:13

我认为您可以在代码中完成视频裁剪调用后完成活动并重新启动应用程序。

如果在第二次之后,应用程序操作崩溃,并且在第三次工作时,应用程序可能会初始化并在崩溃后重新启动应用程序。

尝试加载和卸载本地库link

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11898338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档