我最近使用下面的FFmpeg bash命令捕获屏幕录像。
我可以进行一些改进以简化此过程吗?
或者也许有一些设置可以减小输出文件的大小?
理想情况下,我想直接捕获到mp4。这可能吗?
任何有关FFmpeg屏幕录制的建议都会受到欢迎。
ffmpeg -f x11grab -y -r 30 -s 1920x1080 -i :0.0 -vcodec huffyuv out.avi
# Then convert it to .mp4
ffmpeg -y -i out.avi -s 1920x1080 -f mp4 -vcodec libx264 -preset slow -crf 18 -b:v 3000k -maxrate 4000k -bufsize 512k -c:a aac -b:a 128k -strict -2 out.mp4
# and remove the .avi
rm out.avi
答案 0 :(得分:2)
通常,对于FFmpeg,输入格式和输出格式并不相互绑定,因此只要输出格式可接受编解码器,就可以保存任何格式。
所以,这会做到的
ffmpeg -f x11grab -y -framerate 30 -s 1920x1080 -i :0.0 -c:v libx264 -preset superfast -crf 18 out.mp4
您可能需要在-pix_fmt yuv420p
之后添加-i :0.0
,以实现播放器兼容性。