PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ > Дополнительный софт > "Wanted" software

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2008, 13:52   #11
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

Цитата:
Сообщение от jabbacat Посмотреть сообщение
Хочется обязательно иметь аппаратную горячую кнопку
Насколько я понимаю, то, что ты хочешь, на раз делается при помощи autohotkey. В ней создать хоткей - 5 символов, отправить WM_CopyData в CamGrabber - вызвать функцию

Код:
Send_WM_COPYDATA( ParameterToSent, TargetTC ) ; функция высылки пользовательской команды 
{
    ; В качестве параметров функция принимает имя команды и целевое окно ТС
    VarSetCapacity( CopyDataStruct, 12 ) ; устанавливаем размер высылаемой структуры данных
    InsertInteger( 1, CopyDataStruct ) ; вставляем в структуру то, что требует РР для исполнения команд
    InsertInteger( StrLen( ParameterToSent ), CopyDataStruct, 4 ) ; добавляем собственно команду (+ символ конца строки)
    InsertInteger( &ParameterToSent, CopyDataStruct, 8 ) ; добавляем указатель на собственно команду
    SendMessage, 0x4A,, &CopyDataStruct,, %TargetTC% ; шлём команду , обязательно Send, а не Post (0x4A = WM_COPYDATA)
    Return, ErrorLevel ; выходим из функции и возвращаем ответ SendMessage'а
}
Пример вызова этой же функции для переключения трека в RoadRunner
Send_WM_COPYDATA("Next", "RoadRunner" ) ; шлём пользовательскую команду РР
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588
SBorovkov вне форума   Ответить с цитированием
Старый 15.12.2008, 09:42   #12
W962
Новый Пользователь
 
Регистрация: 12.12.2008
Возраст: 55
Город: Краснодар
Регион: 23, 93
Машина: 2008\lend Rover\Freelander 2
Сообщений: 4
W962 is on a distinguished road
По умолчанию

Привет Wanted. Спасибо за программу лучше в инете нет. Пользуюсь 3 месяца глюков не наблюдал. Но вопрос:
У меня стоит две камеры QuickCam® Pro for Notebooks. В этих камерах куча автоматических функций типа система автофокусировки, система автоматического определения освещенности, FaceTracking. Как выяснилось в процессе эксплуатации, все автоматические настройки не нужны. Более того, при съемки в движении из за них смазывается изображение, особенно ночью. В настройках видеокамеры снимаю все автоматические подстройки. При перезагрузки все возвращается. Все настройки становятся как было по умолчанию

--------------
Привет. Пока побежден только FaceTracking!

Последний раз редактировалось Wanted; 06.04.2009 в 16:26.
W962 вне форума   Ответить с цитированием
Старый 13.01.2009, 15:40   #13
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

По поводу записи на флешку во избежании потери данных при аварии (ударе) и прочего:
Есть предложение сделать модуль, который умеет в реалтайме читать из файла, в который пишется поток видео и переписывать поток видео с жесткого диска на флешку. Смысл в том, что на если на флешку писать файл обычным образом, таким же как ты пишешь сейчас, то очень часто переписывается ФАТ (MFT), плюс обновляется размер файла. Это очень быстро съест количество перезаписей на MLС флешке (их всего порядка 10000, а пишется блок размером в 64К даже для изменения одного байта) и флешка полетит в помойку. Я же предлагаю создавать несколько большых файлов, заведомо больших, чем будет записан видео файл, а затем менять только их содержимое и название. Надо поэксперементировать, но почти уверен, что так получится сделать.

У меня как чуть время освободится, попробую это дело реализовать дома, там есть спорные вопросы по поводу дописывания видео файла. Думаю, что с mpg все должно получиться, а с avi могут позникнуть сложности.
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588
SBorovkov вне форума   Ответить с цитированием
Старый 15.01.2009, 02:20   #14
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

Попробовал только что с последовательной дозаписью mpg файла. Сделал так: camgrabber пишет mpg файл, я слежу за этим файлом и раз в секунду все, что в него добавилось добавляю к своему файлу. То есть если начало изменится, то я об этом не узнаю и в своем файле начало не изменю. Я слежу за размером файла и дописываю к себе только то, что добавил camgrabber.
Итог - mpg прекрасно играется!
Продолжил изделательства - в конец такого mpg файла дописал какой-то exe файл большого размера (порядка 100 мег) в качестве мусора. В результате плееры считают, что файл содержит не 6 минут видео, а 7 с лишним, но когда доходят до конца реальных видео данных и приступают к проигрыванию мусора, просто прекращают воспроизведение.

То есть идея про дозаписывание mpg на флешку имеет очень неплохие шансы на существование.

С avi сложнее - у них в начале файла содержится заголовок размером в 64к, без которого файл просто не играется, этот заголовок надо формировать, при создании файла он забит нулями...
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588
SBorovkov вне форума   Ответить с цитированием
Старый 15.01.2009, 03:12   #15
Wanted
Hello world!
 
Аватар для Wanted
 
Регистрация: 28.01.2007
Город: Moscow
Регион: 77, 97, 99, 177
Машина: BMW-320td-2001 BMW-E92-325XI
Сообщений: 1,209
Wanted will become famous soon enoughWanted will become famous soon enough
По умолчанию

Цитата:
Сообщение от SBorovkov Посмотреть сообщение
Попробовал только что с последовательной дозаписью mpg файла. Сделал так: camgrabber пишет mpg файл, я слежу за этим файлом и раз в секунду все, что в него добавилось добавляю к своему файлу. То есть если начало изменится, то я об этом не узнаю и в своем файле начало не изменю. Я слежу за размером файла и дописываю к себе только то, что добавил camgrabber.
Итог - mpg прекрасно играется!
Продолжил изделательства - в конец такого mpg файла дописал какой-то exe файл большого размера (порядка 100 мег) в качестве мусора. В результате плееры считают, что файл содержит не 6 минут видео, а 7 с лишним, но когда доходят до конца реальных видео данных и приступают к проигрыванию мусора, просто прекращают воспроизведение.

То есть идея про дозаписывание mpg на флешку имеет очень неплохие шансы на существование.

С avi сложнее - у них в начале файла содержится заголовок размером в 64к, без которого файл просто не играется, этот заголовок надо формировать, при создании файла он забит нулями...
Здесь ты полностью прав за исключением размера заголовка, его размер ожет варьроваться от кол-ва внутренних потоков и контейнеров и даже от выбора кодека. Блок RIFF + блок movi + блок indx. Вот и весь avi.
Эту проблему можно решить проще.
При запуске программы сохраняем кусок видео с каждого устройства. Дергаем оттуда заголовок (он от вреени не меняется и всегда постоянен).
Пишем его себе в начало файла этого большого. Потом по твоему методу мониторим файл (хотя не самый лучший метод, через банальную проверку потока проще) но это уже мне проще в коде. И все, в случае если комп сдох - есть заголовок + блок movi, а индексы перестроить даже BSPlayer ожет, не говоря уже о VirtualDUB.

В целом мысль твоя здравая, думаю замутим!!!!
__________________
Мой mediaBMW

Прогресс постройки: [##########] 100%
Прогресс установки: [##########] 100%
Прогресс настройки: [#########-] 90% Почти до идеала

Видеонаблюдение в машине? ДА!
Wanted вне форума   Ответить с цитированием
Старый 15.01.2009, 19:16   #16
Alex_E
Пользователь
 
Аватар для Alex_E
 
Регистрация: 17.01.2008
Возраст: 56
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2005\Peugeot\407
Сообщений: 73
Alex_E is on a distinguished road
По умолчанию

Вот такие пожелания (3.0demo rc7):
1. При нажатии на "сохранить" - выводить список с последними записями (возможно даже с превьюшками первых кадров), чтобы поставить галки у необходимых фрагментов.
2. "Face Tracking" блокируется только начиная с записи второго куска и далее (после переинициализации камеры). Если подробнее, запускаю программу - следит за лицом. Посте того как на камере моргнет индикатор и далее - картинка замирает, как и положено, выключив зум.
3. Для облегчения подбора кодека в настройках сделать кнопку "Тестовая запись", которая сразу пишет определенный временной кусок с выбранным кодеком, присвоив ему имя этого кодека. Тогда в результате получим набор фрагментов, по которым можно будет оценить выбранную настройку. Все-таки, подбор кодека, на мой взгляд - это самая трудная часть настроек, с которой всем пришлось столкнуться. Может другой какой вариант бенчмарка для облегчения перебора кодеков, хотя, предложенный выше, мне кажется вполне наглядным...

Последний раз редактировалось Alex_E; 16.01.2009 в 15:44.
Alex_E вне форума   Ответить с цитированием
Старый 12.02.2009, 04:07   #17
aptm
Гуру
 
Аватар для aptm
 
Регистрация: 04.11.2005
Город: Москва
Регион: 77, 97, 99, 177
Машина: VW Passat Variant
Сообщений: 1,425
aptm is a splendid one to beholdaptm is a splendid one to beholdaptm is a splendid one to beholdaptm is a splendid one to beholdaptm is a splendid one to beholdaptm is a splendid one to beholdaptm is a splendid one to behold
По умолчанию

Имхо, но мне кажется, что CG все же долженбыть из серии "поставил и забыл", впрочем сейчас так почти и использую, но пока в полглаза еще контролирую, больше из за штекера питания камеры, иногда от наших колдобин контакт отходит, лампа на камере горит, а картинка синяя. - Вот тут бы не помешал бы контроль видеопотока.

Что пока не хватает:
Запись звука - причем, скорее только по "кнопке", а не постоянно.
Данные с GPS, координаты, скорость - хорошо, но не так уж и обязательно. Скорость и по картинке при необходимости вычисляется.
Коректная работа с Logitech - самого интересовало, но прихожу к выводу, что не так уж и важно, вриант с нормальной камерами все же правильнее.

А вариант с "Потоком" и иже с ними, может и хорошо, только оборудование надо немножко из другой "весовой" категории.
Хотя если Паша сделает поддержку плагинов...
aptm вне форума   Ответить с цитированием
Старый 12.02.2009, 22:00   #18
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

Цитата:
Сообщение от jabbacat Посмотреть сообщение
Про горячую кнопку - очень надо, чтоб такой функционал был в самой программе. Не все пользователи - программисты, чтоб самому код писать.
Проверить не могу, но должно работь:
Autohotkey код.
При нажатии кнопки s записывает видео из темпа.
Код:
#Singleinstance force

s::Send_WM_COPYDATA("SAVE","CamGrabber")
return


Send_WM_COPYDATA( ParameterToSent, TargetTC ) ; функция высылки  пользовательской команды em_xyz
{
    ; В качестве параметров функция принимает имя команды em_xyz и целевое окно ТС
    VarSetCapacity( CopyDataStruct, 12 ) ; устанавливаем размер высылаемой структуры данных
;    InsertInteger( Asc( "E" ) + 256 * Asc( "M" ), CopyDataStruct ) ; вставляем в структуру то, что требует  для исполнения команд
    InsertInteger( 1, CopyDataStruct ) ; вставляем в структуру то, что требует ТС для исполнения команд
    InsertInteger( StrLen( ParameterToSent ), CopyDataStruct, 4 ) ; добавляем собственно команду (+ символ конца строки)
    InsertInteger( &ParameterToSent, CopyDataStruct, 8 ) ; добавляем указатель на собственно команду
    SendMessage, 0x4A,, &CopyDataStruct,, %TargetTC% ; шлём команду, обязательно Send, а не Post (0x4A = WM_COPYDATA)
    Return, ErrorLevel ; выходим из функции и возвращаем ответ SendMessage'а
}
;-----------------------------------------------------------------------------
InsertInteger( pInteger, ByRef pDest, pOffset = 0, pSize = 4 ) ; функция заполнения структуры данными
{
    Loop, 4 ; копируем каждый байт целого числа в структуру как сырые двоичные данные
    {
        DllCall("RtlFillMemory" ; заполняем структуру нашими данными
        , "UInt" , &pDest + pOffset + A_Index-1 ; указатель на адрес, с которого начинается заполнение
        , "UInt" , 1 ; размер заполняемой структуры в байтах
        , "UChar", pInteger >> 8*( A_Index-1 ) & 0xFF) ; содержимое заполняемого байта
    }
}
Качаешь autohotkey, в текстовом редакторе создаешь файл (лучше с расширением ahk) и кидаешь туда все вышенаписанное. Записываешь. Даблкликаешь, убеждаешься, что все работает, дальше прилагающейся утилитой компилишь этот файл в exe. Запускаешь exe, удивляешься, что Autohotkey не жрет процессор и занимает мало памяти. Ставишь получившийся файл в автозагрузку...

Я так понимаю, что Autohotkey и так работает на очень большом количестве авто-компов, является просто мега-настраиваемой программой. У многих именно эта прога позволяет управлять компом с подрулевого джойстика.
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588

Последний раз редактировалось Wanted; 16.02.2009 в 22:03.
SBorovkov вне форума   Ответить с цитированием
Старый 16.02.2009, 18:04   #19
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

2 Wanted:

Предлагаю в комплект установки КамГраббера включить вышеуказанный AutoHotKey скрипт (ну мож чуток причесанный) для управления камграббером.
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588
SBorovkov вне форума   Ответить с цитированием
Старый 09.03.2009, 23:51   #20
Wanted
Hello world!
 
Аватар для Wanted
 
Регистрация: 28.01.2007
Город: Moscow
Регион: 77, 97, 99, 177
Машина: BMW-320td-2001 BMW-E92-325XI
Сообщений: 1,209
Wanted will become famous soon enoughWanted will become famous soon enough
По умолчанию

По поводу двоения субтитров внизу:

Собака порылась в первом блоке субтитров:

1
00:00:00,001 --> 00:05:11,480
Wanted CamGrabber 3.1demo 20:25:53 09.03.2009
56,1km/h

2
00:05:11,481 --> 00:00:00,480
Wanted CamGrabber 3.1demo 20:25:54 09.03.2009
56,4km/h
...........
__________________
Мой mediaBMW

Прогресс постройки: [##########] 100%
Прогресс установки: [##########] 100%
Прогресс настройки: [#########-] 90% Почти до идеала

Видеонаблюдение в машине? ДА!
Wanted вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 13:20.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot