До кучи еще запись с веб камеры. Функция просто ищет камеру и записывает видео в файл. Типа болванка - кто хочет может усовершенствовать под свои нужды.
Спасибо. Собрал, но камеры нет у меня под Win. Он тоже ведет запись 10 мин? Я не нашел где это менять. Ну просто кричит проект об перестройке под тип плагинного движка ))
Интересно video2.inc - тот же что и для mp4 был? D3D9.inc и D3D9.lib не скинешь? Собрать хочется )) Может DirectX даст больший fps на некоторых картах. Или в чем преимущество?
Возможно - он работает быстрей. Вот работающий вариант уже с неперевернутым изображением. --- Сообщение объединено, 30 май 2019 --- забыл
Спасибо. Больше оперативки жрет в 2 раза. Или ты сам в коде памяти больше выделил, или я ошибаюсь. Может уже в полном проекте можно будет выбирать OpenGL или DirectX хотя лично я по своим старым игрухам разницы не вижу Может как вариант, для разных конфигураций, значение имеет.
скорее всего и-за этого - размер кадра сделал больше mov (CAPT_DATA ptr [ebx]).InWidh, eax ; shr eax, 1 sub eax, 10 mov (CAPT_DATA ptr [ebx]).OutWidh, eax
Агась Шутка конечно, но в архиве еще вариант с захватом экрана при помощи OpenGL - прикалываться - так прикалываться
Спасибо большое. Прикольно ))) Вот бы еще понимать разницу. Получается у тебя куча "шишек" но "елки" нету, куда-бы их навесить. Удачная аналогия? Вот был бы движек и навешивались бы плагины. Причем двиг напишешь раз , потом что хочешь на него навешивай. ))
Мне кажется что идея с плагинной архитектурой в этом случае не подходит. Я включу все функции в прогу и буду их из меню вызывать - не хочешь не используй - зачем плагины? Как коммерческий трюк это можно сделать, включать-выключать встроенные функции и назвать это подключением плагинов. Но, как инструмент для упрощенного расширения функциональности, тут это не применимо. И как ты себе представляешь плагин в клиент - серверной архитектуре ? Тебе нужно писать код и для сервера и для клиента - и как по твоему это должно выглядеть?
Ну я вижу так. Общая структура И второе - как реализовать Связку EXE и DLL ? Ну, например, "EXE-двиг" по очереди грузит " dll-плагины" из заданной папки. Dll отгрузилпсь и шлет сообщение "Двигу" Тут надо подумать. Какие еще есть рабочие варианты "Плагинных систем" ?
Мне в этой истории не нравиться то что будет много файлов у клиента и у сервера - не то что сейчас - всего два. Как всю эту хрень сделать я знаю. Тотал имеет плагинную архитектуру на .dll c калбаками - я делал для него плагин, делал плагины на СОМ для ворда и эхплорера.
не а чего смущаться. Например какую-то либы нужно будет покриптовать из-за паранои AV Взял ввел еще один плагин - он ее и покриптовал. Для каждого плагина ввести сертификаты связанные с Ядром, что-бы не передавали плагины бесплатно. Но это уже подробности. В конце концов все плагины можно в ресурсы серверу запихать. вот и будет тебе один файл как ты любишь А без плагинов - каждый раз переписывать весь код, ну не серьезно же? )))
Разрезал сервер на плагины. Смотри и радуйся Но по моему гемора меньше не будет и выгоды не прибавиться в общем меня это не вдохновляет на подвиги
Класс! Ты что всю ночь сидел? Ну теперь наращивай и наращивай! Ты смотрю как в тотал-командере сделал? ... это просто ты не выспался. А свежим взглядом посмотришь и поймешь насколько это user friendly теперь )) ЗЫ вот, к примеру, ситуация - твою функцию RemoteDesktop() палит AV как подозрительный Вопрос - что бы ты делал в варианте "моноблока"? А теперь же "ясный глаз" - пере собрал, или переупаковал plgDesktop.dll и вперед Или я не прав? А вдруг проект выродится вообще в поделку с другой тематикой? Плагинов подбросил и порядок. Так же? Мне кажется немного с загрузкой плагинов нужно повозиться. Например так. Брать из папки все dll Код (C): int main() { Load_all_plugs_inDir("*.dll"); return 0; } /////////////////////////////////////////////////////////////// int Load_all_plugs_inDir(char* dirname) { WIN32_FIND_DATA file; HANDLE hFind = FindFirstFile(dirname,&file); int hasfiles = (hFind != INVALID_HANDLE_VALUE); while (hasfiles) { Load_plug(file.cFileName); hasfiles = FindNextFile(hFind, &file); } FindClose(hFind); return 0; } /////////////////////////////////////////////////////////////////// int Load_plug(char* filename) { // is it an one of my plugs? // ... // invoke LoadLibrary, addr szDeskPlg // mov hDeskPlg, eax // .if eax != 0 // invoke GetProcAddress, hDeskPlg, addr sxsetclb // Scall eax, offset g_calback // .endif return 0; }
Как мне представляется модель с плагинами все же делается для того чтобы сторонние разработчики могли расширять функциональность. Мне кажется что, скрываться от антивирусов легче когда ты в одном файле.