When I first installed ZoneMinder, the device path ("Add New Monitor" -> "Source" -> "Device Path") of my webcam happened to be '/dev/video0'. Some time later, I installed some other video hardware and my webcam was relocated to '/dev/video1' so I needed to adjust the device path to get it working again. However, since this is a USB device and its device path is subject to change in the future, I wanted to avoid having to do this reconfiguration again; fortunately udev provides some more permanent paths for this purpose.
I tried to change my device path to '/dev/v4l/by-id/usb-Guillemot_Corporation_Hercules_Dualpix_Exchange-video-index0', but it was truncated to '/dev/v4l/by-id/usb-Guillemot_Corporation_Hercules_Dualpix_Exchan' (without any error message, which caused some confusion). After some poking around I discovered this was due to the database's 'Monitors' table's 'Device' column being a varchar(64), so I increased it to 128 and everything has been working perfectly again:
Code: Select all
mysql zm <<< "alter table `Monitors` modify `Device` varchar(128) NOT NULL DEFAULT '';"
I'd like to thank the community for such a wonderful piece of software!