我尝试通过ffmpeg将音频和一组jpeg流式传输到youtube。 YouTube对帧速率和比特流大小有要求。
我的ffmpeg命令是:
ffmpeg -ar 44100 -f alsa -thread_queue_size 512 -ac 1 -i hw:1,0 -f concat -r 20 -i list.txt -vf "scale=iw*min(1920/iw\,1080/ih):ih*min(1920/iw\,1080/ih), pad=1920:1080:(1920-iw*min(1920/iw\,1080/ih))/2:(1080-ih*min(1920/iw\,1080/ih))/2,fps=30,format=yuv420p" -crf 20 -f flv "rtmp://a.rtmp.youtube.com/{}/{}"
hw:1,0
是我的音频界面,list.txt是1920x1080像素的jpeg图像列表。
因此,基本上,我告诉ffmpeg每秒读取20帧并以每秒30帧的速度进行流传输,但是youtube每秒仅接收0到3帧。执行此任务时,我的CPU使用率约为43%。
我做错了什么?