ffmpeg 简单录制视频

ffmpeg -f gdigrab -framerate 30 -i desktop D:\desktop\f\a.mp4

先开始准备录制 视频, 这个会一直录制 按q结束录制。设置录制帧率为 30 帧每秒

ffmpeg -f gdigrab -framerate 30 -t 60 -i desktop D:\desktop\f\a.mp4

这个是指定录制时间为60s,但是录制后win11打不开这个,提示不支持编码格式

在录制屏幕时指定编码为 YUV420P,使用 FFmpeg 的 -pix_fmt 参数。

发现报错

[libx264 @ 0279d3e0] width not divisible by 2 (2559x1600)

Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Conversion failed!

发现错误是因为 x264 编码器要求输入视频的宽和高都必须是偶数。在你的情况下,视频的宽度为 2559,不是偶数。为了解决这个问题,通过调整视频的宽度和高度使其成为偶数,或者使用 FFmpeg 的裁剪功能来确保宽度和高度都是偶数

ffmpeg -f gdigrab -framerate 30 -i desktop -vf "crop=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -pix_fmt yuv420p D:\desktop\f\d.mp4

在这个命令中,-vf "crop=trunc(iw/2)*2:trunc(ih/2)*2" 表示使用裁剪滤镜将视频裁剪为偶数宽度和高度。然后,-c:v libx264 -pix_fmt yuv420p 用于指定视频编码器为 libx264,并且指定像素格式为 YUV420P。

最终录制成功 可以播放

#录屏#
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务