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 (将#修改为@)