AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Add VFW - Video for Windows to AHK GUI! [WORKS (somewhat)]
Goto page Previous  1, 2, 3  Next
 
Reply to topic    AutoHotkey Community Forum Index -> Ask for Help
View previous topic :: View next topic  
Author Message
SKAN



Joined: 26 Dec 2005
Posts: 8688

PostPosted: Tue Apr 17, 2007 7:18 pm    Post subject: Reply with quote

Offtopic / @n-l-i-d: I have sent you a PM. Smile
Back to top
View user's profile Send private message Send e-mail
daonlyfreez



Joined: 16 Mar 2005
Posts: 949
Location: Berlin

PostPosted: Tue Apr 17, 2007 7:42 pm    Post subject: Reply with quote

Replied Wink

Anybody with a VFW cam can confirm this atleast keeps running? As stated: I cannot be sure, since my cam fails on me. I would like to add some more options, but I'll have to see if I can this way...

Smile

If anybody has any suggestions on adding DirectX support, I'll be more than welcome to try to add support (though I don't have a cam to test Razz Confused )
_________________
mirror 1mirror 2mirror 3ahk4.me • PM or
Back to top
View user's profile Send private message
BoBo
Guest





PostPosted: Sat Apr 21, 2007 9:04 am    Post subject: Reply with quote

Just for the records: [WDM Video Capture Driver for Bt848/Bt849/Bt878 & Bt879 Chipsets]
Back to top
daonlyfreez



Joined: 16 Mar 2005
Posts: 949
Location: Berlin

PostPosted: Sat Apr 21, 2007 10:46 am    Post subject: Reply with quote

Thanks!

If I read this article on DirectShow capture however, I doubt I can do this...
_________________
mirror 1mirror 2mirror 3ahk4.me • PM or
Back to top
View user's profile Send private message
FireGirl



Joined: 04 May 2007
Posts: 102

PostPosted: Fri Aug 10, 2007 5:10 pm    Post subject: Reply with quote

Can anybody advance this marvelous script, or daonlyfreez maybe you see how, to connect to another ahk program running the same program? i see some neat stuff in the pre-text about motion sensors, etc Smile Smile it is wonderful and think this is a very important option i would like to use

best wishes, firegirl
Back to top
View user's profile Send private message
Rollmoeeza
Guest





PostPosted: Fri Aug 10, 2007 5:17 pm    Post subject: Reply with quote

make it a beacon..
Back to top
daonlyfreez



Joined: 16 Mar 2005
Posts: 949
Location: Berlin

PostPosted: Fri Aug 17, 2007 4:15 pm    Post subject: Reply with quote

I have received requests to revive and polish this script. However: my camera is broken, so I cannot do this myself. Anybody able and willing to take a look?

Cool

Wanted:

- Thorough testing of the available VFW implementation
- Support for DirectX video drivers
- Support for video streaming (send) between two versions of the script (basic video conferencing)
_________________
mirror 1mirror 2mirror 3ahk4.me • PM or
Back to top
View user's profile Send private message
FireGirl



Joined: 04 May 2007
Posts: 102

PostPosted: Fri Aug 17, 2007 7:11 pm    Post subject: Reply with quote

This one daonlyfreez (point to point video conferencing, MULTI-CONFERENCE, 3-way, 4-way or more by IP addresses???) ...... is on my big wish-list for it to evolve Very Happy Very Happy

What is the scope of additional programming needed? Any expert telco-minds out there willing to bring this idea to life?? I think daonlyfreez has a excellent start Exclamation Exclamation

Quote:
- Support for video streaming (send) between two versions of the script (basic video conferencing)



This is latest tested version?

Code:


; http://ej.bantz.com/video/
; http://ej.bantz.com/video/detail/

; http://www.dotnet4all.com/dotnet-code/2004/12/video-capture.html

/*
Full blown app possible settings/options (inspired by Dorgem)

* Video stream:

resolution
pixel depth and compression
size (bytes)

* Capture:

1 - file

filetype (avi/pictures)
compression
framerate
location/path
watermark
auto-name
refreshrate (replace or add to max)

2 - ftp (file settings +)

url:port
log

* Motion detection:

sensitivity
action (run, email)

* Multiple camera support ???

*/

; Basic Demo - v 0.2

hModule := DllCall("LoadLibrary", "str", "avicap32.dll")

Gui, Add, GroupBox, x4 y4 w492 h100, Available Video Drivers
Gui, Add, ListView, x8 y20 w400 h80 vCapDriversLV, Index|Name
Gui, Add, Picture, x434 y16 w32 h32 Icon204, %A_WinDir%\system32\shell32.dll
Gui, Add, Button, x412 y50 w80 h24 gRefreshDrivers, Refresh
Gui, Add, Button, x412 y76 w80 h24 gSelectDriver vSelectDriverB, Select


; --- Video preview section of Gui
Gui, Add, GroupBox, x4 y108 w492 h262, Video

; Video preview placeholder
Gui, Add, Text, x10 y124 w320 h240 vVidPlaceholder
GuiControl, +0x7, VidPlaceholder ; frame
Gui, Font, s32
Gui, Add, Text, x32 y200 w280 h64 Center, Preview
Gui, Font

Gui, Add, CheckBox, x340 y120 w100 h24 vPreviewToggleState gPreviewToggle, Preview video
Gui, Add, Button, x440 y120 w50 h24 gCopyToClipBoard, Copy

/*
; --- Presets section
Gui, Add, GroupBox, x336 y144 w154 h220, Presets

Gui, Add, DropDownList, x342 y164 w142 h30 r30 vPresetChoice, Create new preset...||My save to picture set|My save to avi set|My save to ftp|My motion detection set

Gui, Add, Button, x342 y190 w70 h24 vSelectPresetB, Select
Gui, Add, Button, x414 y190 w70 h24 vNewPresetB, Edit

Gui, Add, Text, x342 y220 w142 h106 vPresetInfoT,

Gui, Add, Button, x342 y334 w70 h24 vRunPresetB, Run
Gui, Add, Button, x414 y334 w70 h24 vStopPresetB, Stop

*/

; --- Statusbar
Gui, Add, StatusBar,, Done
SB_SetIcon("shell32.dll", 222, 1)

; Get drivers
GoSub, RefreshDrivers

; Get handle of Gui
Gui +LastFound
hwndParent := WinExist()

; Show
Gui, Show, x770 y200 w500 h400, Video For Windows for AutoHotkey - VFW4AHK

;Gosub, ConnectToDriver

Return

PreviewToggle:
msgbox Only once!
;  If PreviewToggleState
    GoSub ConnectToDriver
;  Else
;    GoSub DisconnectDriver
Return


ConnectToDriver:
  ; --- Connect and preview
  capHwnd := Cap_CreateCaptureWindow(hwndParent, 10, 124, 320, 240)
  ;ToolTip % errorlevel
 
  WM_CAP := 0x400
  WM_CAP_DRIVER_CONNECT := WM_CAP + 10
  WM_CAP_DRIVER_DISCONNECT := WM_CAP + 11
  WM_CAP_EDIT_COPY := WM_CAP + 30
  WM_CAP_SET_PREVIEW := WM_CAP + 50
  WM_CAP_SET_PREVIEWRATE := WM_CAP + 52
  WM_CAP_SET_SCALE := WM_CAP + 53
 
  ; Connect to driver
  if SelectedDriver =
  {
    MsgBox, 16, Error!, You didn't select a video driver
    Return
  }
  SendMessage, WM_CAP_DRIVER_CONNECT, %SelectedDriver%, 0, , ahk_id %capHwnd%
  ;ToolTip % errorlevel
 
  ; Set the preview scale
  SendMessage, WM_CAP_SET_SCALE, 1, 0, , ahk_id %capHwnd%
  ;ToolTip % errorlevel
 
  ; Set the preview rate in milliseconds
  SendMessage, WM_CAP_SET_PREVIEWRATE, 66, 0, , ahk_id %capHwnd%
  ;ToolTip % errorlevel
 
  ; Start previewing the image from the camera
  SendMessage, WM_CAP_SET_PREVIEW, 1, 0, , ahk_id %capHwnd%
  ;ToolTip % errorlevel
 
  ToolTip
Return



CopyToClipBoard:
  SendMessage, WM_CAP_EDIT_COPY, 0, 0, , ahk_id %capHwnd%
Return

DisconnectDriver:
  SendMessage, WM_CAP_DRIVER_DISCONNECT, 1, 0, , ahk_id %capHwnd%
Return


RefreshDrivers:
  foundDriver = 0
  LV_Delete()
  Loop
  {
    thisInfo := Cap_GetDriverDescription(A_Index-1)
    If thisInfo
    {
      foundDriver = 1
      LV_Add("", A_Index-1, thisInfo)
    }
    Else
      Break
  }
  If !foundDriver
  {
    LV_Delete()
    LV_Add("", "", "Could not get video drivers")
    GuiControl, Disable, CapDriversLV
    GuiControl, Disable, SelectDriverB
  }
Return
 
 
SelectDriver:
  FocusedRowNumber := LV_GetNext(0, "F")  ; Find the focused row.
  if not FocusedRowNumber  ; No row is focused.
    return
  LV_GetText(SelectedDriver, FocusedRowNumber, 1)
Return







/*
'// The two functions exported by AVICap
Declare Function capCreateCaptureWindowA Lib "avicap32.dll" ( _
    ByVal lpszWindowName As String, _
    ByVal dwStyle As Long, _
    ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Integer, _
    ByVal hWndParent As Long, ByVal nID As Long) As Long
   
Declare Function capGetDriverDescriptionA Lib "avicap32.dll" ( _
    ByVal wDriver As Integer, _
    ByVal lpszName As String, _
    ByVal cbName As Long, _
    ByVal lpszVer As String, _
    ByVal cbVer As Long) As Boolean
*/

Cap_CreateCaptureWindow(hWndParent, x, y, w, h)
{
  WS_CHILD := 0x40000000
  WS_VISIBLE := 0x10000000
 
  lpszWindowName := "test"
 
  lwndC := DLLCall("avicap32.dll\capCreateCaptureWindowA"
                  , "Str", lpszWindowName
                  , "UInt", WS_VISIBLE | WS_CHILD ; dwStyle
                  , "Int", x
                  , "Int", y
                  , "Int", w
                  , "Int", h
                  , "UInt", hWndParent
                  , "Int", 0)
 
  ;msgbox % lwndC " | " errorlevel " | " lpszWindowName " | " hwndParent
  Return lwndC
}

Cap_GetDriverDescription(wDriver)
{
  VarSetCapacity(lpszName, 100)
  VarSetCapacity(lpszVer, 100)
  res := DLLCall("avicap32.dll\capGetDriverDescriptionA"
                  , "Short", wDriver
                  , "Str", lpszName
                  , "Int", 100
                  , "Str", lpszVer
                  , "Int", 100)
  If res
    capInfo := lpszName ; " | " lpszVer
  Return capInfo
}

GuiClose:
  GoSub, DisconnectDriver
  DllCall("FreeLibrary", "str", hModule)
  ExitApp
Return

!r::Reload ; for debugging
Back to top
View user's profile Send private message
Seabiscuit



Joined: 07 Jan 2007
Posts: 109
Location: In fund pe scaun, la o bere prin Romania :D

PostPosted: Fri Aug 17, 2007 10:51 pm    Post subject: Reply with quote

Shocked This is awesome! Bravo, great job! I ve 2 camera pluged in toghether and no problem. Do the same great job and in short time we will have AHKVideoMessenger. No more looloo things like YM or MSNLiveMess Very Happy
_________________
Backgammon addicted!
GamesGrid was one of the first online web sites to bring Backgammon to the Internet
Back to top
View user's profile Send private message Yahoo Messenger
FireGirl



Joined: 04 May 2007
Posts: 102

PostPosted: Mon Aug 20, 2007 1:51 pm    Post subject: Reply with quote

Say what? I am more of a cheerleader in this case, I talked to the author and it appears this has all the groundings to become a full fledged AHK Webcam app soon. Maybe someone can grab one of the requirements above and see what can/any be advanced? But we have to do it slowly, it would be nice to keep the version under control...,, but it would be fun to have it finally working! Smile Smile Smile Smile ! ! !

best times --- % % f i r e g i r l % %
Back to top
View user's profile Send private message
daonlyfreez



Joined: 16 Mar 2005
Posts: 949
Location: Berlin

PostPosted: Mon Aug 20, 2007 2:11 pm    Post subject: Reply with quote

Quote:
I ve 2 camera pluged in toghether and no problem


Great! As stated, I cannot test myself, but it looks like it might indeed be possible to add streaming data.
_________________
mirror 1mirror 2mirror 3ahk4.me • PM or
Back to top
View user's profile Send private message
FireGirl



Joined: 04 May 2007
Posts: 102

PostPosted: Wed Aug 29, 2007 12:42 am    Post subject: MY IDEA ADD-ON ::: Take it or leave it :P Reply with quote

I have done some preliminary examination of the code presented here, and this 0.1 version would be a shame to let stay incomplete in this wonderful state....(!)(!)(!) Smile

Ok, for the most basic basic feature, the 1-to-1 video chat, could initially work by having two IP addresses. The GUI for that can be built later, .... so the design focus to get this moving forward would require the creation of some bootstrapping code.

It should take two IP addresses stored in variables, each IP address would be running this app, and need to handle sending 'saved avi' perhaps video & audio to the other IP (ideas how to???). The dynamics of that can fit to work with best development concept open source..., but some vars that may come into play might include how much 'buffer' to save to disk, ... and those in AHK variables would need to be twanged out in the GUI later...., but if they are setup clearly codeways,... then that should be no problem. SO! -- For now, if someone can advance this idea cause I would be very poor choice to write this. This one piece segment however, would in fact help to make this kinda more functional. Smile

so let's see if this can be built on Smile

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! numerous people want this one working!!
Arrow Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy

Let's try!!!!

sincerely, % F I R E G I R L %
Back to top
View user's profile Send private message
Guest






PostPosted: Mon Sep 17, 2007 10:50 pm    Post subject: Reply with quote

Er, Bump? Hows this going?? Any progress?
Back to top
FireGirl



Joined: 04 May 2007
Posts: 102

PostPosted: Tue Sep 18, 2007 1:03 am    Post subject: Reply with quote

Meep Meep!!!!!! I hope. Let's make this work! Very Happy Very Happy
Back to top
View user's profile Send private message
N-L-I-Conquer
Guest





PostPosted: Sat Sep 22, 2007 11:45 pm    Post subject: Reply with quote

Yeah seriously this would kick ass.. I really lack the skills to contribute though. A shame, really. And good work for those have to contributed to the already progressing script thus far.
Back to top
Display posts from previous:   
Reply to topic    AutoHotkey Community Forum Index -> Ask for Help All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group