Я хочу создать приложение, с помощью которого мне нужно проигрывать видеофайл со звуком (нужно проигрывать практически все виды видео).
Мне это нужно для Windows и Linux (по крайней мере для Windows).
Я планирую использовать QT или любой другой пакет? Как сделать?
Мне нужен графический интерфейс
http://www.youtube.com/watch?v=mA883X4uaHk (пожалуйста, смотрите от .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 есть простые примеры, на которые вы можете ссылаться.