Page 1 of 1

Vivotek VS2403 and Motion JPEG

Posted: Sun Dec 30, 2007 1:51 pm
by frido
Hi.
I have problem with video server Vivotek VS2403. I want to use motion jpeg to get image from cameras connected to this video server. I tried almost everything and i can't do this. My debug file looks like this:

Code: Select all

12/29/07 17:17:52.373312 zmc_m4[6183].DB4-zm_remote_camera.cpp/884 [Got content length subheader ' 19351']
12/29/07 17:17:52.373326 zmc_m4[6183].DB3-zm_remote_camera.cpp/910 [Got boundary '--myboundary']
12/29/07 17:17:52.373340 zmc_m4[6183].DB3-zm_remote_camera.cpp/916 [Got subcontent length '19351']
12/29/07 17:17:52.373355 zmc_m4[6183].DB3-zm_remote_camera.cpp/923 [Got subcontent type 'BŇÁ@5Đ']
12/29/07 17:17:52.373363 zmc_m4[6183].ERR-zm_remote_camera.cpp/955 [Found unsupported content type 'BŇÁ@5Đ']
Sometimes i recive only this information :

Code: Select all

Unable to extract subheader from stream, retrying
I tried to use libpcre, difrent version of http (1.0/1.1), i've had change User-Agent and still nothing. This is the http header of this video server:

Code: Select all

  HTTP/1.0 200 OK
  Content-Type: multipart/x-mixed-replace;boundary=myboundary
  Server: Vivotek Video Server
I have another device from Vivotek VS7100 and it works very good. The http header is only minimal different from VS2403 and it looks like that:

Code: Select all

  HTTP/1.0 200 OK
  Content-Type: multipart/x-mixed-replace;boundary=--myboundary
  Server: Vivotek Video Server
  Date: Mon, 26 Nov 2007 01:02:52 GMT
  Cache-Control: no-store
  Pragma: no-cache
  Content-Language: en
  SID : 0
  Audio Mode : None
  Privilege : 127
  Connection: close
Please help me! What should i do to use VS2403 with zoneminder.

P.S.
Sorry for my english, i hope that you understand everything.

Posted: Sun Dec 30, 2007 10:28 pm
by jameswilson
I assume this uses a custom control to view the image?

Looks like its a non std jpeg output and so not compatible with zm

Posted: Mon Dec 31, 2007 7:18 am
by frido
But VS2403 works in mozilla firefox when i paste there url with motion jpeg.

Posted: Mon Dec 31, 2007 7:51 am
by kapostolou
I try to use Level one Camera with zm
with no success.
I get following errors
12/31/07 09:47:52.791962 zmc_m6[6706].DB1-zm_monitor.cpp/2100 [Loaded monitor 6(External), 1 zones]
12/31/07 09:47:52.792127 zmc_m6[6706].INF-zmc.cpp/183 [Starting Capture]
12/31/07 09:47:52.793570 zmc_m6[6706].DB3-zm_remote_camera.cpp/159 [Connected to host, socket = 5]
12/31/07 09:47:52.793840 zmc_m6[6706].DB3-zm_remote_camera.cpp/180 [Request sent]
12/31/07 09:47:52.860730 zmc_m6[6706].DB3-zm_remote_camera.cpp/225 [Expecting 247 bytes]
12/31/07 09:47:52.860998 zmc_m6[6706].DB3-zm_remote_camera.cpp/250 [Read 247 bytes]
12/31/07 09:47:52.861369 zmc_m6[6706].DB4-zm_remote_camera.cpp/303 [Captured header (247 bytes):
'HTTP/1.1 200 OK
Content-Type: image/jpeg
Date: Mon, 26 Nov 2007 23:29:27 GMT
Last-Modified: Mon, 26 Nov 2007 23:29:27 GMT
Expires: Thu, 26 Oct 1995 00:00:01 GMT
Transfer-Encoding: chunked
Server: Vivotek Network Camera
Connection: close

']
12/31/07 09:47:52.861524 zmc_m6[6706].DB3-zm_remote_camera.cpp/321 [Got status '200' (OK), http version 1.1]
12/31/07 09:47:52.861617 zmc_m6[6706].DB3-zm_remote_camera.cpp/328 [Got connection 'close']
12/31/07 09:47:52.861792 zmc_m6[6706].DB3-zm_remote_camera.cpp/344 [Got content type 'image/jpeg'
]
12/31/07 09:47:52.877169 zmc_m6[6706].DB3-zm_remote_camera.cpp/225 [Expecting 1445 bytes]
12/31/07 09:47:52.877324 zmc_m6[6706].DB3-zm_remote_camera.cpp/250 [Read 1445 bytes]
12/31/07 09:47:52.896937 zmc_m6[6706].DB3-zm_remote_camera.cpp/225 [Expecting 1445 bytes]
12/31/07 09:47:52.897069 zmc_m6[6706].DB3-zm_remote_camera.cpp/250 [Read 1445 bytes]
12/31/07 09:47:52.917138 zmc_m6[6706].DB3-zm_remote_camera.cpp/225 [Expecting 1445 bytes]
12/31/07 09:47:52.917273 zmc_m6[6706].DB3-zm_remote_camera.cpp/250 [Read 1445 bytes]
12/31/07 09:47:52.937027 zmc_m6[6706].DB3-zm_remote_camera.cpp/225 [Expecting 1445 bytes]
12/31/07 09:47:52.937207 zmc_m6[6706].DB3-zm_remote_camera.cpp/250 [Read 1445 bytes]
12/31/07 09:47:52.956973 zmc_m6[6706].DB3-zm_remote_camera.cpp/225 [Expecting 591 bytes]
12/31/07 09:47:52.957156 zmc_m6[6706].DB3-zm_remote_camera.cpp/250 [Read 591 bytes]
12/31/07 09:47:52.976402 zmc_m6[6706].DB3-zm_remote_camera.cpp/220 [Socket closed]
12/31/07 09:47:52.976707 zmc_m6[6706].DB3-zm_remote_camera.cpp/514 [Got end of image by closure, content-length = 6371]
12/31/07 09:47:52.980985 zmc_m6[6706].DB3-zm_remote_camera.cpp/524 [Trimmed end of image, new content-length = 6367]
12/31/07 09:47:52.981111 zmc_m6[6706].DB3-zm_remote_camera.cpp/539 [Returning 6367 (6371) bytes of captured content]
12/31/07 09:47:52.981554 zmc_m6[6706].ERR-zm_jpeg.c/37 [Not a JPEG file: starts with 0x35 0x39]
12/31/07 09:47:52.981831 zmc_m6[6706].ERR-zm_remote_camera.cpp/1101 [Unable to decode jpeg]
12/31/07 09:47:52.981964 zmc_m6[6706].ERR-zmc.cpp/253 [Failed to post-capture monitor 0]

Level one http server reports as a vivotek server.
interesting isn't it?

Posted: Mon Dec 31, 2007 6:28 pm
by frido
I realized when i use libpcre i recive this error:

Code: Select all

12/31/07 19:15:23.497966 zmc_m1[20691].DB3-zm_remote_camera.cpp/159 [Connected to host, socket = 3]
12/31/07 19:15:23.497996 zmc_m1[20691].DB3-zm_remote_camera.cpp/180 [Request sent]
12/31/07 19:15:23.514584 zmc_m1[20691].DB3-zm_remote_camera.cpp/225 [Expecting 110 bytes]
12/31/07 19:15:23.514622 zmc_m1[20691].DB3-zm_remote_camera.cpp/250 [Read 110 bytes]
12/31/07 19:15:23.514724 zmc_m1[20691].DB4-zm_remote_camera.cpp/302 [Captured header (110 bytes):
'HTTP/1.0 200 OK
Content-Type: multipart/x-mixed-replace;boundary=myboundary
Server: Vivotek Video Server

']
12/31/07 19:15:23.514748 zmc_m1[20691].DB3-zm_remote_camera.cpp/320 [Got status '200' (OK), http version 1.0]
12/31/07 19:15:23.514780 zmc_m1[20691].DB3-zm_remote_camera.cpp/343 [Got content type 'multipart/x-mixed-replace'
]
12/31/07 19:15:23.514789 zmc_m1[20691].DB3-zm_remote_camera.cpp/347 [Got content boundary 'myboundary']
12/31/07 19:15:23.514814 zmc_m1[20691].DB3-zm_remote_camera.cpp/440 [Unable to extract subheader from stream, retrying]
12/31/07 19:15:23.524596 zmc_m1[20691].DB3-zm_remote_camera.cpp/225 [Expecting 236 bytes]
12/31/07 19:15:23.524613 zmc_m1[20691].DB3-zm_remote_camera.cpp/250 [Read 236 bytes]
12/31/07 19:15:23.524627 zmc_m1[20691].DB3-zm_remote_camera.cpp/440 [Unable to extract subheader from stream, retrying]
12/31/07 19:15:23.604206 zmc_m1[20691].DB3-zm_remote_camera.cpp/225 [Expecting 64 bytes]
12/31/07 19:15:23.604235 zmc_m1[20691].DB3-zm_remote_camera.cpp/250 [Read 64 bytes]
12/31/07 19:15:23.604252 zmc_m1[20691].DB3-zm_remote_camera.cpp/440 [Unable to extract subheader from stream, retrying]
12/31/07 19:15:23.604848 zmc_m1[20691].DB3-zm_remote_camera.cpp/225 [Expecting 1460 bytes]
12/31/07 19:15:23.604866 zmc_m1[20691].DB3-zm_remote_camera.cpp/250 [Read 1460 bytes]
12/31/07 19:15:23.604878 zmc_m1[20691].DB3-zm_remote_camera.cpp/440 [Unable to extract subheader from stream, retrying]
Without libpcre i get information about unsupported content.