Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Проекты > Проекты на PureBasic

Ответ
 
Опции темы
Старый 06.03.2010, 14:20   #1
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Сервис, работающий с вебками.

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


Вложение 9420 запустите Server потом Client, нужны только любые логин и пароль.



Проблема в том, что время от времени пропадает кусок передаваемого файла(передача ведётся покадрово через sendnetworkfile) и торможение на несколько секунд. Может кто сталкивался с подобным и может предложить решение?
__________________
...

Последний раз редактировалось Slepetc, 11.03.2010 в 18:06.
(Offline)
 
Ответить с цитированием
Старый 07.03.2010, 11:17   #2
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: Сервис, работающий с вебками.

не смотрелся с утра в зеркало, и когда увидел свою рожу в маниторе, чуть с стула не упал
молоток!
слуш, не подскажешь, какими средствами захватывать изображение с вебки?
доки какие что ли почитать дай )))
а то есть у меня тут одна дикая идея... займусь как нибудь на досуге)
(Offline)
 
Ответить с цитированием
Старый 07.03.2010, 20:35   #3
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Сервис, работающий с вебками.

Это самый простенький код для снятия картинки с вебки:
If OpenLibrary(0, "avicap32.dll") 
 *capAddress = GetFunction(0, "capCreateCaptureWindowA") 
  hWndC = CallFunctionFast(*capAddress, "", #WS_CHILD, 10, 10, 6, 4, WindowID(0),1) 
  SendMessage_(hWndC, #WM_CAP_DRIVER_CONNECT, 0, 0)
  SendMessage_(hWndC, #WM_CAP_DLG_VIDEOSOURCE, 0, 0)
  SendMessage_(hWndC, #WM_CAP_DLG_VIDEOFORMAT, 0, 0)

  SendMessage_(hWndC, #WM_CAP_GRAB_FRAME, 0, 0) 
  SendMessage_(hWndC, #WM_CAP_FILE_SAVEDIB, 0, *куда сохранить файл с вебки*)

  SendMessage_(hWndC, #WM_CAP_STOP, 0, 0) 
  SendMessage_(hWndC, #WM_CAP_DRIVER_DISCONNECT, 0, 0) 
  DestroyWindow_(hWndC) 
  СloseLibrary(0)
Endif
А это более увесистый(не мой):

; PB IRC Chat
; Author: DarkDragon (updated for PB 4.00 by Andre)
; Date: 22. May 2005
; OS: Windows
; Demo: No

#WM_CAP_START = #WM_USER

#WM_CAP_SET_CALLBACK_ERROR = #WM_CAP_START + 2
#WM_CAP_SET_CALLBACK_STATUS = #WM_CAP_START + 3
#WM_CAP_SET_CALLBACK_YIELD = #WM_CAP_START + 4
#WM_CAP_SET_CALLBACK_FRAME = #WM_CAP_START + 5
#WM_CAP_SET_CALLBACK_VIDEOSTREAM = #WM_CAP_START + 6
#WM_CAP_SET_CALLBACK_WAVESTREAM = #WM_CAP_START + 7

#WM_CAP_DRIVER_CONNECT        =  #WM_USER + 10
#WM_CAP_DRIVER_DISCONNECT     =  #WM_USER + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14

#WM_CAP_DLG_VIDEOFORMAT = #WM_CAP_START + 41
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#WM_CAP_DLG_VIDEODISPLAY = #WM_CAP_START + 43

#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_GET_STATUS = #WM_CAP_START + 54

#WM_CAP_FILE_SAVEDIB          =  #WM_USER + 25
#WM_CAP_SET_SCALE             =  #WM_USER + 53

#WM_CAP_SET_CALLBACK_CAPCONTROL = #WM_CAP_START + 85

Structure VIDEOHDR
  lpData.l
  dwBufferLength.l
  dwBytesUsed.l
  dwTimeCaptured.l
  dwUser.l
  dwFlags.l
  dwReserved.l[3]
EndStructure

Procedure FrameCallback(lwnd.l, *lpVHdr.VIDEOHDR)
  For k=0 To *lpVHdr\dwBufferLength-1
    Color = PeekB(*lpVHdr\lpData+k)
    PokeB(*lpVHdr\lpData+k, RGB(Blue(Color), Green(Color), Red(Color)))
  Next
EndProcedure

hWnd = OpenWindow(0, 0, 0, 400, 500, "WebCamTest", #PB_Window_SystemMenu)

CreateGadgetList(WindowID(0))

If OpenLibrary(0, "AVICAP32.DLL")

  hWebcam = CallFunction(0, "capCreateCaptureWindowA", "BLUBBER", #WS_VISIBLE + #WS_CHILD, 10, 10, 380, 380, hWnd, 0)

  CallFunction(0, "capSetCallbackOnFrame", hWebcam, @FrameCallback())

  SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT          , 0 , 0)
  SendMessage_(hWebcam, #WM_CAP_SET_SCALE               , 1 , 0)
  SendMessage_(hWebcam, #WM_CAP_SET_PREVIEWRATE         , 50, 0)
  SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW             , 1 , 0)

  SendMessage_(hWebcam, #WM_CAP_SET_CALLBACK_FRAME      , 0 , @FrameCallback())

  Repeat
    Event = WindowEvent()
    Select Event
      Case #PB_Event_CloseWindow
        Quit = 1
    EndSelect
  Until Quit = 1
  SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW       , 0, 0)
  SendMessage_(hWebcam, #WM_CAP_DRIVER_DISCONNECT, "BLUBBER", 0)
  CloseWindow(0)
  CloseLibrary(0)
EndIf
;End

Оч интересно, как у тебя шло, по теме лагов и глюков картинок.
__________________
...
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
falcon (07.03.2010)
Старый 07.03.2010, 22:41   #4
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: Сервис, работающий с вебками.

лагало с периодичностью, подвисало на долго
но в среднем впринцыпе нормально
(Offline)
 
Ответить с цитированием
Старый 07.03.2010, 22:43   #5
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Сервис, работающий с вебками.

А серые куски были?
__________________
...
(Offline)
 
Ответить с цитированием
Старый 07.03.2010, 22:52   #6
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: Сервис, работающий с вебками.

не заметил вроде.. внизу справа ток какие то 4 точки..
(Offline)
 
Ответить с цитированием
Старый 07.03.2010, 23:27   #7
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Сервис, работающий с вебками.

Ясно. Спс.
__________________
...
(Offline)
 
Ответить с цитированием
Старый 11.03.2010, 18:07   #8
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Сервис, работающий с вебками.

Короче, несколько переработал проект, теперь привилегированн веб интерфейс.

Сайт: Top-ca

Выложенные исходники я удалил, т.к. они не комплектовались с нынешним сервером.
__________________
...
(Offline)
 
Ответить с цитированием
Старый 12.03.2010, 11:14   #9
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: Сервис, работающий с вебками.

ну ваще те исходники которые были, можно было и не выкладывать)
без обид но пока что оценивать нечего)))
у меня в планах было, сделать софтину, разбирающую движение)
по идее должен получиться большой тормаз... но вдруг получиться нечто приемлимое))
просто чисто по фану... махнул рукой - фключился медиаплеер ))
щёлкнул пальцами (хотя для моей вебки слишком быстрое движение чтоб получить четкую картинку) - включился браузер ^^
(Offline)
 
Ответить с цитированием
Старый 12.03.2010, 12:08   #10
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Сервис, работающий с вебками.

Вообще, без обид, но это такой боян.

Если интересно, то я видел оченьблизкую нароботку

тут или тут, точно не помню.
__________________
...
(Offline)
 
Ответить с цитированием
Старый 12.03.2010, 19:28   #11
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: Сервис, работающий с вебками.

пфф.. скажешь тоже
почти всё что делают в целях самообразования - баян.
и "это" в данном случае не исключение.
(Offline)
 
Ответить с цитированием
Старый 12.03.2010, 21:19   #12
Slepetc
Нуждающийся
 
Аватар для Slepetc
 
Регистрация: 05.07.2008
Сообщений: 53
Написано 6 полезных сообщений
(для 7 пользователей)
Ответ: Сервис, работающий с вебками.

Прости, если я тя обидел, просто почти все дорываясь до работы с вебками думают именно об этом. А так идея интересная, но непрактичная.)))
__________________
...
(Offline)
 
Ответить с цитированием
Старый 13.03.2010, 11:36   #13
falcon
Разработчик
 
Аватар для falcon
 
Регистрация: 12.07.2008
Сообщений: 523
Написано 196 полезных сообщений
(для 470 пользователей)
Ответ: Сервис, работающий с вебками.

Расслабься, обидеть меня ну очень сложно))
идея бестолковая, непрактичная, согласен.. по факту такое управление вообще не нужно..
но вот то что это интересно - меня и прильщает
при чем сама работа с вебкой тут минимальна.
наверняка можно получить изображение через DirectShow.. и дальше обрабатывать с помощью ГАПИ..
вот сама обработка интересная.
эт надо научить прогу разбирать разные движения...
ну эт ладн, эт в долгий ящик)))
(Offline)
 
Ответить с цитированием
Старый 11.11.2011, 21:36   #14
Maxus
ПроЭктировщик
 
Регистрация: 16.02.2006
Сообщений: 144
Написано 13 полезных сообщений
(для 36 пользователей)
Ответ: Сервис, работающий с вебками.

На самом деле этот сервис очень удобно было бы написать с опорой на DxShow.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


Часовой пояс GMT +1, время: 14:29.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com