Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.81/43: Рейтинг темы: голосов - 43, средняя оценка - 4.81
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2

Камеры наблюдения

30.09.2011, 14:18. Показов 9240. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!

Ребята вот у моего друга ест камеры наблудение, хотим его установить в его офисе, к ниму палагается программа которую я должен написать, не можете подсказать куда мне капать, что мне нужно чтоб принять изображению со всех камер и записать их в AVI или влюбом видео формате?

Спасибо заранее
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2011, 14:18
Ответы с готовыми решениями:

Нужен софт для использования веб камеры в качестве камеры наблюдения
Здрасте, у меня следующий вопрос: имеется старая веб камера, хочу ее аккуратно прилепить над входной дверью, и подключить к неттопу, нужен...

Камеры видео-наблюдения
Здравствуйте. Уважаемые форумчане. Возник вопрос покупки системы видео наблюдения для торговой точки. Сейчас есть только IP-камера...

Установка камеры видео-наблюдения
Подскажите пожалуйста идеальное решение цена\ качество. Необходимо установить камеры в 2-х разных местах, назову их условно место №1 и...

28
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
30.09.2011, 15:11
Попробуй компонент TVideoGrabber(платный)
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
30.09.2011, 17:16
.. я когда-то пробовал с бесплатным компонентом TVideoCapture Егора Аверченкова. С ВЭБ-камеры видеозахват обеспечивал, и с AverPCImager тоже. Компонент на Паскале, но без проблем ставился на Билдер.
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
30.09.2011, 18:21
Лучший ответ Сообщение было отмечено как решение

Решение

блин, как бы вы жили без "кампанентав" ...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
  На форме:
  TButton *Button1;
  TButton *Button2;
  TButton *Button3;
  TButton *Button4;
  TImage *Image1;
  TBevel *Bevel1;
  TLabel *Label1;
*/
// ...
// ...
#include <vfw.h>    // добавить своими ручками
// ...
TForm1 *Form1;
HWND    hWndC;
// ...
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 // //прицепи камеру USB к PC
  hWndC = capCreateCaptureWindowA("Capture Window",WS_CHILD | WS_VISIBLE ,
    Image1->Left,Image1->Top,Image1->Width,Image1->Height,Form1->Handle,0);
   hWndC = capCreateCaptureWindowA("Capture Window",WS_CHILD | WS_VISIBLE ,
     Image1->Left,Image1->Top,Image1->Width,Image1->Height,Form1->Handle,0);
   if (hWndC != 0) {
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0);
    SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0);
    SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0);
    SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0);
    SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0);
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
// стор
  if (hWndC != 0) {
   SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0);
   hWndC = 0;
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  // грабим экран
  if (hWndC != 0)
    capFileSaveDIB(hWndC, "1.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  // уносим ноги
  Close();
}
8
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
30.09.2011, 23:50  [ТС]
LK,

Спасибо, код работает
А как записать ето всё в .avi или в люблм вмдео формате не знаите?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.10.2011, 00:13
любой видео файл - это набор картинок , сохраняй снимки экрана по таймеру, а потом по таймеру воспроизводи - вот и будет тебе кино. а другу - какая разница, как оно работает
1
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
01.10.2011, 00:17
сохранять кадры с камеры в бмп? интересно скок места потратится за сутки так ? извращенцы
2
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.10.2011, 00:49
Flyer, критиковать может всякий, ты код предложи , и , если ты не знал, террабайтные винчестеры уже довольно доступны по цене

да... к стати... почитай на досуге:
Глава 6 Работа с AVI-файлами ...

и это:
Ошибки линкера (создание AVI)
и это:
AVI example code for creating AVI files
2
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
01.10.2011, 03:23  [ТС]
LK,
Flyer,

Спасибо ребят, шас читаю ето всё
0
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
01.10.2011, 05:29  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
и это:
Ошибки линкера (создание AVI)
и это:
AVI example code for creating AVI files
Не работают в XE Они очен старые для 6.0 максимум...


Цитата Сообщение от LK Посмотреть сообщение
Глава 6 Работа с AVI-файлами ...
А ето делфи, вот собирался и делфи выучить, зачем же отоновился, не знаю делфи
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
03.10.2011, 01:49
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Programmer. Посмотреть сообщение
Они очен старые для 6.0 максимум...
А ето делфи...(
так предлагалось посмотреть сам принцип реализации, а не код для копипейста.
3
Now I Matrix
137 / 134 / 28
Регистрация: 01.03.2010
Сообщений: 223
03.10.2011, 10:27
Лучший ответ Сообщение было отмечено как решение

Решение

К коду LK можно ещё добавить:
C++
1
2
3
4
capFileSetCaptureFile(hWndC,"1.avi"); //имя файла для записи
capCaptureSequence(hWndC); //Начать запись
capCaptureAbort(hWndC); //Экстренная остановка записи
capCaptureStop(hWndC); //Остановка записи
И там ещё много чего (что делает - определяется по названию "функции"):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#define capSetCallbackOnError(hwnd, fpProc)        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_ERROR, 0, (LPARAM)(LPVOID)(fpProc)))
#define capSetCallbackOnStatus(hwnd, fpProc)       ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_STATUS, 0, (LPARAM)(LPVOID)(fpProc)))
#define capSetCallbackOnYield(hwnd, fpProc)        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_YIELD, 0, (LPARAM)(LPVOID)(fpProc)))
#define capSetCallbackOnFrame(hwnd, fpProc)        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_FRAME, 0, (LPARAM)(LPVOID)(fpProc)))
#define capSetCallbackOnVideoStream(hwnd, fpProc)  ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, (LPARAM)(LPVOID)(fpProc)))
#define capSetCallbackOnWaveStream(hwnd, fpProc)   ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_WAVESTREAM, 0, (LPARAM)(LPVOID)(fpProc)))
#define capSetCallbackOnCapControl(hwnd, fpProc)   ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_CAPCONTROL, 0, (LPARAM)(LPVOID)(fpProc)))
 
#define capSetUserData(hwnd, lUser)        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_USER_DATA, 0, (LPARAM)lUser))
#define capGetUserData(hwnd)               (AVICapSM(hwnd, WM_CAP_GET_USER_DATA, 0, 0))
 
#define capDriverConnect(hwnd, i)                  ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_CONNECT, (WPARAM)(i), 0L))
#define capDriverDisconnect(hwnd)                  ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_DISCONNECT, (WPARAM)0, 0L))
#define capDriverGetName(hwnd, szName, wSize)      ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_GET_NAME, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szName)))
#define capDriverGetVersion(hwnd, szVer, wSize)    ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_GET_VERSION, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szVer)))
#define capDriverGetCaps(hwnd, s, wSize)           ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_GET_CAPS, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPCAPDRIVERCAPS)(s)))
 
#define capFileSetCaptureFile(hwnd, szName)        ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SET_CAPTURE_FILE, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
#define capFileGetCaptureFile(hwnd, szName, wSize) ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_GET_CAPTURE_FILE, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szName)))
#define capFileAlloc(hwnd, dwSize)                 ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_ALLOCATE, 0, (LPARAM)(DWORD)(dwSize)))
#define capFileSaveAs(hwnd, szName)                ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SAVEAS, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
#define capFileSetInfoChunk(hwnd, lpInfoChunk)     ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SET_INFOCHUNK, (WPARAM)0, (LPARAM)(LPCAPINFOCHUNK)(lpInfoChunk)))
#define capFileSaveDIB(hwnd, szName)               ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SAVEDIB, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
 
#define capEditCopy(hwnd)                          ((BOOL)AVICapSM(hwnd, WM_CAP_EDIT_COPY, 0, 0L))
 
#define capSetAudioFormat(hwnd, s, wSize)          ((BOOL)AVICapSM(hwnd, WM_CAP_SET_AUDIOFORMAT, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPWAVEFORMATEX)(s)))
#define capGetAudioFormat(hwnd, s, wSize)          ((DWORD)AVICapSM(hwnd, WM_CAP_GET_AUDIOFORMAT, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPWAVEFORMATEX)(s)))
#define capGetAudioFormatSize(hwnd)                ((DWORD)AVICapSM(hwnd, WM_CAP_GET_AUDIOFORMAT, (WPARAM)0, (LPARAM)0L))
 
#define capDlgVideoFormat(hwnd)                    ((BOOL)AVICapSM(hwnd, WM_CAP_DLG_VIDEOFORMAT, 0, 0L))
#define capDlgVideoSource(hwnd)                    ((BOOL)AVICapSM(hwnd, WM_CAP_DLG_VIDEOSOURCE, 0, 0L))
#define capDlgVideoDisplay(hwnd)                   ((BOOL)AVICapSM(hwnd, WM_CAP_DLG_VIDEODISPLAY, 0, 0L))
#define capDlgVideoCompression(hwnd)               ((BOOL)AVICapSM(hwnd, WM_CAP_DLG_VIDEOCOMPRESSION, 0, 0L))
 
#define capGetVideoFormat(hwnd, s, wSize)          ((DWORD)AVICapSM(hwnd, WM_CAP_GET_VIDEOFORMAT, (WPARAM)(wSize), (LPARAM)(LPVOID)(s)))
#define capGetVideoFormatSize(hwnd)            ((DWORD)AVICapSM(hwnd, WM_CAP_GET_VIDEOFORMAT, 0, 0L))
#define capSetVideoFormat(hwnd, s, wSize)          ((BOOL)AVICapSM(hwnd, WM_CAP_SET_VIDEOFORMAT, (WPARAM)(wSize), (LPARAM)(LPVOID)(s)))
 
#define capPreview(hwnd, f)                        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_PREVIEW, (WPARAM)(BOOL)(f), 0L))
#define capPreviewRate(hwnd, wMS)                  ((BOOL)AVICapSM(hwnd, WM_CAP_SET_PREVIEWRATE, (WPARAM)(wMS), 0))
#define capOverlay(hwnd, f)                        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_OVERLAY, (WPARAM)(BOOL)(f), 0L))
#define capPreviewScale(hwnd, f)                   ((BOOL)AVICapSM(hwnd, WM_CAP_SET_SCALE, (WPARAM)(BOOL)f, 0L))
#define capGetStatus(hwnd, s, wSize)               ((BOOL)AVICapSM(hwnd, WM_CAP_GET_STATUS, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPCAPSTATUS)(s)))
#define capSetScrollPos(hwnd, lpP)                 ((BOOL)AVICapSM(hwnd, WM_CAP_SET_SCROLL, (WPARAM)0, (LPARAM)(LPPOINT)(lpP)))
 
#define capGrabFrame(hwnd)                         ((BOOL)AVICapSM(hwnd, WM_CAP_GRAB_FRAME, (WPARAM)0, (LPARAM)0L))
#define capGrabFrameNoStop(hwnd)                   ((BOOL)AVICapSM(hwnd, WM_CAP_GRAB_FRAME_NOSTOP, (WPARAM)0, (LPARAM)0L))
 
#define capCaptureSequence(hwnd)                   ((BOOL)AVICapSM(hwnd, WM_CAP_SEQUENCE, (WPARAM)0, (LPARAM)0L))
#define capCaptureSequenceNoFile(hwnd)             ((BOOL)AVICapSM(hwnd, WM_CAP_SEQUENCE_NOFILE, (WPARAM)0, (LPARAM)0L))
#define capCaptureStop(hwnd)                       ((BOOL)AVICapSM(hwnd, WM_CAP_STOP, (WPARAM)0, (LPARAM)0L))
#define capCaptureAbort(hwnd)                      ((BOOL)AVICapSM(hwnd, WM_CAP_ABORT, (WPARAM)0, (LPARAM)0L))
 
#define capCaptureSingleFrameOpen(hwnd)            ((BOOL)AVICapSM(hwnd, WM_CAP_SINGLE_FRAME_OPEN, (WPARAM)0, (LPARAM)0L))
#define capCaptureSingleFrameClose(hwnd)           ((BOOL)AVICapSM(hwnd, WM_CAP_SINGLE_FRAME_CLOSE, (WPARAM)0, (LPARAM)0L))
#define capCaptureSingleFrame(hwnd)                ((BOOL)AVICapSM(hwnd, WM_CAP_SINGLE_FRAME, (WPARAM)0, (LPARAM)0L))
 
#define capCaptureGetSetup(hwnd, s, wSize)         ((BOOL)AVICapSM(hwnd, WM_CAP_GET_SEQUENCE_SETUP, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPCAPTUREPARMS)(s)))
#define capCaptureSetSetup(hwnd, s, wSize)         ((BOOL)AVICapSM(hwnd, WM_CAP_SET_SEQUENCE_SETUP, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPCAPTUREPARMS)(s)))
 
#define capSetMCIDeviceName(hwnd, szName)          ((BOOL)AVICapSM(hwnd, WM_CAP_SET_MCI_DEVICE, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
#define capGetMCIDeviceName(hwnd, szName, wSize)   ((BOOL)AVICapSM(hwnd, WM_CAP_GET_MCI_DEVICE, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szName)))
 
#define capPaletteOpen(hwnd, szName)               ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_OPEN, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
#define capPaletteSave(hwnd, szName)               ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_SAVE, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
#define capPalettePaste(hwnd)                      ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_PASTE, (WPARAM) 0, (LPARAM)0L))
#define capPaletteAuto(hwnd, iFrames, iColors)     ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_AUTOCREATE, (WPARAM)(iFrames), (LPARAM)(DWORD)(iColors)))
#define capPaletteManual(hwnd, fGrab, iColors)     ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_MANUALCREATE, (WPARAM)(fGrab), (LPARAM)(DWORD)(iColors)))
Добавлено через 4 минуты
+ нужно
C++
1
2
3
4
capFileSetCaptureFile(hWndC,"1.avi"); //имя файла для записи
capCaptureSequence(hWndC); //Начать запись
capCaptureAbort(hWndC); //Экстренная остановка записи
capCaptureStop(hWndC); //Остановка записи
Вынести в поток, так как если это делать в главном потоке то при записи форма будет занята, а любое обращение к ней остановит запись, и сохранить в файл!
4
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
03.10.2011, 16:01  [ТС]
Matrica,
LK,
Спасибо обоем, шас заимус етим
0
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
03.10.2011, 17:08  [ТС]
Matrica,
Создал поток но опять зависает и в файле тоже не записивается
0
Now I Matrix
137 / 134 / 28
Регистрация: 01.03.2010
Сообщений: 223
03.10.2011, 17:49
Ну уж тут я не знаю...я направленно этой проблемой не занимался, быстро открыл билдер, посмотрел, увидел, скомпилил, сработало, кинул, выключил, напрочь забыл. Разбирайтесь)
0
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
03.10.2011, 17:50  [ТС]
Matrica,

вот так создаваю поток
C++
1
2
3
4
5
6
7
8
9
10
11
DWORD __stdcall ThreadFunc(void *p)
{
    capFileSetCaptureFile(hWndC, "D:\\1.avi");
    capCaptureSequence(hWndC);
}
void __fastcall TForm8::Button5Click(TObject *Sender)
{
  DWORD ThreadID;
  HANDLE hThread = CreateThread(NULL,0,ThreadFunc,NULL,0,&ThreadID);
 
}
0
Now I Matrix
137 / 134 / 28
Регистрация: 01.03.2010
Сообщений: 223
03.10.2011, 17:59
Не знаю...не разбираюсь я с камерами вообще.
Видать окно камеры надо подругому создавать, или ещё что туда посылать...
Незнаю(
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
03.10.2011, 23:48
Цитата Сообщение от Programmer. Посмотреть сообщение
Привет всем!

Ребята вот у моего друга ест камеры наблудение, хотим его установить в его офисе, к ниму палагается программа которую я должен написать, не можете подсказать куда мне капать, что мне нужно чтоб принять изображению со всех камер и записать их в AVI или влюбом видео формате?

Спасибо заранее
А в MP4 320 x 240 пикселей не лучше будет? Можно будет на телефоне посмотреть запись...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.10.2011, 00:06
Samrisbe, ты одно время с камерой, кажись, маялся - что получилось ?
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
04.10.2011, 00:32
Цитата Сообщение от LK Посмотреть сообщение
Samrisbe, ты одно время с камерой, кажись, маялся - что получилось ?
Получилось хуже чем ты можеш себе представить, я даже зеркальность не смог отладить, проект отложен в ящик до лучших времен.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2011, 00:32
Помогаю со студенческими работами здесь

Питание для камеры наблюдения
Здравствуйте. Имеется камера наблюдения Smartec STC-3680/3 ULTIMATE. Вопрос в питании, для этой камеры у меня нет адаптера. По...

Распознавание номеров авто из камеры наблюдения
Здравствуйте. Приказали сделать программу для регистрации номеров авто для парковки. Ранее не имел опыт с такими работами. Понимая что...

Как отображать изображение с камеры наблюдения на web-странице?
Доброго времени суток, Уважаемы Форумчане! Снова я. Снова с вопросами. Снова за Вашей помощью. Подскажите, пожалуйста, как можно...

Организация сети между ноутбуком и аппаратом записывающим видео с камеры наблюдения.
Аппарат 4ch H.164 DVR имеется LAN. При подключении на прямую через витую пару к ноутбуку сеть нераспознается на ноуте. Есть ли какие нибудь...

Обработка видео с камеры видео наблюдения (для экспертов)
Обработка видео с камеры видео наблюдения (для экспертов) Имеются несколько каналов видео с камер видео наблюдения и за полследние время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru