ffmpeg rtmp流占用100%CPU
我正在创建一个小脚本来在rtmp服务器上传输图像,但是FFMPEG命令占用了100%的CPU。请看一下我的密码ffmpeg rtmp流占用100%CPU,ffmpeg,Ffmpeg,我正在创建一个小脚本来在rtmp服务器上传输图像,但是FFMPEG命令占用了100%的CPU。请看一下我的密码 ffmpeg -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -loop 1 -i "Digital-Wallet-.jpg" -t 00:30:00 -r 1 -c:v libx264 -c:a aac -preset:v ultrafast -pix_fmt yuv420p -f flv "rtmp://
ffmpeg -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -loop 1 -i "Digital-Wallet-.jpg" -t 00:30:00 -r 1 -c:v libx264 -c:a aac -preset:v ultrafast -pix_fmt yuv420p -f flv "rtmp://rtmpserver"
编码是CPU密集型的。删除
-r1
并添加-framerate1
、-re
和-shortest
ffmpeg -f lavfi -i anullsrc -loop 1 -framerate 1 -re -i "Digital-Wallet-.jpg" -t 00:30:00 -c:v libx264 -c:a aac -preset:v ultrafast -pix_fmt yuv420p -shortest -f flv "rtmp://rtmpserver"
- 默认图像解复用器帧速率为25,因此您的命令不必要地将每秒25帧转换为每秒1帧,这是低效的。上述更改修复了这一问题
会将输入的读取速度降低到输入的本机帧速率。它对于实时输出和实时流媒体非常有用。否则,-re
将尝试尽可能快地编码ffmpeg
- 我添加了
以在最短流结束时结束输出(图像),因为anullsrc被设置为无限期编码-shortest
-r1
并添加-framerate1
、-re
和-shortest
ffmpeg -f lavfi -i anullsrc -loop 1 -framerate 1 -re -i "Digital-Wallet-.jpg" -t 00:30:00 -c:v libx264 -c:a aac -preset:v ultrafast -pix_fmt yuv420p -shortest -f flv "rtmp://rtmpserver"
- 默认图像解复用器帧速率为25,因此您的命令不必要地将每秒25帧转换为每秒1帧,这是低效的。上述更改修复了这一问题
会将输入的读取速度降低到输入的本机帧速率。它对于实时输出和实时流媒体非常有用。否则,-re
将尝试尽可能快地编码ffmpeg
- 我添加了
以在最短流结束时结束输出(图像),因为anullsrc被设置为无限期编码-shortest