Architecture question: zmdc.pl, zmc, and devices

Forum for questions and support relating to the 1.24.x releases only.
Locked
Syrinx
Posts: 11
Joined: Wed Apr 22, 2009 7:13 am
Location: San Jose, CA, USA

Architecture question: zmdc.pl, zmc, and devices

Post by Syrinx »

I'm trying to troubleshoot a problem and I'd like to make sure I understand how things should work.

What's the relationship between zmdc.pl, zmc, and configured devices (image sources)?

From looking at the code, it seems like for each device configured in ZoneMinder, zmdc.pl spawns a zmc process. Is that correct?

Let me describe my setup and my problem...

For my setup, I have two BTTV (Pico2000) 4-channel video capture cards. After starting ZoneMinder, if I look in zmdc.log, I see this:

Code: Select all

06/06/2009 15:09:47.296215 zmdc[6574].INF [Server starting at 09/06/06 15:09:47]
06/06/2009 15:09:50.821671 zmdc[6574].INF ['zmc -d /dev/video1' starting at 09/06/06 15:09:50, pid = 6600]
06/06/2009 15:09:50.989300 zmdc[6574].INF ['zma -m 2' starting at 09/06/06 15:09:50, pid = 6602]
06/06/2009 15:09:51.092131 zmdc[6574].INF ['zmc -d /dev/video1' already running at 09/06/06 15:09:50, pid = 6600]
06/06/2009 15:09:51.188713 zmdc[6574].INF ['zma -m 3' starting at 09/06/06 15:09:51, pid = 6605]
06/06/2009 15:09:51.432833 zmdc[6574].INF ['zmc -d /dev/video1' already running at 09/06/06 15:09:50, pid = 6600]
06/06/2009 15:09:51.691303 zmdc[6574].INF ['zma -m 4' starting at 09/06/06 15:09:51, pid = 6608]
06/06/2009 15:09:51.864375 zmdc[6574].INF ['zmc -d /dev/video1' already running at 09/06/06 15:09:50, pid = 6600]
06/06/2009 15:09:52.092111 zmdc[6574].INF ['zma -m 5' starting at 09/06/06 15:09:52, pid = 6611]
06/06/2009 15:09:52.265376 zmdc[6574].INF ['zmc -d /dev/video2' starting at 09/06/06 15:09:52, pid = 6613]
06/06/2009 15:09:52.511588 zmdc[6574].INF ['zma -m 6' starting at 09/06/06 15:09:52, pid = 6616]
06/06/2009 15:09:52.733442 zmdc[6574].INF ['zmc -d /dev/video2' already running at 09/06/06 15:09:52, pid = 6613]
06/06/2009 15:09:52.967714 zmdc[6574].INF ['zma -m 7' starting at 09/06/06 15:09:52, pid = 6620]
06/06/2009 15:09:53.174587 zmdc[6574].INF ['zmc -d /dev/video2' already running at 09/06/06 15:09:52, pid = 6613]
06/06/2009 15:09:53.432606 zmdc[6574].INF ['zma -m 8' starting at 09/06/06 15:09:53, pid = 6624]
06/06/2009 15:09:53.686386 zmdc[6574].INF ['zmc -d /dev/video2' already running at 09/06/06 15:09:52, pid = 6613]
06/06/2009 15:09:53.863986 zmdc[6574].INF ['zma -m 9' starting at 09/06/06 15:09:53, pid = 6628]
Notice that two zmc processes start successfully, and six are aborted because zmdc.pl believes they're already running.

Now if I attach a camera to my video capture cards, only a single channel captures. On both cards only channel one captures, and the other channels (0, 2, 3) do not capture.

I looked in the code for zmdc.pl, and commented out the return when zmdc.pl believes the process is already running. But then the new zmc processes crash shortly after being spawned.
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

These are not errors, if they were they would be tagged ERR and not INF. If you have multiple monitors on one device then ZM starts only one zmc process for all of them so this is the desired behaviour.
Phil
Locked