Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] и DirectShow, для win32 
:(
    Опции темы
Teran
  Дата 10.3.2009, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Здравствуйте.
Кто знает как подключить использование DirectShow в QT?

Прошу небольшой примерчик... smile 

Это сообщение отредактировал(а) Teran - 10.3.2009, 14:24


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
ecspertiza
Дата 10.3.2009, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



А тебе для чего? просто если я не ошибаюсь DirectShow это чисто виндовая тема а зачем на кроссплатформенной библиотеке юзать что то зависимое?


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
just_geek
Дата 10.3.2009, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



phonon, да directshow 9 бэкэнд. Еще нужен dx sdk & vc++
PM MAIL   Вверх
Teran
  Дата 10.3.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(ecspertiza @  10.3.2009,  14:32 Найти цитируемый пост)
А тебе для чего? просто если я не ошибаюсь DirectShow это чисто виндовая тема а зачем на кроссплатформенной библиотеке юзать что то зависимое?

Да мне нужно использовать граф DirectShow только для винды....


Цитата(just_geek @  10.3.2009,  14:34 Найти цитируемый пост)
phonon, да directshow 9 бэкэнд. Еще нужен dx sdk & vc++ 

Это все есть и под vc++ - использовать непроблема, но вот не сталькивался с самой реализацией подключения DirectShow в QT...
Как в QT можно подключить это?


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
just_geek
Дата 10.3.2009, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



А что конкретно от DirectShow требуется? Проигрывание аудио/видео? Используешь phonon входящий в комплект Qt и все. Все работу он берет на себя.
PM MAIL   Вверх
Teran
Дата 10.3.2009, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(just_geek @  10.3.2009,  15:09 Найти цитируемый пост)
А что конкретно от DirectShow требуется? Проигрывание аудио/видео? Используешь phonon входящий в комплект Qt и все. Все работу он берет на себя. 

От диретшов беру многое, написание фильтров, подключение фильтров для захвата с веб камер и т.д.... , но Проигрывание аудио/видео впринципе не требуется...


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
pan2004
Дата 10.3.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 357
Регистрация: 28.7.2007

Репутация: 6
Всего: 9



Цитата(just_geek @  10.3.2009,  14:34 Найти цитируемый пост)
Еще нужен dx sdk

DX Show входит в Platform SDK(not DirectX), и уже где то с 2004-2005 года.
И какие проблемы? Никто в принципе не запрещает использовать и Qt и DShow в своей программе, вещи не взаимоисключающие.


--------------------
Qt4/C++ fan
WinXP SP3: MSVC++2005 Qt4.5.1 Boost1.39
сыграем в дурака?
PM MAIL   Вверх
Teran
Дата 10.3.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(pan2004 @  10.3.2009,  17:19 Найти цитируемый пост)
И какие проблемы? Никто в принципе не запрещает использовать и Qt и DShow в своей программе, вещи не взаимоисключающие.

Прошу кусочек кода....  smile 



p.s. попытался добавить 
Код

#include <QtGui/QApplication>
#include <windows.h>
#include <dshow.h>

и откомпилить новый пустой проект, так сразу накидало кучу ошибок...
windows.h и dshow.h нашел в папке инклудов MinGW


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Helmet
Дата 10.3.2009, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 27.2.2009
Где: Someone's hea d

Репутация: нет
Всего: 1



Вообще не очень понимаю как QT может мешать работать DirectShow. Вот простейший пример (отлично скомпилировался студией).
Код

#include <QCoreApplication>
#include <iostream>
#include <windows.h>
#include <dshow.h>

#pragma comment(lib, "strmiids.lib")

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    
    IGraphBuilder * graphBuilder;
    IMediaControl * control;
    IMediaEvent * event;

    CoInitialize(0);
    CoCreateInstance(CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**)&graphBuilder);
    graphBuilder->QueryInterface(IID_IMediaControl, (void**)&control);
    graphBuilder->QueryInterface(IID_IMediaEvent, (void**)&event);
    
    graphBuilder->RenderFile(L"C:\\movie.avi", 0);
    control->Run();
    
    long code = 0;
    event->WaitForCompletion(INFINITE, &code);

    event->Release();
    control->Release();
    graphBuilder->Release();
    CoUninitialize();

    return a.exec();
}

Может дело в MinGW?
PM   Вверх
Teran
  Дата 11.3.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(Helmet @  10.3.2009,  19:55 Найти цитируемый пост)
Может дело в MinGW? 

Возможно MinGw необходимо както еще настроить на нормальную работу....???

Провел исследование относительно dshow.h из MinGw инклудов и WinSDK.
Интересно то что например интерфейс IBaseFilter в хидерах MinGw встречается (strmif.h) НО нигде не обьявляется... т.е. при компиляции прога ругается на то что незнает что это такое... 
Так как тогда компилить MinGW -шные инклуды, если они неполные????
Кто нибудь знает как настроить или где попрописывать пути для нормальной работы MinGW???

Использую QTCreator или QDevelop

Это сообщение отредактировал(а) Teran - 11.3.2009, 11:16


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
just_geek
Дата 11.3.2009, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



Попробовать обновить пакет winapi, если новее нету, то придется самому ковырять. Таким образом пришлось самому чинить кое-что и отсылать патч разработчикам, правда обновленная версия вышла спустя полгода :( . Либо воспользоваться vc++

Это сообщение отредактировал(а) just_geek - 11.3.2009, 11:24
PM MAIL   Вверх
Teran
Дата 11.3.2009, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(just_geek @  11.3.2009,  11:22 Найти цитируемый пост)
Либо воспользоваться vc++

Подскажите пожалуйста где нужно прописать пути в QT что бы при встрече 
Код

#include <QtGui/QApplication>
#include <windows.h>
#include <dshow.h>

windows.h и dshow.h брало не из C:\Qt\2009.01\mingw\include а например из с:\Program Files\Microsoft SDKs\Windows\v6.0\Include
?????

использую QTCreator


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
SABROG
Дата 11.3.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Не умеет пока Qt работать с DirectShow на компиляторе MinGW. Т.к. не компилит он хедеры мягкотелых.
Знаю, что пропатченные хедеры DirectShow взяли из Wine и запихнули в kdewin32. Почему тролли не поступят также не знаю. Но могу сказать, что обычное copy-paste c перезаписью этих хедеров в папку с MinGW результата не дало.

Это сообщение отредактировал(а) SABROG - 11.3.2009, 12:40


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
Teran
  Дата 11.3.2009, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(SABROG @  11.3.2009,  12:39 Найти цитируемый пост)
Не умеет пока Qt работать с DirectShow на компиляторе MinGW. Т.к. не компилит он хедеры мягкотелых.

...мда.... ужень жаль что так получается.....

Скажите пожалуйста как мне можно использовать VisualStudio 2005 чтобы компилить QT проекты.  что и где нужно добавить????
чтобы например пример Helmet заработал....
Код

#include <QCoreApplication>
#include <iostream>
#include <windows.h>
#include <dshow.h>
#pragma comment(lib, "strmiids.lib")
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    
    IGraphBuilder * graphBuilder;
    IMediaControl * control;
    IMediaEvent * event;
    CoInitialize(0);
    CoCreateInstance(CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**)&graphBuilder);
    graphBuilder->QueryInterface(IID_IMediaControl, (void**)&control);
    graphBuilder->QueryInterface(IID_IMediaEvent, (void**)&event);
    
    graphBuilder->RenderFile(L"C:\\movie.avi", 0);
    control->Run();
    
    long code = 0;
    event->WaitForCompletion(INFINITE, &code);
    event->Release();
    control->Release();
    graphBuilder->Release();
    CoUninitialize();
    return a.exec();
}


(Если нужно могу создать новую тему в этом разделе)

Для VisualStudio 2005 у меня стоит все.. и SDK и visual assist и sp1.
QT стоит qt-sdk-win-opensource-2009.01.exe

Это сообщение отредактировал(а) Teran - 11.3.2009, 13:28


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Helmet
Дата 11.3.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 27.2.2009
Где: Someone's hea d

Репутация: нет
Всего: 1



Visual Studio Add-In

Добавлено через 53 секунды
Немного кривоватая штука, но все же удобнее, чем через Makefile-project

Добавлено через 2 минуты и 23 секунды
Да и еще, не волнуйся, если он в процессе установки скажет что не обнаружена QT'шка. Там потом в настройках добавишь.
PM   Вверх
Teran
  Дата 11.3.2009, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(Helmet @  11.3.2009,  13:49 Найти цитируемый пост)

Visual Studio Add-In
Немного кривоватая штука, но все же удобнее, чем через Makefile-project
Да и еще, не волнуйся, если он в процессе установки скажет что не обнаружена QT'шка. Там потом в настройках добавишь. 


Скачал, установил (установка прошла беспроблем), но в свойствах QT - > QT Option во вкладке Qt Version стоит QT-4.3.0 path = D:\QT  хотя новое QT sdk устанавливал на C:\Qt\2009.01\qt
Заменил D:\QT на C:\Qt\2009.01\qt и попытался создать проект -  после компиля нового пустого проекта написало:
Код

Uic'ing d:\Programs\Test3\test3.ui...
Rcc'ing test3.qrc...
RCC: Warning: No resources in resource description.
Moc'ing test3.h...
Compiling...
qrc_test3.cpp
moc_test3.cpp
test3.cpp
main.cpp
Generating Code...
Linking...
LINK : fatal error LNK1181: cannot open input file 'qtmaind.lib'
Build log was saved at "file://d:\Programs\Test3\Debug\BuildLog.htm"
Test3 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

файл qtmaind.lib в папке C:\Qt\2009.01\qt\lib НЕТ.... хотя есть файл qtmain.prl
Я неправильно прописал путь?


Это сообщение отредактировал(а) Teran - 11.3.2009, 15:12


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
kamre
Дата 11.3.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 24.3.2006

Репутация: 2
Всего: 13



А саму Qt не забыл пересобрать компилятором от студии? 
PM MAIL   Вверх
Teran
  Дата 11.3.2009, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Цитата(kamre @  11.3.2009,  16:02 Найти цитируемый пост)
А саму Qt не забыл пересобрать компилятором от студии?  

забыл... так как непересобирал...

Подскажи как?


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Helmet
Дата 11.3.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 27.2.2009
Где: Someone's hea d

Репутация: нет
Всего: 1



Сборка QT под виндой из исходников

1. Берешь исходники QT для винды, распаковываешь во временную папку
2. Создаешь каталог где захочешь видеть собранную QT'шку (допустим c:\qt)
3. Копируешь туда каталог mkspec из сорцов
4. Запускаешь Visual Studio 2005 Command Prompt, делаешь set path=%path%;c:\qt\bin
5. Из той же командной строки делаешь c:\qt\configure -prefix c:\qt -platform win32-msvc2005 ..... (дальше на твое усмотрение)
6. Когда qmake скомпилировался и все сконфигурировалось выполняешь nmake
7. nmake install
PM   Вверх
GNUDimarik
Дата 12.4.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 26.12.2008

Репутация: нет
Всего: нет



[Qt 4.5] Привет! Если кому интересно я обсуждаю это на http://2developers.net/. Там про directshow с примерами
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0994 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.