Is there a way to make a custom montage page?
Is there a way to make a custom montage page?
Hi there!
I'm currently doing my internship in a company's IT department. They have asked me to research and to implement software to control about 12 IP camera's (Panasonic WV-NM100) through a webpage. They didnt like the page that came with the camera's because it sends the username/pw in clear text format.
After research I decided that ZoneMinder fit the bill quite nicely. The problem is that they want to include a link on their intranet page that would basically go to the Montage view. Further complicating things they want it so that the controls are bellow each image. The only controls they want are the presets and if possible, to activate the automated "tour" within the camera's.
I got the camera's to work with some creativity, but I'm not a PHP programer. I haven't programed in years (except mysql and some small things for Active Directory) so I really don't know where to go. To make things even worse I don't know what I did but now I'm getting this weird error when accessing the controls to the camera:
Undefined Index: MoveRoot
in /var/www/zoneminder/skins/classic/includes/control_function.php
indicated lines are 124 -> 131.
The other problem is that when viewing the camera's I'm seeing unrealistic Frame rates and zoom. The camera has no zoom. My frame rates are set to 4fps normal and 8 fps durring an alarm. The program says that I'm getting 50000+ Fps with a zoom of 10701446.0x... I don't think these camera's are telescope (hubble) capable LOL
Any and all suggestions here would be gratefully appreciated I'm no master - I'm still learning but I'm doing my best Sometimes I just need a nudge in the right direction
Take care
Carlo
I'm currently doing my internship in a company's IT department. They have asked me to research and to implement software to control about 12 IP camera's (Panasonic WV-NM100) through a webpage. They didnt like the page that came with the camera's because it sends the username/pw in clear text format.
After research I decided that ZoneMinder fit the bill quite nicely. The problem is that they want to include a link on their intranet page that would basically go to the Montage view. Further complicating things they want it so that the controls are bellow each image. The only controls they want are the presets and if possible, to activate the automated "tour" within the camera's.
I got the camera's to work with some creativity, but I'm not a PHP programer. I haven't programed in years (except mysql and some small things for Active Directory) so I really don't know where to go. To make things even worse I don't know what I did but now I'm getting this weird error when accessing the controls to the camera:
Undefined Index: MoveRoot
in /var/www/zoneminder/skins/classic/includes/control_function.php
indicated lines are 124 -> 131.
The other problem is that when viewing the camera's I'm seeing unrealistic Frame rates and zoom. The camera has no zoom. My frame rates are set to 4fps normal and 8 fps durring an alarm. The program says that I'm getting 50000+ Fps with a zoom of 10701446.0x... I don't think these camera's are telescope (hubble) capable LOL
Any and all suggestions here would be gratefully appreciated I'm no master - I'm still learning but I'm doing my best Sometimes I just need a nudge in the right direction
Take care
Carlo
Last edited by carlo1973 on Fri May 01, 2009 4:26 pm, edited 1 time in total.
The other problem is that when viewing the camera's I'm seeing unrealistic Frame rates and zoom. The camera has no zoom. My frame rates are set to 4fps normal and 8 fps durring an alarm. The program says that I'm getting 50000+ Fps with a zoom of 10701446.0x... I don't think these camera's are telescope (hubble) capable LOL
That happens alot it seams. if you7 disable the dvr stuff it goes away it relly dosen't matter. As for the php stuff you need to look into http://www.charliemouse.com/code/cambozola/index.html if useing ie
also the dvr controls at the bottom might be difficult but someone here might be able to help.
Or if lazy or need it quickly
look up HTML <iframe> and link it to each cams page
EX:
<iframe src ="http://example.com/zm/index.php?view=watch&mid=1" width="100%" height="300">
I don't have any cameras that are controlable but looking at the code it seems fairly straightforward what the error most likely is. For me to look at it add:
around line 123 in that file, go to the page, then reply back with what it dumps.
Code: Select all
print "<xmp>" . var_dump($monitor) . "</xmp>";
Thanks Mitch! I entered that line, and here is the output. I took the liberty of formating it the way it appeared on the screen:mitch wrote:I don't have any cameras that are controlable but looking at the code it seems fairly straightforward what the error most likely is. For me to look at it add:around line 123 in that file, go to the page, then reply back with what it dumps.Code: Select all
print "<xmp>" . var_dump($monitor) . "</xmp>";
array(150) { ["Id"]=> string(1) "2" ["Name"]=>
string(9) "Back-Door" ["Type"]=> string(6)
"Remote" ["Protocol"]=> string(4)
"http" ["CanWake"]=> string(1) "0" ["CanSleep"]=>
string(1) "0" ["CanReset"]=> string(1)
"0" ["CanZoom"]=> string(1) "0" ["CanAutoZoom"]=>
string(1) "0" ["CanZoomAbs"]=> string(1)
"0" ["CanZoomRel"]=> string(1)
"0" ["CanZoomCon"]=> string(1)
"0" ["MinZoomRange"]=> string(1)
"0" ["MaxZoomRange"]=> string(1)
"0" ["MinZoomStep"]=> string(1)
"0" ["MaxZoomStep"]=> string(1)
"0" ["HasZoomSpeed"]=> string(1)
"0" ["MinZoomSpeed"]=> string(1)
"0" ["MaxZoomSpeed"]=> string(1)
"0" ["CanFocus"]=> string(1)
"0" ["CanAutoFocus"]=> string(1)
"0" ["CanFocusAbs"]=> string(1)
"0" ["CanFocusRel"]=> string(1)
"0" ["CanFocusCon"]=> string(1)
"0" ["MinFocusRange"]=> string(1)
"0" ["MaxFocusRange"]=> string(1)
"0" ["MinFocusStep"]=> string(1)
"0" ["MaxFocusStep"]=> string(1)
"0" ["HasFocusSpeed"]=> string(1)
"0" ["MinFocusSpeed"]=> string(1)
"0" ["MaxFocusSpeed"]=> string(1)
"0" ["CanIris"]=> string(1)
"0" ["CanAutoIris"]=> string(1)
"0" ["CanIrisAbs"]=> string(1)
"0" ["CanIrisRel"]=> string(1)
"0" ["CanIrisCon"]=> string(1)
"0" ["MinIrisRange"]=> string(1)
"0" ["MaxIrisRange"]=> string(1)
"0" ["MinIrisStep"]=> string(1)
"0" ["MaxIrisStep"]=> string(1)
"0" ["HasIrisSpeed"]=> string(1)
"0" ["MinIrisSpeed"]=> string(1)
"0" ["MaxIrisSpeed"]=> string(1)
"0" ["CanGain"]=> string(1)
"0" ["CanAutoGain"]=> string(1)
"0" ["CanGainAbs"]=> string(1)
"0" ["CanGainRel"]=> string(1)
"0" ["CanGainCon"]=> string(1)
"0" ["MinGainRange"]=> string(1)
"0" ["MaxGainRange"]=> string(1)
"0" ["MinGainStep"]=> string(1)
"0" ["MaxGainStep"]=> string(1)
"0" ["HasGainSpeed"]=> string(1)
"0" ["MinGainSpeed"]=> string(1)
"0" ["MaxGainSpeed"]=> string(1)
"0" ["CanWhite"]=> string(1)
"0" ["CanAutoWhite"]=> string(1)
"0" ["CanWhiteAbs"]=> string(1)
"0" ["CanWhiteRel"]=> string(1)
"0" ["CanWhiteCon"]=> string(1)
"0" ["MinWhiteRange"]=> string(1)
"0" ["MaxWhiteRange"]=> string(1)
"0" ["MinWhiteStep"]=> string(1)
"0" ["MaxWhiteStep"]=> string(1)
"0" ["HasWhiteSpeed"]=> string(1)
"0" ["MinWhiteSpeed"]=> string(1)
"0" ["MaxWhiteSpeed"]=> string(1)
"0" ["HasPresets"]=> string(1) "1" ["NumPresets"]=>
string(1) "8" ["HasHomePreset"]=> string(1)
"1" ["CanSetPresets"]=> string(1) "0" ["CanMove"]
=> string(1) "1" ["CanMoveDiag"]=> string(1)
"0" ["CanMoveMap"]=> string(1) "1" ["CanMoveAbs"]
=> string(1) "0" ["CanMoveRel"]=> string(1)
"0" ["CanMoveCon"]=> string(1) "0" ["CanPan"]=>
string(1) "1" ["MinPanRange"]=> string(1) "0" ["MaxPanRange"]=> string(1)
"0" ["MinPanStep"]=> string(1) "0" ["MaxPanStep"]=> string(1)
"0" ["HasPanSpeed"]=> string(1)
"0" ["MinPanSpeed"]=> string(1)
"0" ["MaxPanSpeed"]=> string(1)
"0" ["HasTurboPan"]=> string(1)
0" ["TurboPanSpeed"]=> string(1) "0" ["CanTilt"]=>
string(1) "1" ["MinTiltRange"]=> string(1)
"0" ["MaxTiltRange"]=> string(1) "0" ["MinTiltStep"]
=> string(1) "0" ["MaxTiltStep"]=> string(1)
"0" ["HasTiltSpeed"]=> string(1)
"0" ["MinTiltSpeed"]=> string(1)
"0" ["MaxTiltSpeed"]=> string(1)
"0" ["HasTurboTilt"]=> string(1)
"0" ["TurboTiltSpeed"]=> string(1)
"0" ["CanAutoScan"]=> string(1)
"0" ["NumScanPaths"]=> string(1) "0" ["Function"]=>
string(6) "Modect" ["Enabled"]=> string(1)
"1" ["LinkedMonitors"]=> string(1) "2" ["Triggers"]=>
string(0) "" ["Device"]=> string(4) "http" ["Channel"]
=> string(1) "0" ["Format"]=> string(1)
"0" ["Method"]=> string(6) "simple" ["Host"]=>
string(27) "xxx:xxxxxxxxx@192.168.xxx.xxxx" ["Port"]
=> string(2) "80" ["SubPath"]=> string(0) "" ["Path"]
=> string(30) "/cgi-bin/camera?
resolution=640" ["Width"]=> string(3)
"640" ["Height"]=> string(3) "480" ["Palette"]=>
string(1) "3" ["Orientation"]=> string(1)
"0" ["Brightness"]=> string(2) "-1" ["Contrast"]
=> string(2) "-1" ["Hue"]=> string(2) "-1" ["Colour"]=>
string(2) "-1" ["EventPrefix"]=> string(21) "Back-
Door-Hall-Event-" ["LabelFormat"]=> string(22) "%N
- %y/%m/%d %H:%M:%S" ["LabelX"]=> string(1)
"0" ["LabelY"]=> string(1) "0" ["ImageBufferCount"]
=> string(2) "10" ["WarmupCount"]=> string(2)
"40" ["PreEventCount"]=> string(2)
"10" ["PostEventCount"]=> string(2)
"10" ["StreamReplayBuffer"]=> string(4)
"1000" ["AlarmFrameCount"]=> string(1)
"1" ["SectionLength"]=> string(3)
"600" ["FrameSkip"]=> string(1) "0" ["MaxFPS"]=>
string(4) "4.00" ["AlarmMaxFPS"]=> string(4)
"8.00" ["FPSReportInterval"]=> string(4)
"1000" ["RefBlendPerc"]=> string(1)
"7" ["Controllable"]=> string(1) "1" ["ControlId"]
=> string(1) "5" ["ControlDevice"]=> string(0)
"" ["ControlAddress"]=> string(27)
"xxx:xxxxxxxxx@192.168.xxx.xxx" ["AutoStopTimeout"]
=> string(4) "0.00" ["TrackMotion"]=> string(1)
"1" ["TrackDelay"]=> string(1) "0" ["ReturnLocation"]
=> string(1) "0" ["ReturnDelay"]=> string(1)
"0" ["DefaultView"]=> string(6)
"Events" ["DefaultRate"]=> string(3)
"100" ["DefaultScale"]=> string(3)
"100" ["SignalCheckColour"]=> string(7)
"#0100BE" ["WebColour"]=>
string(3) "red" ["Sequence"]=> string(1) "1" }
Notice: Undefined index: MoveRoot in /var/www/zoneminder/skins/classic/includes/control_functions.php on line 125
Notice: Undefined index: MoveRoot in /var/www/zoneminder/skins/classic/includes/control_functions.php on line 126
Notice: Undefined index: MoveRoot in /var/www/zoneminder/skins/classic/includes/control_functions.php on line 127
Notice: Undefined index: MoveRoot in /var/www/zoneminder/skins/classic/includes/control_functions.php on line 128
Notice: Undefined index: MoveRoot in /var/www/zoneminder/skins/classic/includes/control_functions.php on line 129
Notice: Undefined index: MoveRoot in /var/www/zoneminder/skins/classic/includes/control_functions.php on line 130
Notice: Undefined index: MoveRoot in /var/www/zoneminder/skins/classic/includes/control_functions.php on line 131
Notice: Undefined index: MoveRoot in /var/www/zoneminder/skins/classic/includes/control_functions.php on line 132
Thanks for the formatting it was actually the first thing I did too:) Looking at the output it seems your camera is setup as being able to move but you say it cannot move Diagonally, absolutely, relative, continuously, only to a specific point (CanMoveMap) . If this is true then ZM is not currently set to allow you to say go to a point with the controls, the controls require one of the 3 normal movement methods to work I believe. If you just want to hide these controls let me know, but if you want them to work the camera will have to support one of the other methods.
kingofkya wrote:The other problem is that when viewing the camera's I'm seeing unrealistic Frame rates and zoom. The camera has no zoom. My frame rates are set to 4fps normal and 8 fps durring an alarm. The program says that I'm getting 50000+ Fps with a zoom of 10701446.0x... I don't think these camera's are telescope (hubble) capable LOL
That happens alot it seams. if you7 disable the dvr stuff it goes away it relly dosen't matter. As for the php stuff you need to look into http://www.charliemouse.com/code/cambozola/index.html if useing ie
also the dvr controls at the bottom might be difficult but someone here might be able to help.
Or if lazy or need it quickly
look up HTML <iframe> and link it to each cams page
EX:
<iframe>
Thanks Kingofkya! Well I'm not lazy but I do need to get it done quickly. My internship ends in a month and have other projects to tackle besides this one. I'm looking through the PHP code, trying to figure out what I need to include in the custom page to display the cam's. As for DVR controls, don't really need those. Just the code to activate the presets that are already programed into the camera's themselves (thats minor and I figured that out in order to activate them in the Zoneminder - had to re-write a bit of the PanasonicIP.pm file regarding the presets.)
Generally speaking this is what they want. A single webpage that displays all of the configured cam's "live" streams. No clicking on links to pull up seperate cam's or controls. They want it simplified so that a monkey could use it without thinking about things. Bellow each camera's "live" image would be the buttons for the presets - and hopefully one to the "tour" option in the camera that basically has the camera auto-step through each of the presets.
HTML I'm okay with, CGI/PHP/JAVA - I can get by but I'm definatly no wiz with.
Thanks for the quick response Mitch! Awesome!mitch wrote:Thanks for the formatting it was actually the first thing I did too:) Looking at the output it seems your camera is setup as being able to move but you say it cannot move Diagonally, absolutely, relative, continuously, only to a specific point (CanMoveMap) . If this is true then ZM is not currently set to allow you to say go to a point with the controls, the controls require one of the 3 normal movement methods to work I believe. If you just want to hide these controls let me know, but if you want them to work the camera will have to support one of the other methods.
Well the cam can move. However it can only move in the 4 directions (up down left right) with a simple stepper motor. Based on my toying with the original cam software, it steps using a simple algorithm of Pan+1 and -1/Tilt +1 and -1. It can't go to quadrant x,y for example. The built in cam software has a grid to choose specific locations but this is where I learned that it can't move that accuratly. It definatly can not do diagnal movements. The home should be 0,0 but in reality it's home is Pan=1&Tilt=-1. Really weird. lol
[EDIT]
Just checked the controls again. got it fixed so that error doesn't come up. Thanks a bunch Mitch! Awesome work!
The only thing now is for me to make custom "Montage" page with the presets directly below each cam.
Last edited by carlo1973 on Fri May 01, 2009 3:41 pm, edited 1 time in total.
your problem then is you have your camera setup wrong. ZM thinks it can only go to a very specific point but can't move up/down/left/right assuming its your standard move up, move left, move right, move down X amount you want Can Move Relative enabled but NOT Can Move Mapped that should fix this problem for you too.
Got that fixed now Thanks a bunch againmitch wrote:your problem then is you have your camera setup wrong. ZM thinks it can only go to a very specific point but can't move up/down/left/right assuming its your standard move up, move left, move right, move down X amount you want Can Move Relative enabled but NOT Can Move Mapped that should fix this problem for you too.
Regarding the custom Montage Page....
Is there a way I can just take the existing Montage page, and include the controls at the bottom. They have decided they only want 3 webcams on the page now (outside cams not interior). If I can move the control functions from a popup to actually being on the page itself that would be perfectly suitable. Can leave the monitor selector as well. Just want to move the whole thing from the control applet to the bottom of the page so it is similar to the Watch view.
I tried to convince them of that. Their only thing is they wanted the controls on the same page as the camera's they were viewing. Apparently clicking on a link that says "CONTROL" was a bit much lolcordel wrote:Why not just create a montage group just for those cams your interested in?
Sorry for my sarcasm - but I've been fighting with this for two weeks and such an off the wall request from the guy I report to here in the IT department has me running in circles over something I figure as minor.
- zoneminder
- Site Admin
- Posts: 5215
- Joined: Wed Jul 09, 2003 2:07 pm
- Location: Bristol, UK
- Contact: