有没有什么方法可以优化我的 FFmpeg 流式传输命令,这样它就不会对我的 Raspberry Pi 造成太大负担?

有没有什么方法可以优化我的 FFmpeg 流式传输命令,这样它就不会对我的 Raspberry Pi 造成太大负担?

我正在尝试从 Raspberry Pi 将视频流传输到远程 Web 服务器(用于猫头鹰鸟舍)。

因此,Raspberry Pi 已设置完毕,我的导出命令行是:

libcamera-vid -t 0 -o - | ffmpeg -i - -f mpegts -preset slow - codec:a libfdk_aac -codec:v libx264 -pix_fmt yuv420p udp://x.x.x.x:xxxx

在接收服务器上,以下是 ffmpeg 命令:

ffmpeg -i udp://x.x.x.x:xxxx -s 640x480   -c:v libx264 -strftime 1 -hls_segment_filename 'file-%Y%m%d_%H-%M-%S.ts'  -use_localtime 1 mystream.m3u8

问题是我的服务器的 CPU 占用率达到 100%,并且出现了缓冲。我尝试了多个 ffmpeg 参数,将分辨率降低到我认为的最低值,但缓冲和 CPU 占用率仍然很高。

有没有办法使用 ffmpeg 来最大限度地减少服务器端的工作?

我不需要音频,也不太在意质量,即使质量越高越好。

相关内容