Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как программировать для TV-тюнера? 
:(
    Опции темы
Dims
Дата 6.10.2009, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Не знаю, куда поместить тему smile
И не знаю толком, как спросить...

В общем, нужно написать программу, которая "слушает" и "смотрит" телеканал через TV-тюнер, анализирует получаемую информацию, и когда она удовлетворяет определённым условиям, выполняет заданное действие.

Ну, например, записывает фильм, а рекламу пропускает (это просто пример, интересует не конкретно эта задача, а сам принцип).

Как это дело написать? Нужно обращаться к оборудованию или это уже стандартизовано драйверами?
PM MAIL   Вверх
niXman
Дата 6.10.2009, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Dims @  6.10.2009,  17:59 Найти цитируемый пост)
Как это дело написать? Нужно обращаться к оборудованию или это уже стандартизовано драйверами? 

Если есть драйвера, зачем писать что-то?
Если нет, то нужны даташиты на чипы, и обращаться к железу.
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
SVN74
Дата 6.10.2009, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



VFW - самый простой способ...
PM MAIL WWW   Вверх
Dims
Дата 8.10.2009, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вроде здесь написано http://en.wikipedia.org/wiki/Video_for_Windows
что VfW заменено Active Movie и WDM
?
PM MAIL   Вверх
xvr
Дата 9.10.2009, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



PM MAIL   Вверх
Dims
Дата 9.10.2009, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(niXman @  6.10.2009,  20:19 Найти цитируемый пост)
Если есть драйвера, зачем писать что-то?

А что даёт драйвер? Пардон, понимаю, что тупой вопрос, просто не занимался этим никогда. Ну вот есть драйвер. Что я с ним могу сделать? Заказать от него получение видео или аудио потока в каком-либо формате?

А если, допустим, я хочу каналы переключать или настройку на частоту производить? Это тоже в драйвере такие функции должны быть? Как мне узнать об этом? На драйвер, наверное, тоже должны быть спецификации какие-то? 

Или тут всё стандартизировано?

Добавлено через 3 минуты и 8 секунд
Или вот, допустим, мне надо прочесть телетекст, который передаётся во время VBLANK. Если я могу у драйвера запросить видеопоток, то телетекста же не будет там содержаться, так как он не входит в отображаемую информацию. 

Значит, либо драйвер, либо оборудование должны содержать такую функцию. Но стандартов телетекста куча, они же не могут знать их все!
PM MAIL   Вверх
zim22
Дата 9.10.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


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

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





--------------------
PM MAIL   Вверх
Dims
Дата 9.10.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Круто, оказывается, в DirectShow всё есть: http://msdn.microsoft.com/en-us/library/dd...28VS.85%29.aspx

Похоже, это очень навороченная фиговина!

Только непонятно, почему написано, что из Vista оно убрано? Надо переходить на что-то другое или просто устарело?
PM MAIL   Вверх
SVN74
Дата 10.10.2009, 19:36 (ссылка)   | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Dims @  9.10.2009,  12:57 Найти цитируемый пост)
Похоже, это очень навороченная фиговина!

Только непонятно, почему написано, что из Vista оно убрано? Надо переходить на что-то другое или просто устарело? 

По DirectShow очень мало написано по русски (мало подробной информации). 
А вот на VFW все делается очень просто и в Vist(е) работает отлично, ну конечно с помощью VFW особых доступов к драйверам не получить, но для простого использования тюнеров и вебкамер лучшего варианта нет... 
PM MAIL WWW   Вверх
xvr
Дата 11.10.2009, 10:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(SVN74 @ 10.10.2009,  19:36)
По DirectShow очень мало написано по русски (мало подробной информации). 

Зато по английски написано дофига и более - читайте MSDN. И вообще - первоисточник всегда лучше, чем неизвестно кем переведенное нечто  smile 
Цитата

А вот на VFW все делается очень просто и в Vist(е) работает отлично, 

Да да да, смотрим MSDN:
Цитата

Microsoft® Video for Windows® (VFW) provides functions that enable an application to process video data. VFW was introduced in 16-bit Windows. Many of its features have been superseded by features in DirectX. For more information, see the DirectX documentation.
 Устарело еще до появления Windows 2000.
(Прямая ссылка из оглавления MSDN к VFW так же отсутствует, так что делайте выводы)

PM MAIL   Вверх
Dims
Дата 11.10.2009, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



В общем, DirectShow мне очень нравится (пока). 

Моя программа должна создать сеть (граф) из "фильтров", соединить им входы и выходы и запустить. Микрофон, ТВ-тюнер и прочие устройства так же являются фильтрами -- начальными и конечными. Когда сеть создана, её достаточно просто запустить -- и фильтры начинают прокачивать через себя потоковые данные.

Есть куча готовых фильтров (я, правда, пока не понял, где они лежат и не может ли оказаться, что на целевой машине кто-то из них будет отсутствовать).

Программа для проигрывания видеофайла или интернет-потока занимает, фактически, три строчки.

Так же пока непонятно, смогу ли я сам в своей программе анализировать данные? Ведь мир фильтров -- это свой отдельный мир, которым моя программа управляет лишь со стороны. Есть механизм сообщений, которые фильтры посылают программе, а, возможно, способа дать ей сами данные нет (пока не знаю). 

В этом случае придётся, как я понимаю, писать свой фильтр, который будет анализировать данные и посылать программе результаты анализа в виде сообщений.

Добавлено через 3 минуты и 23 секунды
Цитата(SVN74 @  10.10.2009,  19:36 Найти цитируемый пост)
По DirectShow очень мало написано по русски (мало подробной информации). 

Тут, к счастью, мне повезло -- английский мне вдолбили. С техническим, по крайней мере, проблем нет...

PM MAIL   Вверх
xvr
Дата 11.10.2009, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Dims @ 11.10.2009,  12:20)
В общем, DirectShow мне очень нравится (пока). 

Моя программа должна создать сеть (граф) из "фильтров", соединить им входы и выходы и запустить. 

Угу. В DS есть утилита GraphEdit (раньше была в составе DS в DX, где она растет теперь - не знаю). С ее помощью можно визуально строить графы, исследовать их и запускать. Весьма полезная утилита
Цитата

Есть куча готовых фильтров (я, правда, пока не понял, где они лежат и не может ли оказаться, что на целевой машине кто-то из них будет отсутствовать).
Лежат в системе, и вполне могут отсутствовать на целевой машине, если это не один из стандартных фильтров. Собственно DS фильтр это обычный COM сервер, и распространяются они и регистрируются как COM сервера (копируются в системную папаку и запускаются на них regsrv32)

Цитата

Так же пока непонятно, смогу ли я сам в своей программе анализировать данные? Ведь мир фильтров -- это свой отдельный мир, которым моя программа управляет лишь со стороны. 
Угу
Цитата

Есть механизм сообщений, которые фильтры посылают программе, 
Угу, это способ контроля и синхронизации
Цитата

а, возможно, способа дать ей сами данные нет (пока не знаю). 
Только написав свой фильтр и вставив его в граф. В принципе есть фильтры для сброса потока в файл, может этого будет достаточно

Цитата

В этом случае придётся, как я понимаю, писать свой фильтр, который будет анализировать данные и 
Угу
Цитата

посылать программе результаты анализа в виде сообщений.
А вот это не обязательно - программа вполне сама может быть этим фильтром.

PM MAIL   Вверх
Dims
Дата 11.10.2009, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(xvr @  11.10.2009,  20:15 Найти цитируемый пост)
Угу. В DS есть утилита GraphEdit (раньше была в составе DS в DX, где она растет теперь - не знаю). С ее помощью можно визуально строить графы, исследовать их и запускать. Весьма полезная утилита

Видел её! Но почему-то я не нашёл у неё важнейшей, на мой взгляд, функции -- нажал кнопочку и получил Си++ код, который всё это создаёт. smile

Цитата(xvr @  11.10.2009,  20:15 Найти цитируемый пост)
программа вполне сама может быть этим фильтром.

А разве не будет проблемы с быстродействием? Вдруг фильтр затеет что-то длительное? Разве другим не придётся его ждать?

PM MAIL   Вверх
xvr
Дата 12.10.2009, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Dims @ 11.10.2009,  21:49)
Цитата(xvr @  11.10.2009,  20:15 Найти цитируемый пост)
Угу. В DS есть утилита GraphEdit (раньше была в составе DS в DX, где она растет теперь - не знаю). С ее помощью можно визуально строить графы, исследовать их и запускать. Весьма полезная утилита

Видел её! Но почему-то я не нашёл у неё важнейшей, на мой взгляд, функции -- нажал кнопочку и получил Си++ код, который всё это создаёт. smile

По большей части такая кнопка не нужна - достаточно метода RenderFile из IGraphBuilder (кажется так). Для желающих строить графы руками она умеет сбрасывать графы в виде файла, который потом можно загрузить (см тут)
Цитата

Цитата(xvr @  11.10.2009,  20:15 Найти цитируемый пост)
программа вполне сама может быть этим фильтром.

А разве не будет проблемы с быстродействием? 
Это уже проблема фильтра
Цитата

Вдруг фильтр затеет что-то длительное? Разве другим не придётся его ждать?
Если фильтр сделан грамотно - то не придется (ключевое слово - MultiThreading)

PM MAIL   Вверх
Dims
Дата 13.10.2009, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Что-то не выходит! Похоже, с ТВ тюнером надо сделать что-то ещё, чтобы он заработал...

http://forum.vingrad.ru/forum/topic-276389.html
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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