View unanswered posts | View active topics It is currently Fri Jul 25, 2014 4:44 am



Reply to topic  [ 62 posts ]  Go to page 1, 2, 3, 4, 5  Next
Airlink101 SkyIPCam 747W - Working 
Author Message
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post Airlink101 SkyIPCam 747W - Working
Hi Folks,

I picked a Airlink101 SkyIPCam 747W over the weekend (on sale at Frys for $129) and already have it working with ZM to a limited extent.

The device requires authentication, so you need to provide the Remote Host Name parameter with <username>:<password>@mycamip

Remote Host Path can be either /cgi/jpg/image.cgi for JPEG stills, or /cgi/mjpg/mjpeg.cgi for MJPEG (I haven't gotten MJPEG working yet).

Image resolution set for 640x480, but this appears to be adjustable.

I haven't had a crack at the PTZ control stuff, or other camera features (motion detection, events, audio I/O, GPIO control) yet, but so far I am impressed.


Mon Sep 08, 2008 6:20 pm
Profile YIM WWW
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post 
Just started deciphering the control commands:

Up
http://mycamip/admin/ptctl.cgi?move=up

Down
http://mycamip/admin/ptctl.cgi?move=down

Left
http://mycamip/admin/ptctl.cgi?move=left

Right
http://mycamip/admin/ptctl.cgi?move=right

Home
http://mycamip/admin/ptctl.cgi?move=h

Pan-Scan (Hidden feature!)
http://mycamip/admin/ptctl.cgi?move=pscan

Patrol
http://mycamip/admin/ptctl.cgi?move=patrol

Stop
http://mycamip/admin/ptctl.cgi?move=stop

Preset 0 (1)
http://mycamip/admin/ptctl.cgi?move=p0

Preset 1 (2)
http://mycamip/admin/ptctl.cgi?move=p1

Preset 2 (3)
http://mycamip/admin/ptctl.cgi?move=p2

Preset 3 (4)
http://mycamip/admin/ptctl.cgi?move=p3

Preset 4 (5)
http://mycamip/admin/ptctl.cgi?move=p4

Preset 5 (6)
http://mycamip/admin/ptctl.cgi?move=p5

Preset 6 (7)
http://mycamip/admin/ptctl.cgi?move=p6

Preset 7 (8)
http://mycamip/admin/ptctl.cgi?move=p7


Additional commands (discovered 9/11/2008)

Reset/Calibrate PTZ
http://mycamip/admin/ptctl.cgi?move=reset

Pan Step in degrees (1-20, default 1)
http://mycamip/admin/pantilt.cgi?p_step=<value>

Tilt Step in degrees (1-20, default 1)
http://mycamip/admin/pantilt.cgi?t_step=<value>

Auto Patrol Stay time in seconds (1-999, default 1)
http://mycamip/admin/pantilt.cgi?staytime=<value>

Pan Speed: 0=Slow, 1=Medium, 2=Fast (default 0, Hidden feature!)
http://mycamip/admin/pantilt.cgi?p_speed=<value>

Tilt Speed: 0=Slow, 1=Medium, 2=Fast (default 0, Hidden feature!)
http://mycamip/admin/pantilt.cgi?t_speed=<value>

Pan-Scan Speed Speed: 0=Slow, 1=Medium, 2=Fast (default 0, Hidden feature!)
http://mycamip/admin/pantilt.cgi?p_scan_speed=<value>

PTZ control by degrees (used for mapped movement):
Directions (up,down,left,right)
Mapped movement on a 640x480 image
Up/Down max = 8 degrees
Left/Right max = 30 degrees

Example: Move right by 18 degrees
http://mycamip/cgi/admin/ptctrl.cgi?act ... &Degree=18

Example: Move down by 2 degrees
http://mycamip/cgi/admin/ptctrl.cgi?act ... n&Degree=2


Misc commands:

Trigger GPIO output (1=enable, 0=disable, default -1 (no change))
http://mycamip/admin/trigger.cgi?alarm=<value>

Night mode (1=enable, 0=disable, default -1 (no change))
http://mycamip/admin/trigger.cgi?night=<value>

Audio input/output in PCM format (Note: Input is HTTP GET, output is HTTP POST)
http://mycamip/cgi/audio/audio.cgi?type=PCM


Additional commands (discovered 9/13/2008)

Set preset
<preset number> = 0-7
<preset name> = [a-zA-Z0-9]string
http://mycamip/admin/ptctl.cgi?position=<preset number>&positionname=<preset name>

List parameters
example: List PanTilt parameters
http://mycamip/cgi/admin/param.cgi?acti ... up=PanTilt
Returns
Code:
[PanTilt]
Enable=yes
PanSpeed=fast
TiltSpeed=fast
PanScanSpeed=slow
PanStep=1
TiltStep=1
PatrolStayTime=1
Position1=dining
Position2=kitchn
Position3=bedrm
Position4=zm4
Position5=
Position6=
Position7=
Position8=


example: List PanTilt Enable state
http://mycamip/cgi/admin/param.cgi?acti ... ame=Enable
Code:
Enable=yes


example : List GPIO states
http://mycamip/cgi/admin/param.cgi?acti ... group=GPIO
returns
Code:
[GPIO]
TriggerInStatus0=on
TriggerOutStatus0=low


Last edited by Setarcos on Tue Sep 16, 2008 2:06 am, edited 6 times in total.



Tue Sep 09, 2008 1:26 am
Profile YIM WWW

Joined: Mon Dec 10, 2007 6:53 pm
Posts: 194
Location: San Jose, CA
Post 
FYI,

The Airlink101 SkyIPCam 747(W) cameras (W is for wireless, no W means wired only) look identical to the Trendnet TV-IP422(W). These might Setarcos' tips might work on the Trendet cameras as well.


Tue Sep 09, 2008 2:23 am
Profile WWW
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post 
timcraig wrote:
FYI,

The Airlink101 SkyIPCam 747(W) cameras (W is for wireless, no W means wired only) look identical to the Trendnet TV-IP422(W). These might Setarcos' tips might work on the Trendet cameras as well.


These certainly look similar, although the Trendnet TV-IP422 looks a bit closer to the SkyIPCam 777W (USB port, supports MPEG4/MJPEG, etc..)

Hmm, these cameras all appear to be Linux-based. Trendnet has posted the GPL required code, but it looks like Airlink101 hasn't yet followed suite.


Wed Sep 10, 2008 12:38 pm
Profile YIM WWW

Joined: Mon Dec 10, 2007 6:53 pm
Posts: 194
Location: San Jose, CA
Post 
Yes, you are correct. I didn't notice the usb port and the mpeg4 support. Looks like the AirLink 777 and the Trendnet V-IP422 are more feature rich cameras than the AirLink 747.

I looked at the manuals of the airlink and the trendnet cams (available for download them from their websites). They use the same configuration software and their web UIs are excatly the same. The only difference in the web UI's with between the Trendnet V-IP422(W)'s and the AirLinks 747(W)'s is the UI style and the lack of USB and Mpeg4 options. Everything else in the UI (layout, wording, etc) is the same.

It looks very likely that the V-IP422(W), 747(W), 777(W) cameras are based on the same hardware and firmware design.


Thu Sep 11, 2008 6:09 pm
Profile WWW
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post 
timcraig wrote:
Yes, you are correct. I didn't notice the usb port and the mpeg4 support. Looks like the AirLink 777 and the Trendnet V-IP422 are more feature rich cameras than the AirLink 747.

I looked at the manuals of the airlink and the trendnet cams (available for download them from their websites). They use the same configuration software and their web UIs are excatly the same. The only difference in the web UI's with between the Trendnet V-IP422(W)'s and the AirLinks 747(W)'s is the UI style and the lack of USB and Mpeg4 options. Everything else in the UI (layout, wording, etc) is the same.

It looks very likely that the V-IP422(W), 747(W), 777(W) cameras are based on the same hardware and firmware design.


Yep, they definitely share much of the same code. I posted some additional commands that I discovered today based on a few Wireshark traces, and a look through the TrendNet TV-IP422W GPL package.

I also sent a request/reminder to Airlink101 for the SkyIPCam 747W GPL sources. These cameras include BusyBox, who's developers are tenacious about GPL compliance. For their sake, I hope it gets posted...


Fri Sep 12, 2008 5:54 am
Profile YIM WWW
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post 
I have just started hacking the audio I/O stuff, and it looks like it should be possible to figure it all out.

The audio stream is MIME encoded, but doesn't have strict MIME compliance. Here is what you get when you start a stream:


HTTP/1.1 200 OK
Content-Type: multipart/mixed;boundary=myboundary
--myboundary
Content-Length: 3868
<data>
--myboundary
Content-Length: 3868
<more data..>


I hacked together a Perl script to extract the payload from the stream, and it after playing with the sample in Audacity, the audio appears to be Mono, 8kHz, Signed 16 bit PCM. The sample seems to have some periodic 'beat' noise (this is probably my script) but is definitely intelligible.

Update: My test Perl app can be dowloaded here.


Fri Sep 12, 2008 11:02 pm
Profile YIM WWW
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post 
I spent some more time with Wireshark and realized that there is a 28 byte 'header' at the beginning of every audio data frame which was causing the 'beat' noise mentioned in my last post. The first 4 bytes of this appear to be a frame counter (32 bit), but I haven't deciphered the rest yet.

The good news is I was able to get clean (at least as good as with the windows OCX) audio out of the camera after stripping out the header. I also made a few other updates to my script while I was at it.

The audio dump script is here.

I have also been working on the audio out functionality, but haven't had a breakthrough yet...


Thu Sep 18, 2008 11:28 pm
Profile YIM WWW
User avatar

Joined: Fri Mar 05, 2004 5:47 pm
Posts: 5218
Location: /USA/Washington/Seattle
Post 
Sweet Setarcos, thanks for putting the time into this.


Fri Sep 19, 2008 4:23 am
Profile WWW
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post 
Thanks for the support guys!

More good news:

I had a eureka moment last night while playing with some of my audio out code, and was able to get the camera to emit a brief burst of sound from the attached speakers!

Things started working when I stitched a header like the following to the beginning of every data frame:
Code:
Frame 0: 00000000a00f000041000000000000000000000012d2070000000000
Frame 1: 01000000a00f000041000000000000000000000012d2070000000000
...


I have been struggling to get LWP's implementation of HTTP Post to wrap the encoded audio stream the same way the OCX does. The biggest problems come from the fact that the formatting isn't really MIME compliant. From what I have been able to determine thus far, the formatting appears to be:
Code:
POST /cgi/audio/audio.cgi?type=PCM HTTP/1.1\r\n
Authorization: Basic <encoded username:password>\r\n
Content-Type: multipart/mixed;boundary=myboundary\r\n
\r\n
--FITIVISION_MEDIACGI\r\n
Content-Length: 4028\r\n
\r\n
<4 byte frame counter starting from 0><24 byte undeciphered header><4000 bytes of encoded audio>
--FITIVISION_MEDIACGI\r\n
Content-Length: 4028\r\n
\r\n
<4 byte (32 bit) frame counter starting from 0><24 byte undeciphered header><4000 bytes of encoded audio>
...


I'm probably going to ditch LWP and whip up something with a raw TCP session instead...


Sat Sep 20, 2008 8:08 pm
Profile YIM WWW
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post 
I finally have a working version of the audio push script (downloadable here). Things went far smoother after I dumped LWP and did things with IO::Socket. It also ends up that the frame counter is a rolling 8 bit number, rolling back to 0 after reaching 255, and not the 32 bit number I had assumed.

The resultant audio does have a subtle 'beat' noise similar to what was happening with the audio dump script before adding the code that removes the header. It looks like I have a little more work to do to sort this out, but it is usable as-is.


Tue Sep 23, 2008 5:30 am
Profile YIM WWW

Joined: Mon Sep 22, 2008 9:25 pm
Posts: 2
Location: Nashville, TN
Post Trendnet tv-ip422
I think I have the settings correct to pull images from the camera into ZoneMinder, but it doesn't work. In the general tab, I have the Source Type set to Remote and the attached screen shot shows the Source tab. I have the resolution set to 1/4 the full resolution because the other usb webcams I have will only display up to 1/4 their full resolutions; I have tried several resolutions. Motion commands do not reach the camera, either, but if I get the images working, that may follow suit.

I have a different port number for the external internet forwarded to the camera and I can see the standard camera GUI from an internal or external network computer. I assume ZM will want the internal network IP and port.

I have tried both /cgi/jpg/image.cgi and /cgi/mjpg/mjpeg.cgi. Is it true that this camera is using a proprietary format for mjpeg?

Image
I am relatively new to Linux, but ZM is running on an Ubuntu machine at home. The screen shot was taken from my work PC.

Thanks


Wed Sep 24, 2008 11:17 pm
Profile

Joined: Wed Jun 08, 2005 9:07 pm
Posts: 5110
Location: Midlands UK
Post 
we cant see the screenshot mate. If you wanna mail it me ill host it for you.

James

_________________
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk


Thu Sep 25, 2008 1:01 am
Profile WWW
User avatar

Joined: Thu Jan 25, 2007 5:51 pm
Posts: 44
Location: San Jose, CA
Post Re: Trendnet tv-ip422
killbilly wrote:
I have tried both /cgi/jpg/image.cgi and /cgi/mjpg/mjpeg.cgi. Is it true that this camera is using a proprietary format for mjpeg?


The OEMed Fitivision cameras (like the Trendnet tv-ip422 and AirLink 747) seem output the wrong MIME type for their MJPEG streams, so any application expecting otherwise (such as ZM) won't work. This will need to be resolved by Fitivision.

Can you view the JPEG still image from your cam from your ZM machine with a web browser at http://<username>:<password>@192.168.1.150/cgi/jpg/image.cgi ?

Just replace <username> and <password> with a vaild username/password. (e.g. admin/admin)

This assumes that the cameras IP of 192.168.1.150 is reachable by the ZM host, and the port the camera is using is 80.


Thu Sep 25, 2008 4:04 am
Profile YIM WWW

Joined: Mon Sep 22, 2008 9:25 pm
Posts: 2
Location: Nashville, TN
Post Re: Trendnet tv-ip422
Setarcos wrote:
Can you view the JPEG still image from your cam from your ZM machine with a web browser at http://<username>:<password>@192.168.1.150/cgi/jpg/image.cgi ?


I can see the jpeg image in a web browser. But ZM will either show a black image or fail to load any image.

What is the performance difference in zoneminder between jpeg and mjpeg? Will ZM still detect motion when using JPEGs? This is the only IP camera on the network.


Thu Sep 25, 2008 4:33 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 62 posts ]  Go to page 1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group