我有一个将大量视频组合在一起的节点应用程序,它在 Mac/Win10 上运行。我试图将它托管在 Digital Ocean 上,除了最终的视频构建之外,该应用程序运行正常。视频大约有 20000 帧,在 7000 帧左右,Linux 版本会随机停止并调用
等...4211.4kbits/s dup=1 drframe=7086 fps=3.4 q=31.0 大小=60672kB 时间=00:01:58.04 比特率=4210.6kbits/s dup=1 drframe=7088 fps=3.4 q=31.0 大小=60672kB 时间=00:01:58.08 比特率=4208.9kbits/s dup=1 drKilledpeed=0.0569x
然后结束...
我正在运行的命令是这样的:
ffmpeg -i 1.mp4 -i 3.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1" output.mp4
这是否与我的 linux Droplet 的计算机能力太弱或 ffmpeg 中的其他问题有关?
答案1
Killed
表示进程收到了 SIGKILL 信号。它并没有崩溃(通常会显示与 SIGSEGV 或 SIGABRT 相关的消息)——它被终止了。
如果你不是使用 Linux 的人kill -9
,也没有安装任何不寻常的软件(例如“CPU 限制器”),那么 Linux 剩下的唯一原因是本身向进程发送 SIGKILL 的原因在于系统的 RAM 不足,而内核所谓的“内存溢出终止程序“被调用——这将终止占用最多 RAM 的进程。
运行dmesg
并搜索与 oom 相关的消息。如果找到任何消息,则说明您的虚拟机确实处理时 RAM 不足。