Panasonic

From ZoneMinder Wiki
Revision as of 01:21, 1 January 2012 by Dajhorn (talk | contribs) (→‎Troubleshooting: Add subsection for hidden configuration options.)
Jump to navigationJump to search

All members of the BL and BB model families are likely to be compatible, including PTZ support. The "Panasonic IP" monitor preset in ZoneMinder is known to be compatible with these Panasonic netcam models:

  • BL-C1A, BL-C1CN, BL-C1E
  • BL-C20A, BL-C20CN, BL-C20E
  • BL-C30A, BL-C30CN, BL-C30E
  • BL-C101A, BL-C101CN, BL-C101E
  • BL-C111A, BL-C111CN, BL-C111E
  • BL-C121A, BL-C121CN, BL-C121E
  • BL-C131A, BL-C131CN, BL-C131E
  • BL-C140A, BL-C140CN, BL-C140E
  • BL-C160A, BL-C160CN, BL-C160E
  • BB-HCM381A, BB-HCM381CN, BB-HCM381E
  • BB-HCM511A, BB-HCM511CN, BB-HCM511E
  • BB-HCM527A, BB-HCM527CN, BB-HCM527E
  • BB-HCM531A, BB-HCM531CN, BB-HCM531E
  • BB-HCM547A, BB-HCM547CN, BB-HCM547E
  • BB-HCM580A, BB-HCM580CN, BB-HCM580E
  • BB-HCM581A, BB-HCM581CN, BB-HCM581E
  • KX-HCM10


Initial Hardware Setup

  1. The camera uses a default IP address of 192.168.0.254 if it does not get a DHCP lease. Many firmware revisions ship with DHCP disabled by default. If you are not using the configuration utility for Microsoft Windows, then you may need to do something like `sudo ifconfig eth0:0 192.168.0.2` at a terminal prompt to access the camera and enable DHCP.
  2. Upgrade the firmware. ZoneMinder 1.25 expects the latest firmware release.
  3. Enable the guest account:
    1. Click Setup in the top menu.
    2. Click Administrator in the side menu.
    3. Choose Permit access from guest users.
    4. Click the Save button.
  4. Set privileges on the guest account for ZoneMinder:
    1. Click Setup in the top menu.
    2. Click General User in the side menu.
    3. Choose Guest User in the menu.
    4. Click the Modify button.
    5. Change Video Display Time to Unlimited.
    6. Enable all Access Level checkboxes.
    7. Click the Save button.

Only set access credentials on Panasonic equipment after you have a working ZoneMinder configuration. ZoneMinder handles network camera authentication very poorly, which can cause frustrating problems like the "white screen" error, the "blue screen" error, "exit 255" crashes, or segmentation faults.


MJPEG Configuration

Example

At the Monitor -> Source page for the camera:

 Remote Protocol: HTTP
 Remote Method: Simple
 Remote Host Name: 192.168.1.254
 Remote Host Port: 80
 Remote Host Path: nphMotionJpeg?Resolution=640x480&Quality=Standard
 Remote Image Colors: 24 bit color
 Capture Width (pixels): 640
 Capture Height (pixels): 480
 Preserve Aspect Ratio: Off
 Orientation: Normal

Example for Old Firmware

Change nphMotionJpeg to nphContinuousServerPush or cgi-bin/nphContinuousServerPush if the camera has old firmware like this:

 Remote Host Path: cgi-bin/nphContinuousServerPush?Resolution=640x480&Quality=Standard

Cameras models that only have the old firmware interface are:

  • BL-C20A

Parameters

The required Quality CGI parameter sets JPEG quality and can be one of Clarity, Standard, or Motion.

The required Resolution CGI parameter can be one of 1280x1024, 640x480, 320x240, or 160x120 pixels.

Note: Only hi-def models support the 1280x1024 resolution, and some low end models like the Panasonic BL-C1A Petcam do not support the 640x480 resolution.

MJPEG Frame Size Quality=Clarity Quality=Standard Quality=Motion
Resolution=1280x1024 ? ? ?
Resolution=640x480 50kB 30kB 20kb
Resolution=320x240 25kB 15kB 8kB
Resolution=160x120 8kB 5kB 3kB

The optional Framerate parameter can be 0.1 through 30.00 frames per second in one-tenth increments. For example, to take an image every other second:

 Remote Host Path: nphMotionJpeg?Resolution=640x480&Quality=Standard&Framerate=0.5

Performance

In MJPEG mode with a default configuration, ZoneMinder can sustain approximately 5 fps from a Panasonic netcam. In ideal conditions with tuning, the maximum is approximately 25 fps.

On slow or busy systems, ZoneMinder performs better if the frame rate is externally limited at the camera. For example, to limit capture to 10 fps, set:

 Remote Host Path: nphMotionJpeg?Resolution=640x480&Quality=Standard&Framerate=10

On the Monitor -> General configuration page for the camera in ZoneMinder, leave the Maximum FPS field empty.

RTSP/MPEG4 Configuration

Note: Low end models like the Panasonic BL-C1A Petcam only support MJPEG because they do not have an MPEG4 encoder.

Example

At the Monitor -> Source page for the camera:

 Remote Protocol: RTSP
 Remote Method: RTP/Unicast
 Remote Host Name: 192.168.1.254
 Remote Host Port: 554
 Remote Host Path: nphMpeg4/nil-640x480
 Remote Image Colors: 24 bitcolor
 Capture Width (pixels): 640
 Capture Height (pixels): 480
 Preserve Aspect Ratio: Off
 Orientation: Normal

Parameters

Note: Only high definition models support the 1280x1024 resolution.

Available streaming resolutions are:

 Remote Host Path: nphMpeg4/nil-1280x1024
 Remote Host Path: nphMpeg4/nil-640x480
 Remote Host Path: nphMpeg4/nil-320x240
 Remote Host Path: nphMpeg4/nil-160x120

Note: Audio can be enabled on models that have it by changing the nil to g726, but ZoneMinder lacks audio support, so doing this would waste network capacity and storage. For example:

 Remote Host Path: nphMpeg4/g726-640x480


Performance

In RTSP mode, ZoneMinder can get 30 fps from a Panasonic netcam that has an MPEG4 encoder. The raw idle RTP output of a quiet scene for these cameras is usually 400 kbps, or 5GB per day.

To force a particular MPEG4 quality, set the minimum and maximum bitrates to the same value on the "Setup -> Video Streaming" tab of the web interface built-into the camera.

ZoneMinder transcodes the MPEG4 stream to add a banner or stream through the web interface. Doing this on one 640x480@30fps stream can consume an entire core on a modern CPU. If the CPU becomes overloaded, then the zmc process will crash and the Feed Watch page will be blank or show the broken image icon. An easy way to reduce CPU load is to set the "Maximum FPS" field on the monitor General tab to 15 or less.

Authentication

If the camera requires a username and password, then put the credentials in the Remote Host Name field on the Monitor -> Source tab for the camera in ZoneMinder like this:

 Remote Protocol: HTTP
 Remote Method: Simple
 Remote Host Name: MyUser:MyPass@192.168.1.254
 Remote Host Port: 80
 Remote Host Path: /nphMotionJpeg?Resolution=640x480&Quality=Standard
 Remote Image Colors: 24 bit color
 Capture Width (pixels): 640
 Capture Height (pixels): 480
 Preserve Aspect Ratio: Off
 Orientation: Normal

The username and password are separated by one colon character, which are separated from the IP address or host name by the 'at' symbol.


Troubleshooting

  • Using the anonymous guest account with default permissions, or using incorrect credentials, will result in a black box or this error in the zmdc.log file:
 zmdc.ERR ['zmc -m 1' exited abnormally, exit status 255]
  • All CGI parameters are case sensitive. Using "nphmotionjpeg?resolution=640x480&quality=standard" instead of "nphMotionJpeg?Resolution=640x480&Quality=Standard" will cause the camera to return a "400 Bad Request" error.
  • Remember to grant all permissions to the ZoneMinder account in the camera and double check the spelling of the username and password. ZoneMinder does not log a sensible error message if the access privileges or credentials are incorrect, it just crashes.
  • Use the VideoLAN player to test RTSP like this:
 vlc rtsp://192.168.0.254/nphMpeg4/nil-640x480

If VLC cannot play the stream, then ZoneMinder cannot record it. (Many other RTSP players are incompatible with Panasonic network cameras. Use VLC.)

  • Using RTSP through NAT usually requires a custom firewall configuration. Always get MJPEG working first.
  • These cameras also provide an RTP-over-HTTP interface over a single port. In VLC, click Media -> Open Network Stream and input this URL:
 http://192.168.0.254/rtpOverHttp?Url=nphMpeg4/nil-640x480

This is easier to punch through a firewall, but it has timing and sync problems.

Hidden Configuration Options

Login to the web interface, and manually open this URI:

 http://192.168.0.254/Get?Func=VDelivery&Kind=1

The camera could return a list of configuration options like this:

 640framerate:15
 320framerate:15
 192framerate:15
 640bitrateL:256
 640bitrateH:1024
 320bitrateL:128
 320bitrateH:512
 192bitrateL:64
 192bitrateH:256
 RTSPPortNo:554
 RTPPortMin:33000
 Multicast:0 

Not all of these options will be exposed in the web interface. For example, firmware version 3.50 does not expose the MPEG4 framerate option, which is the first line in the example. You can set it by manually opening this URI in a web browser:

 http://192.168.0.254/Set?Func=VDelivery&Kind=1&640framerate=30

A plain web page like this means success:

 Return:0

External Resources