我有一个任务,要录制来自多个 IP 摄像头的延时视频(例如 camera1.mp4、camera2.mp4、camera#.mp4 等)。目前,我正在 MS Azure VM(C2D,7GB RAM)上同时运行单独的 ffmpeg.exe 实例。每个 ffmpeg.exe 负责将摄像头新拍摄的图像(每 1 分钟)与其现有的 .mp4 文件连接起来,从而创建最终的 camera#.mp4。
虽然我已经使用了一些技巧,例如限制 ffmpeg.exe 在 4 个可用 CPU 核心中仅使用 1 个,但它仍然几乎总是将 CPU 阻塞到 100%。
有什么想法可以改善这种情况,请建议一下?(可能是:有人通过使用单个 ffmpeg.exe 实例做过类似的事情,对每个摄像头进行排队连接任务?)
或者任何其他有帮助的想法/线索来解决该问题。
答案1
我假设你使用的是 Windows;为什么不使用“启动”命令优先级低于正常优先级,例如/LOW
。当可以使用时,它仍会使用 100% 的 CPU,但前提是没有其他程序需要它。