我正在使用FFMpeg进行屏幕捕获。我正在寻找一种可以在 1000 个虚拟机(Windows 和 Mac)上运行的屏幕捕获工具。虚拟机具有有限的 CPU(1 核)和 2GB 内存,并且没有 GPU。
目前我调用 ffmpeg 与
ffmpeg -y -framerate 8 -f dshow -f gdigrab -i "desktop" -c:v libx264 -crf 0 -preset ultrafast -threads 0 temp.mkv
我正在使用 gdigrab 来捕获屏幕?有没有更好的选择可以减少 CPU 使用率?或更改编码器或格式?
我的目标是将 CPU 使用率降低 4-5%。
提前致谢
使用 -profile baseline
并使-tune zerolatency
能够转动一些额外的功能应该会有所帮助。否则,您将需要使用与 h.264 不同的编解码器。
您的消息来源的分辨率是多少?如果它很大(如 1080p 或 720p),您是否考虑过先缩小到 480p/404p ?
否则,最好只更改编解码器。我建议你先尝试"-c:v mpeg4"。如果它仍然太慢,请选择"-c:v mpeg2video"。