用QT播放视频

Playing video with QT

本文关键字:视频 播放 QT      更新时间:2023-10-16

我想创建一个应用程序,通过它我需要播放带有音频的视频文件(需要播放几乎所有类型的视频)。

我需要它用于Windows和Linux(至少用于Windows)。

我计划使用QT或任何其他包?怎么办?

我需要一个GUI作为http://www.youtube.com/watch?v=mA883X4uaHk (pl watch from .35s)

我的项目描述:1.需要在线程中播放视频2.在另一个线程中。同时,需要捕获网络摄像头视频并需要处理
网络摄像头框架与Opencv算法绘制图形。

计划复制youtube视频应用程序。我也必须使用线程。opencv支持QT

我做了什么?使用Java Media Framework进行播放,由于不支持所有格式而失败

在OpenCV中,你可以这样做:

Mat frame;
VideoCapture vid("your_filename"); // open video file
if(!vid.isOpened()) // check if we succeeded
    return -1;
vid >> frame; //extract a frame

之后你可以创建QImage并用帧数据初始化它,如:

QImage *img = new QImage(frame.data, frame.cols, frame.rows, QImage::Format_RGB888);

如果我没有错,我只是有一个问题,第一个帧是黑色的,所以我需要这样做:vid >> frame; Sleep(1); vid >> frame;以防它也发生在你身上

如果您使用Qt版本5,您可以使用QMediaPlayer和版本4,您可以使用声子模块(看看例子,如果我没记错的话,它们包含一个简单的视频播放器)。

好吧,如果你愿意使用Qt5那么多媒体模块有你需要的一切。您可以访问视频/相机的每一帧并对其进行处理。您可以使用相同的视频界面来播放视频和显示网络摄像头帧。在Qt5多媒体小部件示例目录中有一些简单的示例,您可以参考。