Работа с WEBкой

Тема в разделе "WASM.HEAP", создана пользователем punxer, 29 ноя 2011.

  1. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Через что лучше:проще/удобнее/более гибко работать с сабжем.
    Нужно брать картинку показывать ее в реалтайме с наложением некой информации
    (как лучше реализовать наложение динамичекой инфы?)
    И опционально сохранять на диск.
    В какой формат сохранять, безопаснее. Я о том, что при падении или ребуте, что бы потом с легкостью просмотретть, то что уже сохранилось.

    DirectX+overlay+avi?

    Если критичен размер видео будет чем и во что кодировать?

    Накидайте ссылок про DX Overlay
     
  2. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    спасибо
     
  3. SilverStorm

    SilverStorm Member

    Публикаций:
    0
    Регистрация:
    7 дек 2010
    Сообщения:
    109
    Всегда пожалуйста! Обращайся, если что! :lol:
     
  4. Dmitry_Milk

    Dmitry_Milk Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    535
    punxer, вы б хоть более нормально формулировали проблему. Я только раза с пятого понял, что речь идет о WEB-камере. Сначала мозг упорно по словам WEB и "картинка" воспринимал JPEG или GIF, получаемые по HTTP из инета.

    Стандартный путь для такой проблемы - построить граф DirectShow с фильтром наложения изображения поверх кадра:

    Код (Text):
    1. VideoCapture->VideoDecoder->ФИльтрНаложения->VideoEncoder->AVIMux->FileWriter
    2.                                    ^             |
    3.                                    |             +-------->VideoREnderer
    4.      накладываемое изображение ----+
    Для начала можно побаловться с утилиткой graphedit, которая позволяет в сыром виде работать с графами DirectShow. Чтоб обезопаситься от выключения питания - писать в новый файл каждые несколько минут. Склеить видео задним числом всегда можно.

    А может быть вообще ничего делать не нужно, и возможно вполне найдутся подходящие фильтры наложения в VirtualDub в режиме захвата (все остальное в нем есть, в том числе и покусочная запись в отдельные нумеруемые файлы).
     
  5. Dmitry_Milk

    Dmitry_Milk Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    535
    Наврал в посте выше. Видеодекодер не нужен, ведь видео из сырого источника, не из файла
     
  6. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    mpeg вроде. Зная разрешение, можно смотреть с любого места(ну точнее с ключевого кадра).
     
  7. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Алилуйа. Спасиба ребяты)

    Dmitry_Milk
    Код (Text):
    1. Стандартный путь для такой проблемы - построить граф DirectShow с фильтром наложения изображения поверх кадра:
    2.  
    3. Код:
    4.  
    5. VideoCapture->VideoDecoder->ФИльтрНаложения->VideoEncoder->AVIMux->FileWriter
    6.                                    ^             |
    7.                                    |             +-------->VideoREnderer
    8.      накладываемое изображение ----+
    Если не лень, тут можно подробнее и с ссылками.
    Или кодом.
    Хоть и псевдокод пусть но с реальными COM объектами.
    Это так к слову)) А так просто спасибо
     
  8. pashe4ka13

    pashe4ka13 New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2010
    Сообщения:
    263
    punxer
    GrafEditPlus скачай, он после построения графа может выводить код на си
     
  9. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    pashe4ka13
    Спасибо