我在运行ffmpeg并尝试捕获我的屏幕时遇到了一个奇怪的问题。
当我使用它运行时:
ffmpeg -video_size 512x383 -framerate 60 -f x11grab -i :0.0+512,203 -c:v libx264 -crf 0 -preset ultrafast -t 20 /tmp/lossless.mkv
我可以毫无问题地捕获60fps。
但是,当我尝试捕获音频时。帧率降至30fps以下:
ffmpeg -video_size 512x383 -framerate 60 -f x11grab -i :0.0+512,203 -f pulse -ac 2 -i default -c:v libx264 -crf 0 -preset ultrafast -b:a 64k -t 20 /tmp/lossless_with_audio.mkv
请参见此处获取命令输出:https://pastebin.com/BMq38raq
我会尝试:
ffmpeg -framerate 60 -f x11grab -thread_queue_size 1024 -i :0.0 -f pulse -ac 2 -i default -c:v libx264 -acodec libmp3lame -crf 0 -preset ultrafast -b:a 64k -t 20 /tmp/lossless_with_audio.mkv
此外,就帧速率而言,我们在这里谈论的是运动,例如游戏图形吗?如果没有,我将帧率降低到25-30。请注意,由于缺少CPU资源,FPS也可能会下降,因此您应该检查利用率。
您可能还想查看https://trac.ffmpeg.org/wiki/EncodingForStreamingSites干杯,