South Webcam Media Plugin¶
The plugin keeps on taking a video frame from directory or webcam and saves into a directory. It also appends the name of the saved files in the reading generated.
- ‘assetName’: type: string default: ‘WebcamImages’:
Name of Asset output.
- ‘mediaType’: type: string default: ‘directory’:
Source from which the media files are generated
- ‘mediaDir’: type: string default: ‘webcam’:
If the mediaType is camera then the directory where media will be stored. If the mediaType is directory then it is the name of directory inside FOGLAMP_ROOT/data where images are stored.
- ‘dataFormat’: type: enumeration default: ‘IMG’:
Format of files in ‘mediaDir’
- ‘repeatLoop’: type: boolean default: ‘false’:
If the mediaType is directory is reload when you hit the end playing the images from directory.
- ‘cameraNumber’: type: integer default: ‘0’:
Number associated with /dev/video in your file system. for example /dev/video0 then use 0.
- ‘fpm’: type: float default: ‘10.0’:
frames to save per minute.
Execution¶
To run the south webcam media plugin you can either
Copy some images inside some directory in FOGLAMP_ROOT/data. Let’s say the directory name is pics. Run the following command.
curl -sX POST http://localhost:8081/foglamp/service -d '{"name":"My_web_cam","type":"south","plugin":"webcam_media","enabled":true,"config":{"assetName":{"value":"WebcamImages"}, "imageDir":{"value":"pics"}, "mediaType":{"value":"directory"}, "fpm":{"value":"10.0"}}}' |
Connect a camera to the machine and run the following command.
$ v4l2-ctl --list-formats-ext --device /dev/video0 You will see something like 'YUYV' (YUYV 4:2:2) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 720x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1920x1080 Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.033s (30.000 fps) Size: Discrete 2592x1944 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 0x0Now we know that the id 0 is functional. If no output then try 1,2,3 and so on.
Finally launch the plugin using
curl -sX POST http://localhost:8081/foglamp/service -d '{"name":"My_web_cam","type":"south","plugin":"webcam_media","enabled":true,"config":{"assetName":{"value":"WebcamImages"}, "imageDir":{"value":"webcam"}, "mediaType":{"value":"camera"}, "cameraNumber":{"value":"0"}, "fpm":{"value":"10.0"}}}' |jq
See Also¶
foglamp-filter-edgeml - Filter which takes image data, calls out to ML process, and forwards the inference from ML as asset contents.
foglamp-filter-greyscale - Convert 24bit RGB images to greyscale images
foglamp-filter-image-bounding-box - Uses the output of an ML model to crop out or draw bounding boxes on an image.
foglamp-filter-image-resize - Python based plugin to resize images by scaling or cropping.
foglamp-filter-mirror - A filter plugin to mirror image type data points
foglamp-filter-rotate - Rotate all images found in datapoints within a reading
foglamp-north-png - A plugin to write an image type data points to PNG files in the local filesystem
foglamp-south-video4linux - A south plugin to ingests images from various devices using the Video4Linux API. Video4Linux supports a wide variety of video capture devices on Linux platforms.