微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android 中的 ffmpeg 导致的低内存杀手

如何解决Android 中的 ffmpeg 导致的低内存杀手

我正在 Android 嵌入式卡中运行应用程序。该应用程序是用 C 实现的。它使用 system() API 运行一个 ffmpeg 进程,该进程通过 IP 传输流数据。当我启动应用程序时,大约 2 小时后,低内存杀手守护进程正在缓慢地杀死后台进程。一段时间后,它也会杀死应用程序。并且GUI屏幕完全挂了。
ffmpeg 命令:
ffmpeg -loglevel quiet -re -i "udp://192.168.47.1:8080?buffer_size=10000000&fifo_size=100000000&overrun_nonfatal=1" -map 0:p:1 -f mpegts udp://192.168.47.172:9090?pkt_size=1316

低内存杀手日志:

[ 7975.838158@2] lowmemorykiller: Killing 'droid.deskclock' (4779),adj 906,[ 7975.838158@2]    to free 18940kB on behalf of 'kswapd0' (1978) because
[ 7975.838158@2]    cache 109744kB is below limit 114688kB for oom_score_adj 529
[ 7975.838158@2]    Free memory is 9276kB above reserved. nonmove free (32936kB),(63700kB)
[ 7976.045769@2] lowmemorykiller: Killing 'd.process.media' (4902),[ 7976.045769@2]    to free 23028kB on behalf of 'kswapd0' (1978) because
[ 7976.045769@2]    cache 112320kB is below limit 114688kB for oom_score_adj 529
[ 7976.045769@2]    Free memory is 5440kB above reserved. nonmove free (31148kB),(66164kB)

查询

  • ffmpeg 是否会随着时间的推移消耗更多的 cpu 和内存,从而导致低内存杀手?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。