QT实现HDMI视频预览

因为项目需要,从某宝采购了一个pipivision HDMI采集卡,该采集卡为USB3.0接口,支持HDMI输入和环出,还有混音功能,以下是示例源码下载链接。

github源码下载

网盘分享提取码n6sh

查看QT示例源码,在文件DevManager.h中包装了设备的很多操作,使用起来非常方便,我们只需要把源文件DevManager.cpp添加到工程并包含该头文件即可,内部的层次结构如下图所示

要操作对应的设备,我们先在自定义的类里面声明一个对象:
CDevSDK dev;

然后在自定义类的构造函数初始化列表中初始化对象时打开第0个采集卡:
dev(0)

如果设备打开成功我们就启动该设备
if (dev) dev.DeviceStart();

开启视频预览,在窗口showEvent事件处理函数中添加代码,把显示视频控件的句柄传进去即可
dev.PreviewStart(reinterpret_cast< HWND >(ui->video->winId()));

编译运行,哈哈,视频是不是就出来了?
短短几句代码就实现了采集视频预览,而且支持在Windows/Linux上跨平台使用,可以说确实是惨无人道,不过我喜欢,嘿嘿

部分代码如下

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
    , ui(new Ui::Dialog)
    , dev(0) // open device 0
{
    ui->setupUi(this);

    if (dev)
    {
        dev.DeviceStart();
    }
}

void Dialog::showEvent(QShowEvent *event)
{
    if (dev)
    {
        dev.PreviewStart(reinterpret_cast< HWND >(ui->video->winId()));
    }
}

Dialog::~Dialog()
{
    dev.DeviceClose();
    delete ui;
}

QT叠加HDMI采集视频OSD

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要使用QT实现音视频文件的预览,可以使用QtMultimedia模块。以下是一个简单的示例: 首先需要在.pro文件中添加以下行: ``` QT += multimedia ``` 然后在代码中,需要创建一个QMediaPlayer对象和一个QVideoWidget对象,将它们连接起来并设置为主窗口的中心部件。这样,当用户选择一个音视频文件时,就可以将其加载到QMediaPlayer中并在QVideoWidget中预览。 ```cpp #include <QApplication> #include <QMediaPlayer> #include <QVideoWidget> #include <QFileDialog> #include <QHBoxLayout> #include <QMainWindow> int main(int argc, char *argv[]) { QApplication a(argc, argv); QMainWindow mainWindow; QVideoWidget *videoWidget = new QVideoWidget(&mainWindow); QMediaPlayer *player = new QMediaPlayer(&mainWindow); // 将QMediaPlayer的输出连接到QVideoWidget player->setVideoOutput(videoWidget); // 将QVideoWidget设置为主窗口的中心部件 QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(videoWidget); mainWindow.setCentralWidget(videoWidget); // 打开文件选择对话框,让用户选择一个音视频文件 QString fileName = QFileDialog::getOpenFileName(&mainWindow, "Open Video"); // 加载所选文件到QMediaPlayer中 player->setMedia(QUrl::fromLocalFile(fileName)); // 开始播放 player->play(); mainWindow.show(); return a.exec(); } ``` 这个例子只是一个基本的框架,您可以根据需要添加更多功能,例如控制播放器的播放、暂停、停止等操作,以及显示音频波形等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值