我想创建一个应用程序,通过它我需要播放带有音频的视频文件(需要播放几乎所有类型的视频)。
我需要它用于Windows和Linux(至少用于Windows)。
我打算使用QT或任何其他套餐?怎么办?
我需要一个GUI作为 http://www.youtube.com/watch?v=mA883X4uaHk(请注意.35s)
我的项目描述: 1.需要在一个帖子中播放视频 2.在另一个线程中。平行而言,需要捕获网络摄像头视频并需要处理 带有Opencv算法的网络摄像头帧,用于绘制图形。
计划复制YouTube视频应用程序。我也必须使用线程。 opencv支持QT。
我做了什么: 使用Java Media Framework进行播放失败,因为它不支持所有格式。
答案 0 :(得分:2)
在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;
以防万一它也发生在你身上。
答案 1 :(得分:1)
如果使用Qt版本5,则可以使用QMediaPlayer,使用版本4,可以使用phonon模块(查看示例,如果我没记错的话,它们包含一个简单的视频播放器)。
答案 2 :(得分:1)
好吧,如果您愿意使用Qt5,那么多媒体模块可以满足您的一切需求。您可以访问视频/摄像机的每个帧并进行处理。您可以使用相同的视频表面来播放视频和显示网络摄像头帧。 Qt5多媒体小部件示例目录中有简单示例,您可以参考。