![]() |
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....все что выше вылетает. |
очень интересно, с удовольствием попробую
|
Цитата:
У меня нет возможности тестить не большом разрешении. Плюс у меня половина кодеков не хочет работать с разрешением более 800 на 600. В CarDVR так же. Я еще раз повторю, что то что я делаю - это некоторое расширение программы CarDVR, поэтому желательно в сравнении с ней делать какие-то выводы, так мне будет легче фиксить ошибки. Спасибо за комментарий. Прошу еще высказаться по поводу графического интерфейса, потому что я ума не приложу, как его грамотно сделать. PS ты проверял работу программы с несколькими камерами? Если да, то каким образом проверял результат? Я имею ввиду плеером может каким воспроизводил? Что думаешь в принципе по поводу записи в несколько потоков? Может лучше записывать в один поток, просто кадры с камер рядом? Качество же будет ниже, и, наверняка, размер файла больше. А что делать с пропорциями? Мне главное - что делать, а как - я надеюсь что сам решу. Спасибо |
Цитата:
|
Цитата:
Чуть позже еще прокомментирую программу Video3CarPC. К сожалению мне не очень понравился интерфейс. |
Записывать изображение с двух камер в один файл может и съэкономит ресурсы системы , но вкрячивать две картинки на один манюсенький 7" монитор тоже не гоже.
|
Цитата:
Далее, вкорячивать изображение с 2х камер в один видеопоток? ну да, просматривать неудобно. НО! Можно же писать в большом разрешении, а потом просматривать на большом мониторе? (мне не нравится этот метод, именно потому что в машине не просмотришь). Далее, несколько видеопотоков в одном файле. Это то же что и несколько видеофайлов, но только 1 видеофайл (ваш КЭП). Вопрос, как воспроизводить? Писать плеер? Ну окей, будет и плеер к этому всему. А вообще у меня основная проблема именно в этом. НИХАЧУ несколько файлов. Конечно, если ничего не придумаем, то придется как раз несколько файлов делать. |
Цитата:
Цитата:
По графическому оформлению: 1. Нужен большой экран вывода изображения, на имеющемся маленьком экране невозможно настроить камеру. 2. Не нашел настроек в самих кодаках. Цитата:
Цитата:
Цитата:
P.S На малых разрешения тоже валетает. http://s018.radikal.ru/i519/1303/51/e7a906f15ea9.jpg |
Сейчас сильно изменяю код, поэтому может вылетов и не будет.
На счет нескольких потоков, например в фильме может быть несколько аудиодорожек, и ты переключаешь их - русская, английская, немецкая. Абсолютно так же обстоят дела и с видео. в принципе в одном файле будет несколько видео. Я так понял что народ не принимает эту идею. Тогда откажусь от нее. PS Пожелания понял, в ближайшее время пока не буду заниматься интерфейсом. |
Наоборот принимаем такой новаторский подход, но чуток не вьезжаю как этот поток потом разлелить и чем.
|
Цитата:
Что еще хочу сказать. Можно не в реальном времени обрабатывать видео. Например пишем в 2 потока, а для ютьюба или еще чего вытаскиваем только 1 видеопоток. Вопрос на будущее, по поводу аудио. Надо ли делать 100500 аудиоканалов, потому что с одной стороны это универсально, а с другой - зачем, какафония будет. |
AmoRaller
Цитата:
|
Оно повлияет на то, что если файлик будет битый, то потеряется больше видеоинфы :)
Вообщем смысла нету. |
Цитата:
|
Цитата:
|
Цитата:
|
Насчет аудиоканалов, то для авто и одного хватит за глаза
|
Цитата:
А если без приколов, то в этом и есть вся задумка. |
Цитата:
|
Цитата:
Ребят, для этого мне и нужна ваша фантазия, чтобы понять как лучше) |
Извиняюсь...я перепутал прогу CarDVR c MyDVR, так вот первую не тестировал.
Еще одно пожелание: прога для удобсва использования, должна встраивоваться в наши популярные оболочки...Ц.Ф, ИКАР.... |
Я свой вариант выдвинул. Считаю что более трех камер в машине - это перебор или извращение! Главная камера - фронтальная . Задняя и салонная это допы. И отображение их в оболочке нужно разделить согласно статуса.
|
Цитата:
|
Цитата:
А что если, например, можно будет 1) Писать в один файл(несколько потоков) и в несоклько файлов с каждого МИКШЕРА. 2) Сделать гибкие настройки микшеров, чтобы можно было в один микшер писать изображения с 2х камер, задней и салонной. То есть сначала в настройких у нас есть 3 камеры, и мы им назначаем микшеры, а потом в настройках микшера определяем расположение изображений(слева-справа, сверху-снизу), определяем текст, который будет накладываться(дата-время, жопиэс координаты, еще что-нибудь). Потом говорим куда писать результат нашей работы, потоки или файлы. Сложно получается для понимания. Печально будет, если люди забьют на прогу, из-за сложных настроек. |
Добро. Согласен быть тестером. Не забьют - здесь люди у которых любопытство в крови.
|
Цитата:
|
С другой стороны если это так, то фича очень полезная, позволяющая трезво оценить возможности вашего оборудования и не пытаться прыгнуть выше головы.
|
Цитата:
В CarDVR внизу программы писалось кол-во кадров, кол-во уникальных и так далее. Так вот это показывает частоту УНИКАЛЬНЫХ кадров. Возможно плохо пояснил, поставаюсь описать этот показатель в программе. А еще, это число в основном не от программы зависит. Это только камера + драйвер. |
Цитата:
|
7 кадров для прыгающго вокруг камеры человека - запишет нормально, а при двух двигающихся навстречу авто на скорости 50км - это пропажа четырех метров пути.
|
Цитата:
Оффтоп Камера оказалась далеко не самой лучшей для авторегистратора, это широкоформатной, и это чувствуется. На счет камер - другая тема, но может как-то оптику от этой камеры пихнуть на "скоропишущую" камеру. PS Не загрузилось то ли. Вот ссылка, кому интересно https://dl.dropbox.com/u/50971087/Test%202.720.mp4. Мне вполне хватает. |
Часовой пояс GMT +4, время: 16:12. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot