我需要(重新)转码〜50个实时流。这些流在H264中具有720p至1080p的分辨率,并且比特率高达10M。我只想将流的质量和比特率降低到最高720p。 2M比特率。
这就是我现在正在做的事情:
ffmpeg -re -i "http://domain.tld/path/file.ext" -vcodec libx264 -preset veryfast -vf scale=-2:720 -b:v 2M -maxrate 2M -bufsize 1M -acodec libfdk_aac -f flv "rtmp://127.0.0.1:1935/live/stream_xyz"
我的服务器CPU(2 x Xeon E5-2630 v3)已经达到100%,只有12个流。我将在下个月将服务器升级到2 x Xeon Gold 5118,但我认为这不会给我带来更多的功能。
有人可以帮助我,以提高效率吗?
使用GPU这样做会更高效/更便宜吗?
或其他任何想法,以尽可能高效和廉价地做到这一点?
谢谢
答案 0 :(得分:1)
有人可以帮助我,以提高效率吗?
不。视频编码占用大量CPU。期。如果有一种“更有效”的方法,它将已经是默认设置。
您可以使用硬件加速(nvenc,quicksync等)来“便宜”,但是不会获得12个流,并且质量会更差。或使用较慢的x264预设(超快)并以这种方式牺牲质量来提高速度。
只有另一种选择是使用基于云的服务将资本支出换成运营支出。