С# на *nix'ах — это не комильфо. С, в некоторых случаях С++, а в данном случае точно бы хватило С. Тем более С очень простой и лежит в основе огромного количества языков.
Библиотека opencv на python весьма неплохо оптимизирована и официально поддерживается. Да и написать такой простой скрипт на python в разы проще и быстрее, чем на программу С
Спасибо за примеры. Хочу сделать дома видеонаблюдение avi(хистори)+jpg(для просмотра с телефона) линуксом и EasyCap на 4 канала. еще бы moition detect раскурить и будет приличный DVR…
>>Хочу сделать дома видеонаблюдение avi(хистори)+jpg(для просмотра с телефона) линуксом и EasyCap на 4 канала. еще бы moition detect раскурить и будет приличный DVR…
Под линуксом все же лучше использовать v4l2, возможностей гораздо больше.
Для сжатия рекомендую посмотреть список кодеков, например, здесь: www.fourcc.org/codecs.php т.к. в документации OpenCV для примера указаны лишь два варианта.
Сейчас в своем проекте используем v4l2, возможно, позже получится неплохой враппер. А если постараемся, то сделаем даже кроссплатформенную библиотеку(враппер) для захвата видео.
Так говорите, будто в какой-то другой библиотеке все камеры будут поддерживать единый формат.
Да, вероятно, там сделают удобную обертку, скрыв все от вас. Здесь каждый решает сам, что ему нужно, сел и поехал, или разобрался, написал свой велосипед с дополнительными фичами и оптимизациями и поеахал.
В общем не считаю, что v4l2 использовать напрямую это гемморой, все ситуации легко обрабатываются.
Ну так стоило бы и показать рациональность использования OpenCV: хоть какую-то обработку видео сделать (например, движущиеся объекты искать или мимику/жесты распознавать).
А лишь ради кроссплатформенности тащить OpenCV == /0
А кто нибудь себе представляет, как написать «сплиттер», который позволит веб камеру «шарить» для использования несколькими клиентами, например skype и gtalk, без заморочки с нативными MFT или DirectShow?
В линуксе это делается через буфер пользователя (v4l): одна программа «грабит» и складывает в общий буфер, а уйма остальных — пользуются. В винде наверняка так тоже можно.
Еще как вариант — ffserver.
Спасибо, похоже это не прокатит — виндусовские апликации не поймут.
Ну почему MS обязаны такой огород всегда городить со своими доморощенными API?
Насколько привык как пользователь, настолько не перношу их как разработчик.
Прошу прощения за оффтоп — ну наболело.
Программный захват с вебкамеры