PDA

Просмотр полной версии : AmoDVR


AmoRaller
02.03.2013, 01:47
Очередная программа для видеорегистрации. За основу взята программа 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 (https://code.google.com/p/aforge/)
К сожалению код очень непричесанный, но я надеюсь, что когда-нибудь дойдет дело до комментирования.
В программе очень много потоков создается и взаимодействует, так что ошибки неизбежны. На текущем этапе реализована очередь кадров, чтобы не пропустить ничего важного. Я считаю (возможно ошибаюсь, поправьте) что такой показатель как нагрузка на процессор, которую можно посмотреть через диспетчер задач Windows, не является ключевым. Во-первых в Диспетчере задач не очень-то и точная информация; а во-вторых на не загруженной другими программами машине этот показатель будет достаточно высок, потому что программа будет стремиться использовать все свободные ресурсы. Конечно играет роль и размер изображения, и количество цветов, и степень сжатия. На моей машине сейчас при записи с 2х камер загруженность составляет 40%.

Хотелось бы так же поблагодарить dues, автора CarDVR за хорошую программу, пищу для ума, и немало кода, который я использовал в своей реализации.

PS Для меня эта дебютная тема, потому что раньше не приходилось создавать новые обсуждения, а тем более представлять программы на всеобщее обозрение в интернете. Так что поправляйте меня, если вдруг накосячу. Жду комментариев, спасибо.
https://dl.dropbox.com/u/50971087/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%82%D0%BE%D1%8 7%D0%B5%D1%87%D0%BD%D1%8B%D0%B9%20%D1%80%D0%B8%D1% 81%D1%83%D0%BD%D0%BE%D0%BA%20%285%29.bmp

https://dl.dropbox.com/u/50971087/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%82%D0%BE%D1%8 7%D0%B5%D1%87%D0%BD%D1%8B%D0%B9%20%D1%80%D0%B8%D1% 81%D1%83%D0%BD%D0%BE%D0%BA%20%286%29.bmp


Прилагаю саму программу и исходный код

UPD Небольшой апдейт программы. Появилась буферизация, плюс исправил пропадание кадров между записями. В настройках можно задать размер буфера в процентах от общей памяти(этот показатель ДЛЯ КАЖДОГО потока, а не для всех. Если 2 камеры и размер 50% то программа ляжет от нехватки памяти).
Файл с настройками можно оставить.

Далее в папке с программой появляется файл debug.txt. Его прикрепляем к сообщениям, чтобы я понимал, что исправлять. Видимых изменений больше нет.

Hamster
02.03.2013, 01:54
Может прогу как-нибудь по другому назвать?
А то если ссылаться на нее кто будет - будут непонятки о какой из двух идет речь :)

awtoap
02.03.2013, 02:51
Автор а без этого мелкософтовского дерьмища FrameWork писать софтину что никак нельзя?

AmoRaller
02.03.2013, 02:53
Автор а без этого мелкософтовского дерьмища FrameWork писать софтину что никак нельзя?
Если не вдаваться в подробности, то на C# нельзя. У вас какая-то неприязнь к микрософту?

awtoap
02.03.2013, 03:04
Именно...предпочитаю минимализм...вот для пробы распаковал под XP и она орет давай фрейм 4...ставить принципиально не хочу.

Судя по названиям либ это все делается как два пальца без всяких фреймов да и либ собственно...нужно лишь желание поискать в нэте реализацию всего этого в исходниках.

AmoRaller
02.03.2013, 03:17
Именно...предпочитаю минимализм...вот для пробы распаковал под XP и она орет давай фрейм 4...ставить принципиально не хочу.

Судя по названиям либ это все делается как два пальца без всяких фреймов да и либ собственно...нужно лишь желание поискать в нэте реализацию всего этого в исходниках.

Ну да, как вариант тащить с собой либы с нужными функциями. Точно будет меньше, чем целый фреймворк. Если же мы хотим реализацию всех функций, я боюсь что это мне не по силам. На смом деле половину можно было сделать на nativ dll, например на C++ написать. Я такой вариант не исключаю, и наверняка всё это работать будет быстрее. Хотелось бы получить для начала работающую программу, которую можно было использовать без проблем, а потом уже заняться оптимизацией.

UPD Спасибо за замечание на счет фреймворка. В понедельник будут версия для 3,5. Сейчас попытался переложить на 3-й. Всё работает, но интерфейс заметно грузит систему. Вся логика прекрасно работает и на 2-м. Если учесть что графический интерфейс сейчас - одна из слабых сторон программы, то проблем в будущем быть не должно.

sirota
02.03.2013, 10:19
Спасибо автору....пробуем.

avic
02.03.2013, 18:21
Спасибо автору. Успехов в начинаниях. Давно уже напрашивается многокамерная регистрация. Толковых программ под это нет.

oops1
02.03.2013, 20:06
Автор а без этого мелкософтовского дерьмища FrameWork писать софтину что никак нельзя?

Можно конечно, берешь Visual Studio с++... а точно , это же тоже мелкософт.
Тогда берешь Pascal (можешь дельфи) от борланда. и пишешь, пишешь.
А потом выкладываешь и не квакаешь
--------------------
Имейте уважение к чужому труду....

sirota
02.03.2013, 23:21
Сегодня тестил камерой С920, Win7/64
Понравилось то, что на некоторых кодаках при плохой освещенности пропал эффект "чаплинизации"(странно почему?, но это факт)
Из траблов: при высоком разрешении 1920х1080 происходит остановка приложения, с выходом в синий экран(после перезагрузки), последнее рабочее разрешение у меня 1280х720....все что выше вылетает.

Liber
02.03.2013, 23:21
очень интересно, с удовольствием попробую

AmoRaller
03.03.2013, 18:11
Сегодня тестил камерой С920, Win7/64
Понравилось то, что на некоторых кодаках при плохой освещенности пропал эффект "чаплинизации"(странно почему?, но это факт)
Из траблов: при высоком разрешении 1920х1080 происходит остановка приложения, с выходом в синий экран(после перезагрузки), последнее рабочее разрешение у меня 1280х720....все что выше вылетает.

А с программой CarDVR есть проблемы в таких же условиях? Что такое эффект "чаплинизации"?
У меня нет возможности тестить не большом разрешении. Плюс у меня половина кодеков не хочет работать с разрешением более 800 на 600. В CarDVR так же.
Я еще раз повторю, что то что я делаю - это некоторое расширение программы CarDVR, поэтому желательно в сравнении с ней делать какие-то выводы, так мне будет легче фиксить ошибки.
Спасибо за комментарий. Прошу еще высказаться по поводу графического интерфейса, потому что я ума не приложу, как его грамотно сделать.

PS ты проверял работу программы с несколькими камерами? Если да, то каким образом проверял результат? Я имею ввиду плеером может каким воспроизводил?

Что думаешь в принципе по поводу записи в несколько потоков? Может лучше записывать в один поток, просто кадры с камер рядом? Качество же будет ниже, и, наверняка, размер файла больше. А что делать с пропорциями? Мне главное - что делать, а как - я надеюсь что сам решу. Спасибо

wladkom1953
03.03.2013, 19:15
Прошу еще высказаться по поводу графического интерфейса, потому что я ума не приложу, как его грамотно сделать.

Все хорошее это забытое старое. Посмотри программу Video3CarPC (на три камеры) с соседнего форума . Автор по непонятным причинам ее не развивает, а интерфейс у нее супер.

AmoRaller
03.03.2013, 20:22
Все хорошее это забытое старое. Посмотри программу Video3CarPC (на три камеры) с соседнего форума . Автор по непонятным причинам ее не развивает, а интерфейс у нее супер.

Хотел бы спросить, а действительно ли нужен пальцеориентированный интерфейс для настроек? Настройки же вроде как один раз выставляешь, и всё - счастье. Нужно? окей, будет)))

Чуть позже еще прокомментирую программу Video3CarPC. К сожалению мне не очень понравился интерфейс.

wladkom1953
03.03.2013, 20:43
Записывать изображение с двух камер в один файл может и съэкономит ресурсы системы , но вкрячивать две картинки на один манюсенький 7" монитор тоже не гоже.

AmoRaller
03.03.2013, 21:07
Записывать изображение с двух камер в один файл может и съэкономит ресурсы системы , но вкрячивать две картинки на один манюсенький 7" монитор тоже не гоже.

Вооот! Я согласен. В своей программе я хотел по клику(тапу) в левой панели(кстати, можно менять её ширину) показывать изображение с определенной камеры в правой, большой части. Для предпросмотра вроде ничего, подходит. Если камера, например, смотрит назад, то как и парковочная камера сойдет.

Далее, вкорячивать изображение с 2х камер в один видеопоток? ну да, просматривать неудобно. НО! Можно же писать в большом разрешении, а потом просматривать на большом мониторе? (мне не нравится этот метод, именно потому что в машине не просмотришь). Далее, несколько видеопотоков в одном файле. Это то же что и несколько видеофайлов, но только 1 видеофайл (ваш КЭП). Вопрос, как воспроизводить? Писать плеер? Ну окей, будет и плеер к этому всему.

А вообще у меня основная проблема именно в этом. НИХАЧУ несколько файлов. Конечно, если ничего не придумаем, то придется как раз несколько файлов делать.

sirota
03.03.2013, 22:44
А с программой CarDVR есть проблемы в таких же условиях?

Таких проблем нет CarDVR, пишет без вылета на самом высоком разрешении.

Что такое эффект "чаплинизации"?

Это когда при при просмотре записанного файла, скорость воспроизведения увеличивается(почему то), и люди, машины начинают быстро бегать, как на старых кадрах времен Чарли Чаплина.(это случается, при съемки вечером(ночью), при плохой освещенности), и при наличаи процесора i7 (почему то).

По графическому оформлению:
1. Нужен большой экран вывода изображения, на имеющемся маленьком экране невозможно настроить камеру.
2. Не нашел настроек в самих кодаках.

проверял работу программы с несколькими камерами?

Проверял еще на ноутбучной...результат тот же, (остановка приложения)

Я имею ввиду плеером может каким воспроизводил?

Плеером крутил стандартным Media Player Classic - Home Cinema.

Что думаешь в принципе по поводу записи в несколько потоков?

Чуть не допонимаю как это?

P.S На малых разрешения тоже валетает.
http://s018.radikal.ru/i519/1303/51/e7a906f15ea9.jpg (http://www.radikal.ru)

AmoRaller
03.03.2013, 23:11
Сейчас сильно изменяю код, поэтому может вылетов и не будет.
На счет нескольких потоков, например в фильме может быть несколько аудиодорожек, и ты переключаешь их - русская, английская, немецкая. Абсолютно так же обстоят дела и с видео. в принципе в одном файле будет несколько видео. Я так понял что народ не принимает эту идею. Тогда откажусь от нее.

PS Пожелания понял, в ближайшее время пока не буду заниматься интерфейсом.

wladkom1953
03.03.2013, 23:43
Наоборот принимаем такой новаторский подход, но чуток не вьезжаю как этот поток потом разлелить и чем.

AmoRaller
03.03.2013, 23:58
Наоборот принимаем такой новаторский подход, но чуток не вьезжаю как этот поток потом разлелить и чем.

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

Что еще хочу сказать. Можно не в реальном времени обрабатывать видео. Например пишем в 2 потока, а для ютьюба или еще чего вытаскиваем только 1 видеопоток.

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

sirota
04.03.2013, 00:01
AmoRaller

На счет нескольких потоков, например в фильме может быть несколько аудиодорожек, и ты переключаешь их

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

Hamster
04.03.2013, 00:03
Оно повлияет на то, что если файлик будет битый, то потеряется больше видеоинфы :)
Вообщем смысла нету.

AmoRaller
04.03.2013, 00:05
AmoRaller



Если это новшество не повлияет на качестве воспроизводимого видео, то почему бы и нет, а если повлияет на разрешение, fps, то это нафик не нужно.

Качество видео = разрешение + цветность + fps. Разрешение определяется камерой, цветность тоже. fps мы сами задаем. Проблем нет... я так думаю. в общем вот что я решил - делаю с потоками, пишу ооооочень простой плеер. Мы смотрим на всё это дело, и, если канает - продолжаем, если нет - классические варианты реализуем.

AmoRaller
04.03.2013, 00:07
Оно повлияет на то, что если файлик будет битый, то потеряется больше видеоинфы :)
Вообщем смысла нету.

Ну да. Не без этого.

Hamster
04.03.2013, 00:08
в общем вот что я решил - делаю с потоками, пишу ооооочень простой плеер.

Я правильно понимаю, что в таком случае можно несколько потоков с нескольких камер паковать в один файл и в плеере все потоки проигрывать одновременно? Вот такая фишка интерестна наверное :)

wladkom1953
04.03.2013, 00:14
Насчет аудиоканалов, то для авто и одного хватит за глаза

AmoRaller
04.03.2013, 00:16
Я правильно понимаю, что в таком случае можно несколько потоков с нескольких камер паковать в один файл и в плеере все потоки проигрывать одновременно? Вот такая фишка интерестна наверное :)

Ну это уже от плеера зависит)
А если без приколов, то в этом и есть вся задумка.

sirota
04.03.2013, 00:20
несколько потоков с нескольких камер паковать в один файл и в плеере все потоки проигрывать одновременно?

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

AmoRaller
04.03.2013, 00:26
Тоесть при таком раскладе....если две камеры снимали, то при воспроизведение экран будет делится на две части(левую и правую) так?

Один из вариантов. А можно, например, нажать на нужный поток, и он будет воспроизводиться. Mожно сделать воспроизведение в нескольких окнах, а дальше уже как расположишь их. Почему я сказал про то, что хотел бы сделать плеер и dvr в одном стиле? да потому что разницы между проигрывателем и "записывателем" с точки зрения интерфейса особой нет. Вместо Запись/стоп будет Воспроизвести/стоп.

Ребят, для этого мне и нужна ваша фантазия, чтобы понять как лучше)

sirota
04.03.2013, 00:55
Извиняюсь...я перепутал прогу CarDVR c MyDVR, так вот первую не тестировал.

Еще одно пожелание: прога для удобсва использования, должна встраивоваться в наши популярные оболочки...Ц.Ф, ИКАР....

wladkom1953
04.03.2013, 01:02
Я свой вариант выдвинул. Считаю что более трех камер в машине - это перебор или извращение! Главная камера - фронтальная . Задняя и салонная это допы. И отображение их в оболочке нужно разделить согласно статуса.

AmoRaller
04.03.2013, 01:06
Извиняюсь...я перепутал прогу CarDVR c MyDVR, так вот первую не тестировал.

Еще одно пожелание: прога для удобсва использования, должна встраивоваться в наши популярные оболочки...Ц.Ф, ИКАР....

Я не писал никогда плагины для оболочек, но, вроде как, в ЦФ просто окно можно "вписать" внутрь оболочки. В моей любимой СarDVR можно менять цвет фона и цвет шрифта, чего вполне достаточно для нормального использования. А вообще спасибо, буду учитывать это пожелание.

AmoRaller
04.03.2013, 01:17
Я свой вариант выдвинул. Считаю что более трех камер в машине - это перебор или извращение! Главная камера - фронтальная . Задняя и салонная это допы. И отображение их в оболочке нужно разделить согласно статуса.

Я согласен, 3 камеры это норм. Я думаю что при таком раскладе у Video3CarPC действительно достаточно удачный интерфейс.

А что если, например, можно будет
1) Писать в один файл(несколько потоков) и в несоклько файлов с каждого МИКШЕРА.

2) Сделать гибкие настройки микшеров, чтобы можно было в один микшер писать изображения с 2х камер, задней и салонной.

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

wladkom1953
04.03.2013, 01:23
Добро. Согласен быть тестером. Не забьют - здесь люди у которых любопытство в крови.

wladkom1953
04.03.2013, 13:37
https://dl.dropbox.com/u/50971087/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%82%D0%BE%D1%8 7%D0%B5%D1%87%D0%BD%D1%8B%D0%B9%20%D1%80%D0%B8%D1% 81%D1%83%D0%BD%D0%BE%D0%BA%20%286%29.bmp



Поясни что обозначает на рисунке "7,00 fps" . При изменении (увеличении) разрешения экрана этот показатель падает до двойки. Или он показывает оптимальное количество кадров, которое при данном разрешении способно выдать железо, но тогда это не подходит для авто, где запись должна производиться на скорости не менее 20-30 кадров.

wladkom1953
04.03.2013, 14:02
С другой стороны если это так, то фича очень полезная, позволяющая трезво оценить возможности вашего оборудования и не пытаться прыгнуть выше головы.

AmoRaller
04.03.2013, 14:02
Поясни что обозначает на рисунке "7,00 fps" . При изменении (увеличении) разрешения экрана этот показатель падает до двойки. Или он показывает оптимальное количество кадров, которое при данном разрешении способно выдать железо, но тогда это не подходит для авто, где запись должна производиться на скорости не менее 20-30 кадров.

У меня это реальный показатель - сколько кадров снимается с камеры. Когда в настройках ставим 30 кадров, не факт что твоя камера/драйвер потянут эти 30 кадров. Это число позволяет оценить, какое кол-во кадров должно быть в файле, чтобы оптимально использовать ресурсы. Скажу по себе - 7 кадров у меня - обычное явление и этого вполне хватает. Кстати, возможно драйвер проводит какую-то оптимизацию, потому что когда я начинаю активно плясать перед камерой, fps подскакивает почти в 2 раза.

В CarDVR внизу программы писалось кол-во кадров, кол-во уникальных и так далее. Так вот это показывает частоту УНИКАЛЬНЫХ кадров. Возможно плохо пояснил, поставаюсь описать этот показатель в программе.

А еще, это число в основном не от программы зависит. Это только камера + драйвер.

AmoRaller
04.03.2013, 14:04
С другой стороны если это так, то фича очень полезная, позволяющая трезво оценить возможности вашего оборудования и не пытаться прыгнуть выше головы.

Во-во. Ты меня понимаешь) Показатель очень примерный. Погрешность где-то 20%

wladkom1953
04.03.2013, 14:40
7 кадров для прыгающго вокруг камеры человека - запишет нормально, а при двух двигающихся навстречу авто на скорости 50км - это пропажа четырех метров пути.

AmoRaller
04.03.2013, 15:02
7 кадров для прыгающго вокруг камеры человека - запишет нормально, а при двух двигающихся навстречу авто на скорости 50км - это пропажа четырех метров пути.

Видео из CarDVR. Тут fps камеры около 7ми.
Оффтоп
Камера оказалась далеко не самой лучшей для авторегистратора, это широкоформатной, и это чувствуется. На счет камер - другая тема, но может как-то оптику от этой камеры пихнуть на "скоропишущую" камеру.

http://youtu.be/hOW5680MwbY

PS Не загрузилось то ли. Вот ссылка, кому интересно https://dl.dropbox.com/u/50971087/Test%202.720.mp4. Мне вполне хватает.

sirota
04.03.2013, 15:11
7 кадров для прыгающго вокруг камеры человека - запишет нормально, а при двух двигающихся навстречу авто на скорости 50км - это пропажа четырех метров пути.

Днем реально пишет 30fps, а ночью при свете фар падает до 15fps, это уже удел самой камеры, тут уже ничего не попишешь, хотя можно сделать ик подцветку (наверное)

http://s49.radikal.ru/i125/1303/62/18be6308bb27.jpg (http://www.radikal.ru)

AmoRaller

Камера оказалась далеко не самой лучшей для авторегистратора, это широкоформатной, и это чувствуется. На счет камер - другая тема, но может как-то оптику от этой камеры пихнуть на "скоропишущую" камеру.

А, что за камера такая выдающиеся, рисует такие невообразимые улы? Вот бы её оптику скрестить с с920....получилась бы БОМБА.

http://www.youtube.com/watch?v=1hPPLRBBIqc
Вот кстати из моего видео, можно за образец взять наложение GPS данных и всякой всячины, что бы можно шрифт и цвет менять, а то в темных тонах надписи смотрится блекло.

http://www.youtube.com/watch?v=1hPPLRBBIqc

wladkom1953
04.03.2013, 15:23
Твой частный случай рассматривать не берусь. У тебя и проц и камера на самой высокой планке. В основном юзают атом.

AmoRaller
04.03.2013, 15:31
Днем реально пишет 30fps, а ночью при свете фар падает до 15fps, это уже удел самой камеры, тут уже ничего не попишешь, хотя можно сделать ик подцветку (наверное)

http://s49.radikal.ru/i125/1303/62/18be6308bb27.jpg (http://www.radikal.ru)

AmoRaller


А, что за камера такая дающая такие невообразимые улы? Вот бы её оптику скрестить с с920....получилось бы БОМБА.

http://www.youtube.com/watch?v=1hPPLRBBIqc
Вот кстати из моего видео, можно за образец взять наложение GPS данных и всякой всячины, что бы можно шрифт и цвет менять, а то в темных тонах смотрится блекло.

http://www.youtube.com/watch?v=1hPPLRBBIqc

Это WideCam 1050 от Genius. 120 или 130 градусов. Я пересаживал на FaceCam 1000, которая пошустрее адаптируется к изменяющемуся освещению, результаты были не очень впечатляющие, хотел прогресс был.


PS Качество видео вообще АГОНЬ. На счет наложения, думаю надо дат возможность пользователю самому настроить цвета и положение каждой отдельной части информации. В CarVideoRecorder интересно сделана выпадающая менюшка с выбором информации, которую надо записать. Как вариант сделать несколько режимов(день/ночь) или подстраиваться под цветность видео, про это пока не будем заморачиваться.

Hamster
04.03.2013, 18:08
Ребяты, чудес не бывает - хотите регистрацию с использованием ресурсов центрального процессора - ставьте i3 и выше.
Если атом - то только регистрация с использованием ресурсов самой камеры.

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

AmoRaller
04.03.2013, 18:17
Ребяты, чудес не бывает - хотите регистрацию с использованием ресурсов центрального процессора - ставьте i3 и выше.
Если атом - то только регистрация с использованием ресурсов самой камеры.

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

Ресурсы самой камеры. То есть накладывать текст поверх картинок, несколько картинок на одном экране - это всё отпадает. Ну да, я это понимаю. Всё таки я перед собой поставил задачу именно написать программу с рюшечками, а супербыстрые и качественный записи с аппаратным кодированием вроде как в DxDvrCapture обсуждают.

wladkom1953
04.03.2013, 18:23
Ребяты, чудес не бывает.....
На конечный результат железки вообще мало повлияют - хоть i7 впихни, все равно на движущихся машинах (в реальной обстановке, а не когда мы тихонечко к светофору по прямой подъезжаем при ярком солнечном свете) номера не различимы.
Вот и я о том же. Приблизится к студийной видеозаписи с помощью вэб-камер невозможно. Мы ищем тот самый неуловимый компромис желаний возможности и целесообразности.

Hamster
04.03.2013, 18:34
То есть накладывать текст поверх картинок, несколько картинок на одном экране - это всё отпадает.

Разумеется.
Текст - субтитры.
Зачем видеть на экране видео во время движения я не понимаю. Нужно контролировать, что запись идет и прога не глючит? Для этого есть более простые варианты :)

а супербыстрые и качественный записи

с210, 600рублей, 1280х720х30. И никаких рюшечек, зато работает как часы.

Часто все забывают конечный результат, чего ради это все делается. А делается это только ради одного - доказательная база в суде.

Суд не будет умиляться тем, что у вас 4 камеры в движении в одном окошке выводятся, да еще в HD качестве.
Суду нужны доказательства виновности/невиновности. Подробности проишествия, номерные знаки, иные приметы машин учавствующих в конфликте, разметка и т.п.
А если (и слава богу) до суда дело не находит, то видео это все в мусорку. А мусорке все равно видели это видео при записи или нет.

Впрочем, это очередной развод на флейм, к консенсусу мы все равно не придем. И наверное это правильно - жизнь сложная штука :)

wladkom1953
04.03.2013, 19:19
Hamster не совсем прав. Действительно просматривать в онлайн режиме - зло. А вот в проигрывателе присутствие рюшечек никогда не помешает.

AmoRaller
04.03.2013, 20:07
Hamster не совсем прав. Действительно просматривать в онлайн режиме - зло. А вот в проигрывателе присутствие рюшечек никогда не помешает.

Я начинаю понимать что вы имеете ввиду. Тогда предлагаю такой вариант. Опционально можно будет так же отклчать ОСНОВНОЙ графический интерфейс. Например, от того окна, которое сейчас главное, останется только нижняя панелька, это даст +100500 к производительности( в реальности все ресурсы будут идти только на запись, потому что отображение в реальном времени картинки сильно грузит).
Графический режим настроек ИМХО вещь нужная - мне лично не в кайф в файле редактировать. Хотя настраивать надо не так часто.

Hamster
04.03.2013, 20:10
Hamster не совсем прав. ....... А вот в проигрывателе присутствие рюшечек никогда не помешает.

Гм, давай мухи отдельно, котлеты отдельно.
Не надо путать реалтайм приложение (видеорегистрация) и последующее проигрывание записанного. Я про плеер ничего не говорил, я про рилтайм :)

Записанный контент ты можешь спокойно посмотреть тогда, когда инциндент уже позади. Или в машине или дома. Со скрупулезным просмотром каждого кадра.

AmoRaller
04.03.2013, 20:11
Суд не будет умиляться тем, что у вас 4 камеры в движении в одном окошке выводятся, да еще в HD качестве.
Суду нужны доказательства виновности/невиновности. Подробности проишествия, номерные знаки, иные приметы машин учавствующих в конфликте, разметка и т.п.


Я думаю что все понимают, что моя программа не позволит отчетливо читать номера, хорошо если разметка будет видна. Тем более всё это будет работать на атоме.

Hamster
04.03.2013, 20:17
отчетливо читать номера

Разумеется, не в софте дело :)
WEB-камера - вот узкое место.
Но, поскольку в данном контексте мы не ведем разговор о лучшем решении видеорегистрации вообще, то принимаем как аксиому, что вебка есть и ее не изменить :)

wladkom1953
04.03.2013, 20:37
Гм, давай мухи отдельно, котлеты отдельно.
Не надо путать реалтайм приложение (видеорегистрация) и последующее проигрывание записанного. Я про плеер ничего не говорил, я про рилтайм :)

Записанный контент ты можешь спокойно посмотреть тогда, когда инциндент уже позади. Или в машине или дома. Со скрупулезным просмотром каждого кадра.
Все вышеописанное больше всего писалось автору, т.к. он и только он сдесь главный конструктор и мне показалось, что он растерялся. Давайте поддержим.

sirota
04.03.2013, 21:11
Я думаю что все понимают, что моя программа не позволит отчетливо читать номера, хорошо если разметка будет видна. Тем более всё это будет работать на атоме.
Еще как читаются.:yes4:
Если навстречу друг другу, движутся два авто, со скоростью примерно 70 км/ч, тоесть общая скорость сближения 140 км, то номера читаются вебкой с920 нормально, если скорость больше 70, то начинается мазня.

P.s Считаю такой результат для вебки нормальный, ни чуть не уступает средним видеорегистраторам, а в некоторых тестах, даже их превосходит.

Hamster
04.03.2013, 21:37
Если навстречу друг другу, движутся два авто, со скоростью примерно 70 км/ч, тоесть общая скорость сближения 140 км, то номера читаются вебкой с920 нормально

Это отличный результат. Можно пример видео?

...и мне показалось, что он растерялся. Давайте поддержим.

Ни в коем случае не хотел ни обидеть автора, ни отговорить от написания софта.
Во-первых многокамерных регистрилок действительно мало.
Во-вторых, это опыт. И это главное - так уж мы устроены, что только с опытом приходит понимание :)
В-третьих, не все сидят на атомах и Sirota тому пример.

Я лишь к тому речь веду, что при разработке следует не забывать, что мы кодим не ради кодинга, а для достижения конкретной цели. И не кодинг меняет под себя эту цель, а наоборот :)

sirota
04.03.2013, 22:38
Hamster

Это отличный результат. Можно пример видео?
Старые все подтер уже....новые выложу чуть позже, сейчас прога стоит от Ильи, но в ней нет GPS скорости :dntknw:
Вот что осталось.... мой скрин на скорости 43 км.ч...скорость встречной определить не смогу, только субъективно по видеоклипу, но думаю скорость шеврале, не меньше моей.(скрин тоже портит картинку % на 20)
http://s15.radikal.ru/i188/1209/52/d32a4093024b.jpg (http://www.radikal.ru)

Вот ссылка(пример) на не пережатый ютубом клип.
http://files.mail.ru/48D39D31FD6B4E91A599FDB7571D6F24

Вот я сравнивал видеорегистратор(неплохой Q2), с вебкой с920.

Сделал с ютуба 2 скрина.
1. Верхний, съемка видеорегистратором каркам Q2.
2. Нижний, съемка Web C920.(моя)

http://s018.radikal.ru/i524/1210/1a/3251e21ed719.jpg (http://www.radikal.ru)
http://s06.radikal.ru/i179/1210/fc/32c43d4d2148.jpg (http://www.radikal.ru)
Заметно,что вебка снимает резче каркама и дальний план в том числе, плюс к тому же верхний скрин Q2(ястная погода), нижний C920 (пасмурный день)

Hamster
04.03.2013, 23:00
Спасиба.
Вторую и третью картинки видел - не интерестно, это по сути статика, движения нет.
А вот первая здорово! даже 43кмч - хороший результат для вебки.

wladkom1953
18.03.2013, 00:46
Что-то давненько нет новостей от AmoRaller по AmoDRV. Ждем с нетерпением.

AmoRaller
21.03.2013, 23:58
Что-то давненько нет новостей от AmoRaller по AmoDRV. Ждем с нетерпением.

Ребят, я видимо вообще не творческий человек. У меня всё работает, добавил звук, несколько камер, микшеры. НО. Я никак не могу придумать грамотный графический интерфейс. Хоть убейте) Проблема именно с окном(окнами?) настроек.
Поясню. Логика какая?
1) Выбираем используемые камеры
надо настроить разрешение камеры. С яркостью, и прочими настройками пока не разбирался.
2) Выбираем микшеры - один микшер, по сути, это набор из установок: такой то источник видео в таком-то прямоугольнике рисовать. Такой-то источник текста(дата, время, еще что-то) - по таким координатам рисовать.
Это уже серьезней. Слишком много будет всяких панелек, и получится у меня аналог какой-то 1С программы, где без рюмки не разберешься - куда жать.
3) Источник аудио. (проблем нет)
4) Сопоставление микшеров и файлов.
Например есть 3 микшера. 1 микшер мы пишем в первый файл, второй и третий пишем в разные потоки второго файла. Это вроде бы просто.
Ну и плюс все остальные настройки: автозапуск, настройки папок.

Появилась идея сделать поддержку удаленных камер - когда делается проброс USB порта с камерой по сети. Пока идей нет, но скоро появятся.

Andy_ro
01.04.2013, 17:43
Интересный проект.

Заметил одну маленькую оформительскую неполадочку: в настройках на вкладке "настройка архива" перепутаны местами кнопки выбора папок.

AmoRaller
01.04.2013, 19:35
Интересный проект.

Заметил одну маленькую оформительскую неполадочку: в настройках на вкладке "настройка архива" перепутаны местами кнопки выбора папок.

От того оформления пришлось отказаться. На наших и без того не быстрых компьютерах технология WPF требует очень многого. За замечание спасибо.

Andy_ro
02.04.2013, 13:27
И ещё.
Превью нормально, а ролик вверх ногами.

AmoRaller
02.04.2013, 19:09
И ещё.
Превью нормально, а ролик вверх ногами.

А, ахахаха, да, я знаю. Оказывается, данные надо писать кверху ногами. Так что я сначала принимаю последовательно данные, потом переворачиваю кадр, а при записи опять переворачиваю.
Я предлагаю тебе, как самому активному в данный момент, высказать свои соображения по поводу интерфейса.

Andy_ro
04.04.2013, 12:02
А, ахахаха, да, я знаю. Оказывается, данные надо писать кверху ногами. Так что я сначала принимаю последовательно данные, потом переворачиваю кадр, а при записи опять переворачиваю.
Я предлагаю тебе, как самому активному в данный момент, высказать свои соображения по поводу интерфейса.

Хм.
Интерфейс.
Да я в этом в общем-то тоже не копенгаген.
Неужели на этом этапе это так важно? Главное определить общую концепцию и дальше уже плясать в этом русле.
Важное - это качество записи и потребление ресурсов.
Я перебрал практически все подобные регистраторы и CarDVR в том числе.
CarDVR я пользовался, но потом перешёл на minicam только потому, что она с моей камеры Logitech quickcam pro 9000 единственная смогла обеспечить разрешение 1280х720х15. Уж каким образом - для меня загадка.
Вот мои приоритеты. А бантики уже потом завяжем.

Ещё что хочу сказать:
1.sirota правильно писал - надо сделать вывод предпросмотра на полный экран или хотя бы в достаточно большом формате, чтобы на 7 дюймовом мониторе можно было настроить камеру. В режме запись вывод на экран отключать. Единственное исключение может быть для специально назначеной камеры, которую используем в качестве назадсмотрящей. Её использовать, как парковочную с возможностью задать в настройках размера и положения окна. Метод включения и отключения отображения с этой камеры надо обдумать отдельно.
2.Первичная цель регистрации - доказательная база, и в этом смысле сбор в один файл нескольких видеопотоков может выйти боком.
У следствия или суда может не оказаться, да и наверняка не окажется средств просмотра. Конечно можно предоставить необычную спец. программу, но её могут просто не затребовать и отказать в рассмотрении данных доказательств.

AmoRaller
04.04.2013, 23:10
Хм.
Интерфейс.
Да я в этом в общем-то тоже не копенгаген.
Неужели на этом этапе это так важно? Главное определить общую концепцию и дальше уже плясать в этом русле.
Важное - это качество записи и потребление ресурсов.
Я перебрал практически все подобные регистраторы и CarDVR в том числе.
CarDVR я пользовался, но потом перешёл на minicam только потому, что она с моей камеры Logitech quickcam pro 9000 единственная смогла обеспечить разрешение 1280х720х15. Уж каким образом - для меня загадка.
Вот мои приоритеты. А бантики уже потом завяжем.

Ещё что хочу сказать:
1.sirota правильно писал - надо сделать вывод предпросмотра на полный экран или хотя бы в достаточно большом формате, чтобы на 7 дюймовом мониторе можно было настроить камеру. В режме запись вывод на экран отключать. Единственное исключение может быть для специально назначеной камеры, которую используем в качестве назадсмотрящей. Её использовать, как парковочную с возможностью задать в настройках размера и положения окна. Метод включения и отключения отображения с этой камеры надо обдумать отдельно.
2.Первичная цель регистрации - доказательная база, и в этом смысле сбор в один файл нескольких видеопотоков может выйти боком.
У следствия или суда может не оказаться, да и наверняка не окажется средств просмотра. Конечно можно предоставить необычную спец. программу, но её могут просто не затребовать и отказать в рассмотрении данных доказательств.

Я всё это учел. Почему я говорю про интерфейс? да потому что у меня всё работает. Только я не могу представить программу. Сейчас она настроена конкретно под меня - под мои камеры и мой компьютер. Всесторонние тесты я сам обеспечить не смогу, а вам не могу дать программу, потому что... я надеюсь понятно. Все фишки с камерами я уже продумал. Для просмотра не потребуется ничего, кроме кодека.

15 кадров. Те режимы, которые пишет, например, CarDVR - это режимы, которые сообщает камера. Можно указать произвольное кол-во кадров. На самом деле я не знаю, как этот показатель влияет на работу, потому что независимо от него, на кол-во кадров влияла освещенность, фокус камеры, и, самое главное, загруженность системы. Какое fps писала моя программа, когда ты подключал свою камеру? Где-то раньше есть скрин, где и 30 fps было. Я думаю, что больше 25 в принципе не нужно.

Andy_ro
05.04.2013, 13:34
... Какое fps писала моя программа, когда ты подключал свою камеру? ...

На этот вопрос сейчас ответить не смогу, т.к. пробовал твою программу с другой (ну совсем слабенькой) Genius Eye 312.
Может быть после выходных.

AmoRaller
05.04.2013, 18:22
На этот вопрос сейчас ответить не смогу, т.к. пробовал твою программу с другой (ну совсем слабенькой) Genius Eye 312.
Может быть после выходных.

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

Andy_ro
09.04.2013, 14:43
Сижу экспериментирую с Logitech quickcam pro 9000.
Фигня какая-то получается. С любым разрешением при попытке записи через некоторое время выскакивает вывеска "Кончилась память".
Файл записывается, но его длительность 2-3 сек.
Пробовал и по умолчанию и с родными драйверами.

AmoRaller
09.04.2013, 19:51
Сижу экспериментирую с Logitech quickcam pro 9000.
Фигня какая-то получается. С любым разрешением при попытке записи через некоторое время выскакивает вывеска "Кончилась память".
Файл записывается, но его длительность 2-3 сек.
Пробовал и по умолчанию и с родными драйверами.

Это уже результат. В папке с программой должен лежать файл debug.txt. По нему я постараюсь понять, где ошибка.

Andy_ro
10.04.2013, 10:12
Это уже результат. В папке с программой должен лежать файл debug.txt. По нему я постараюсь понять, где ошибка.

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

AmoRaller
10.04.2013, 19:42
Вчера мучил довольно долго, поэтому файл получился довольно объёмный.
Если надо сделать что-то конкретное - пиши. Пришлю новый файл.

Еще файл с настройками - settings.xml. А вообще не думал, что такое случится. Я пока момент вылетания ошибки на этом месте не продумал. По ходу у тебя
1) очень быстрая камера
2) достаточно медленная запись на жесткий диск.
Если интересно: проблема в том, что я для плавности видео провожу буферизацию кадров. То есть каждый новый кадр добавляю в список, и через равные промежутки времени забираю из списка в файл. Память кончается, когда не удается очень быстро писать в файл. А, возможно еще у тебя битрейт файла низкий или длина файла маленькая. Всё это мои ошибки - принял к сведению.

Andy_ro
11.04.2013, 12:22
Еще файл с настройками - settings.xml. А вообще не думал, что такое случится. Я пока момент вылетания ошибки на этом месте не продумал. По ходу у тебя
1) очень быстрая камера
2) достаточно медленная запись на жесткий диск.
Если интересно: проблема в том, что я для плавности видео провожу буферизацию кадров. То есть каждый новый кадр добавляю в список, и через равные промежутки времени забираю из списка в файл. Память кончается, когда не удается очень быстро писать в файл. А, возможно еще у тебя битрейт файла низкий или длина файла маленькая. Всё это мои ошибки - принял к сведению.

Пожалуйста.

AmoRaller
12.04.2013, 01:21
Пожалуйста.

Странно. Буду искать недочеты. Спасибо.

Andy_ro
24.04.2013, 13:00
Странно. Буду искать недочеты. Спасибо.

Ну, и ...?
Чего-то ты пропал.

AmoRaller
24.04.2013, 19:23
Ну, и ...?
Чего-то ты пропал.

Ну да, видимо не судьба дописать. Времени не особо много, да и идей нет.

Andy_ro
25.04.2013, 10:06
Ну да, видимо не судьба дописать. Времени не особо много, да и идей нет.

Сожалею.:sad2:

ytltkmrj
11.06.2013, 13:49
А может ты можешь к CarDVR звук прикрутить. Очень полезно бы было?

AmoRaller
03.09.2013, 18:39
Ребят, задумка еще актуальна? Сейчас появилось много андроид устройств, которые по цене, как правило, дешевле сборки carpc, и приложений достаточно много.
Если CarPC еще существуют, я продолжу писать...

avic
03.09.2013, 21:40
актуально! многокамерная регистрация со стабильностью CarDVR актуальна!

b534xx
16.09.2013, 12:44
Очень актуальна!
Пока замечено:
1. В архиве из шапки отсутствует файл settings.xml из-за чего сначала прога вообще не запускалась, после добавления этого файла все пошло.
2. Изображение отражено по вертикали. (вернее не изображение, а надпись "Сигнала нет"
3. и ведь действительно нет сигнала!!! Все кодеки из предложенных прогой перепробовал.
Камера от видеонаблюдения, с выходом на BNC, потом переходник на тюльпан и через EasyCap ВС60 (Somagic) в комп. На компе Win7 x64. i5 2500K, 4Gb DDR3 1600.
В родной программе от Изикепа картинка есть.
Куда копать?

TooX13
23.01.2016, 21:04
И я тоже испробовал эту программу. Да труд не мал соглашусь. Пытал ее вебкой iSlim 1300. ну это не самоважно. Само важно то что хотелось бы, чтобы программа то как говорится всетаки создавала слой на видео с координатами ГПС скорость если возможно ну и время эт самое важное. Ну а о записи трека я не смею думать. Конечно же прошу не настаиваю дело собсно каждого. Кинул оба архива в одну папку ну и не заметил разницы до и после того как сливал оба архива в едино. ну да и еще не под палец программа. Как тобы интерфейс то поинтересней по краше я бы так сказал. Всетаки программа будет использоваться на сенсорных мониторах а да и чуть не забыл ФуллСкрин бы еще.

deosxf
02.02.2016, 17:45
http://prntscr.com/9y1yrn
"Прекращена работа программы"

Потробности проблемы

Описание:
Stopped working

Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: twocamwpf.exe
Сигнатура проблемы 02: 1.0.0.0
Сигнатура проблемы 03: 513500e1
Сигнатура проблемы 04: PresentationFramework
Сигнатура проблемы 05: 3.0.0.0
Сигнатура проблемы 06: 4ca2e335
Сигнатура проблемы 07: 625d
Сигнатура проблемы 08: e1
Сигнатура проблемы 09: System.Windows.Markup.XamlParse
Версия ОС: 6.1.7601.2.1.0.256.48
Код языка: 1049

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt

Дебуг:
-> Program..cctor() : Запуск программы
-> ClassSettings.LoadSettings() : Загрузка настроек
-> ClassSettings.LoadSettings() : Ошибка загрузки параметров в главной процедуре
-> ClassSettings.LoadSettings() : Файл "D:\Загрузки\AmoDVR\AmoDVR\settings.xml" не найден.
-> VideoDeviceWatcher.ReloadCamList() : Получение списка камер
-> VideoDevice.GetInfo() : Получение списка устройств
-> VideoDevice.GetInfo() : Найдено 2 устройств
-> VideoDevice.set_MonikerString() : Добавление новго устройства
-> VideoDevice.set_MonikerString() : Создаем устройство
-> VideoDevice.set_MonikerString() : Применяем настрйоки
-> VideoDevice.StopDevice() : Остановить устройство
-> VideoDevice.StartDevice() : Запустить устройство
-> VideoDevice.GetInfo() : Получение списка устройств
-> VideoDevice.GetInfo() : Найдено 2 устройств
-> VideoDevice..ctor() : Определили имя устройства HP TrueVision HD

-> VideoDeviceWatcher..ctor() : Наблюдение за камерой HP TrueVision HD

-> VideoDevice.set_MonikerString() : Добавление новго устройства
-> VideoDevice.set_MonikerString() : Создаем устройство
-> VideoDevice.set_MonikerString() : Применяем настрйоки
-> VideoDevice.StopDevice() : Остановить устройство
-> VideoDevice.StartDevice() : Запустить устройство
-> VideoDevice.GetInfo() : Получение списка устройств
-> VideoDevice.GetInfo() : Найдено 2 устройств
-> VideoDevice..ctor() : Определили имя устройства PS3Eye Camera
-> VideoDeviceWatcher..ctor() : Наблюдение за камерой PS3Eye Camera

Виндовс 7 64-бит

deosxf
02.02.2016, 22:43
Проблема решилась сама собой!