Qt与FFmpeg联合开发指南(三)——编码(1):代码流程演示

前两讲演示了基本的解码流程和简单功能封装,今天我们开始学习编码。编码就是封装音视频流的过程,在整个编码教程中,我会首先在一个函数中演示完成的编码流程,再解释其中存在的问题。下一讲我们会将编码功能进行封装并解释针对不同的输出环境代码上需要注意的地方。最后我们还会把之前做好的解码器添加进开发环境,实现PC屏幕和摄像头录制然后再通过播放器播放。

首先说明一下本章的目标:

通过Qt进行视频采集

通过Qt进行音频采集

对音视频编码成mp4文件并能够通过vlc播放

一、通过Qt进行视频采集

Qt提供了对桌面录屏的支持,我们可以很轻松的完成开发

// 首先获取到完整桌面的窗口句柄已经宽高信息 WId wid = QApplication::desktop()->winId(); int width = QApplication::desktop()->width(); int height = QApplication::desktop()->height(); // 截屏获得图片 static QScreen *screen = NULL; if (!screen) { screen = QGuiApplication::primaryScreen(); } QPixmap pix = screen->grabWindow(wid); const uchar *rgb = pix.toImage().bits();

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzzfx.html