qt ffmpeg 录屏
时间: 2023-08-26 12:04:43 浏览: 205
使用Qt和FFmpeg开发一个简易录屏软件是可行的。你可以通过调用FFmpeg的命令行来进行屏幕录制。具体的命令行如下所示:
```
ffmpeg -f gdigrab -i desktop -framerate 60 -offset_x 0 -offset_y 0 -video_size 1600x900 -pix_fmt yuv420p -vcodec libx264 -crf 18 D:/out1.mp4
```
其中,`-f gdigrab` 表示使用gdigrab来抓取屏幕,`-i desktop` 表示抓取整个桌面, `-framerate 60` 表示设置帧率为60,`-offset_x 0` 和 `-offset_y 0` 表示设置抓取的起始位置为(0, 0),`-video_size 1600x900` 表示设置录制视频的分辨率为1600x900, `-pix_fmt yuv420p` 表示设置像素格式为yuv420p,`-vcodec libx264` 表示使用libx264作为视频编码器,`-crf 18` 表示设置视频质量为18,`D:/out1.mp4`表示保存的视频文件路径和文件名。
在开发过程中,你也可以使用FFmpeg的API来实现录屏功能。你可以参考一个简易录屏软件的Demo,通过使用FFmpeg的软解码功能实现录制视频图像,不过需要注意的是该Demo只录制视频图像,没有引入音频等信息。
最后,为了方便学习,你也可以使用FFmpeg自带的sws_scale()函数进行图像格式转换,不过也可以考虑使用性能更强的libyuv库。
<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Qt调用ffmpeg录制屏幕](https://blog.csdn.net/yao_hou/article/details/125294832)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [Qt-FFmpeg开发-实现录屏功能(10)](https://blog.csdn.net/qq_43627907/article/details/129152776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文