首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓: FFmpeg占用高内存/cpu导致崩溃

安卓: FFmpeg占用高内存/cpu导致崩溃
EN

Stack Overflow用户
提问于 2019-01-29 10:51:43
回答 1查看 334关注 0票数 0

我为android编译了ffmpeg,启用了mediacodec和jni。它的工作,但当我合并高清视频60fps,它崩溃的应用程序。这是我使用的ffmpeg cmd。

代码语言:javascript
运行
复制
[-y, -benchmark, -ss, 0.0, -t, 11.541, -i, VID_HD.mp4, -filter_complex, [0:v]setpts=PTS-STARTPTS,scale=1080.0:1920.0:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:color=#000000, -c:v, libx264, -c:a, aac, -ac, 2, -ar, 44100, -preset, ultrafast, -strict, -2, VID_HD.ts]

有时我得到这些错误为同一命令,但当我重新运行,它的工作,有时这些,如果我重新运行3-4次其重启应用程序。也许是因为内存没有清理。帮帮我。

代码语言:javascript
运行
复制
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

VideoKit:Error: Failed to inject frame into filter network: Out of memory

VideoKit:Error: Error while processing the decoded data for stream #0:0

我需要帮助清理FFmpeg也当执行完成,我调用我的运行(FFmpeg cmds)方法为下一个视频编码它重新启动应用程序,我怀疑因为内存使用。

EN

回答 1

Stack Overflow用户

发布于 2019-01-29 12:29:26

在检查我的代码后,我发现我在运行方法ffmpeg_main_entry()的末尾并没有调用exit_program(),而这个方法是通过引用program_exit来注册ffmpeg_clenup()的。在编写了这一行代码exit_program()之后,它就可以工作了,但仍然在测试。

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

https://stackoverflow.com/questions/54413174

复制
相关文章

相似问题

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