![]() |
AmoDVR
Вложений: 2
Очередная программа для видеорегистрации. За основу взята программа CarDVR 1.9.
Немного о программе. Решение написать свою реплику знаменитой программы пришло с покупкой второй камеры. Программа написана в среде Visual Studio 2010 на языке C#. UPD Для работы требуется Framework .NET 3.5. Что же будет в программе? 1) Запись с нескольких web(?) камер 2) Запись звука (возможно в несколько потоков) 3) Наложение информации поверх кадров. 4) Запись в многопоточный AVI. 5) Работа с GPS. 6) Возможность отключения камеры в процессе записи. 7) Циклическая запись - перезапись "старых" видеофайлов 8) Резервная копия текущего(?) файла по нажатии на кнопку 9) Ориентированность под сенсорный экран. Это основные задачи, которые ставятся перед будущей программой. Что есть сейчас? Программа с не очень внятным интерфейсом. Более или менее работающая запись видео в несколько потоков. Окошко с настройками. Реализована циклическая перезапись. Настройка потоков в видеофайле. Механизм, позволяющий отключать камеру уже реализован, но не включен в текущую версию по причине отсутствия нормального интерфейса. Настройки хранятся в обособленном XML файле settings.xml в папке с программой Какие проблемы есть на данный момент? 1) Первая версия программы => стабильности не гарантирую. Особых тестов не проводилось. 2) Отсутствие(а может и я плохо искал) проигрывателей, способных воспроизводить видеофайл с несколькими потоками. Для себя сделал простейший проигрыватель, работающий через раз, чтобы убедиться что всё же что-то, да пишется. 3) Хотелось бы предусмотреть возможность записывать в 1(один, а может и первый) поток, располагая изображения с разных камер рядом в одном видеопотоке в файле. В этом пункте целая куча задач: Хотелось бы как-то интерактивно менять положения кадров с камер если не в процессе записи, то хотя бы в режиме настроек. Что делать с качеством изображений с каждой камеры и пропорциями сторон? ВОпрос скорее дизайнерский, нежели программерский. На чем же проводились тесты? Камеры Genius FaceCam100 и WideCam 1050 (взял ради широкого угла обзора) Процессор Athlon 64 X2 6600+ 3.1 Ггц 2 Гб памяти Windows 7 x32 Используемые кодеки - PICVideo M-JPEG 4 32bit VfW Что хотелось бы еще? В принципе захват можно производить и из других окон, например, можно записывать информацию из окна навигатора(зачем? не знаю. просто пример) Чего хотелось бы от вас? Хотелось бы получить от вас дельные и не очень советы по поводу дизайна и реализации программы. Обоснованную критику. Пожелания по увеличению функционала и стабильности программы. О процессе написания и самой программе: Я уже упомянул выше Visual Studio 2010 и .NET Ffamework 3.5 Программа реализована на языке C# с использованием технологии WPF, учитывайте это, когда будете ковырять её всякими шпионскими программами. Контролы(которые вовсе не контролы) не имеют Handle в привычном понимании. Как и в случае с CarDVR, импользовалась библиотека AForge Библиотека для работы с видео: AForge Framework К сожалению код очень непричесанный, но я надеюсь, что когда-нибудь дойдет дело до комментирования. В программе очень много потоков создается и взаимодействует, так что ошибки неизбежны. На текущем этапе реализована очередь кадров, чтобы не пропустить ничего важного. Я считаю (возможно ошибаюсь, поправьте) что такой показатель как нагрузка на процессор, которую можно посмотреть через диспетчер задач Windows, не является ключевым. Во-первых в Диспетчере задач не очень-то и точная информация; а во-вторых на не загруженной другими программами машине этот показатель будет достаточно высок, потому что программа будет стремиться использовать все свободные ресурсы. Конечно играет роль и размер изображения, и количество цветов, и степень сжатия. На моей машине сейчас при записи с 2х камер загруженность составляет 40%. Хотелось бы так же поблагодарить dues, автора CarDVR за хорошую программу, пищу для ума, и немало кода, который я использовал в своей реализации. PS Для меня эта дебютная тема, потому что раньше не приходилось создавать новые обсуждения, а тем более представлять программы на всеобщее обозрение в интернете. Так что поправляйте меня, если вдруг накосячу. Жду комментариев, спасибо. https://dl.dropbox.com/u/50971087/%D...%20%285%29.bmp https://dl.dropbox.com/u/50971087/%D...%20%286%29.bmp Прилагаю саму программу и исходный код UPD Небольшой апдейт программы. Появилась буферизация, плюс исправил пропадание кадров между записями. В настройках можно задать размер буфера в процентах от общей памяти(этот показатель ДЛЯ КАЖДОГО потока, а не для всех. Если 2 камеры и размер 50% то программа ляжет от нехватки памяти). Файл с настройками можно оставить. Далее в папке с программой появляется файл debug.txt. Его прикрепляем к сообщениям, чтобы я понимал, что исправлять. Видимых изменений больше нет. |
Может прогу как-нибудь по другому назвать?
А то если ссылаться на нее кто будет - будут непонятки о какой из двух идет речь :) |
Автор а без этого мелкософтовского дерьмища FrameWork писать софтину что никак нельзя?
|
Цитата:
|
Именно...предпочитаю минимализм...вот для пробы распаковал под XP и она орет давай фрейм 4...ставить принципиально не хочу.
Судя по названиям либ это все делается как два пальца без всяких фреймов да и либ собственно...нужно лишь желание поискать в нэте реализацию всего этого в исходниках. |
Цитата:
UPD Спасибо за замечание на счет фреймворка. В понедельник будут версия для 3,5. Сейчас попытался переложить на 3-й. Всё работает, но интерфейс заметно грузит систему. Вся логика прекрасно работает и на 2-м. Если учесть что графический интерфейс сейчас - одна из слабых сторон программы, то проблем в будущем быть не должно. |
Спасибо автору....пробуем.
|
Спасибо автору. Успехов в начинаниях. Давно уже напрашивается многокамерная регистрация. Толковых программ под это нет.
|
Цитата:
Тогда берешь Pascal (можешь дельфи) от борланда. и пишешь, пишешь. А потом выкладываешь и не квакаешь -------------------- Имейте уважение к чужому труду.... |
Сегодня тестил камерой С920, Win7/64
Понравилось то, что на некоторых кодаках при плохой освещенности пропал эффект "чаплинизации"(странно почему?, но это факт) Из траблов: при высоком разрешении 1920х1080 происходит остановка приложения, с выходом в синий экран(после перезагрузки), последнее рабочее разрешение у меня 1280х720....все что выше вылетает. |
Часовой пояс GMT +4, время: 06:39. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot