ffmpeg指定屏幕区域录屏
ffmpeg -hide_banner -loglevel error -f gdigrab -show_region 1 -framerate 6 -video_size 1914x930 -offset_x 1921 -offset_y 105 -i desktop -pix_fmt yuv420p out6.mp4
-loglevel error :只显示错误日志
-video_size 1914x930 -offset_x 1921 -offset_y 105: 指定录屏的宽高和起始位置
注意 -video_size 1914x930 屏幕的宽高必须是偶数 否则会报错: height not divisible by 2 (1914x931) 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
-i desktop: 录制屏幕
-pix_fmt yuv420p:指定使用 YUV 4:2:0 输出 颜色编码
当使用典型的 H.264 编码器保存到 MP4 时,ffmpeg 将转换为 YUV 颜色编码,但会选择最高保真度的像素格式,对于 RGB 源,它是 YUV 4:4:4。这种格式与大多数播放器不兼容。解决方法是手动强制 YUV 4:2:0 输出。在输出文件名之前添加 -pix_fmt yuv420p。
最后,这里的示例是Windows系统,注意系统区别
#if defined(Q_OS_WIN) ifmt = av_find_input_format("gdigrab"); #elif defined(Q_OS_LINUX) ifmt = av_find_input_format("x11grab"); #elif defined(Q_OS_MAC) ifmt = av_find_input_format("avfoundation"); #endif
#if defined(Q_OS_WIN) url = "desktop"; #elif defined(Q_OS_LINUX) url = ":0.0+0,0"; #elif defined(Q_OS_MAC) url = "0:0"; #endif
ffmpeg视频倍速处理
ffmpeg -hide_banner -loglevel error -f gdigrab -show_region 1 -framerate 6 -video_size 1628x900 -offset_x 4 -offset_y 108 -i desktop -pix_fmt yuv420p E:/ffmpeg/hys.mp4 ffmpeg -i E:/ffmpeg/hys.mp4 -filter:v "setpts=0.5*PTS" E:/ffmpeg/hys_pts_0.5.mp4
-filter:v:表示使用滤镜
“****”:具体滤镜的参数,本处为调整pts实现。如setpts=0.5*PTS表示倍速播放,setpts=2*PTS表示半速播放
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术