You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1016 B
Markdown
44 lines
1016 B
Markdown
|
8 months ago
|
|
||
|
|
libv4l2cpp
|
||
|
|
====================
|
||
|
|
|
||
|
|
It is a C++ wrapper for V4L2
|
||
|
|
|
||
|
|
Dependencies
|
||
|
|
------------
|
||
|
|
- liblog4cpp5-dev (optional)
|
||
|
|
|
||
|
|
V4L2 Capture
|
||
|
|
-------------
|
||
|
|
- create a V4L2 Capture interface using MMAP interface:
|
||
|
|
|
||
|
|
V4L2DeviceParameters param("/dev/video0", V4L2_PIX_FMT_*, width, height, fps, IOTYPE_MMAP);
|
||
|
|
V4l2Capture* videoCapture = V4l2Capture::create(param);
|
||
|
|
|
||
|
|
- data are available :
|
||
|
|
|
||
|
|
timeval timeout;
|
||
|
|
bool isReadable = videoCapture->isReadable(&timeout);
|
||
|
|
|
||
|
|
- read data :
|
||
|
|
|
||
|
|
size_t nb = videoCapture->read(buffer, bufferSize);
|
||
|
|
|
||
|
|
|
||
|
|
V4L2 Output
|
||
|
|
-------------
|
||
|
|
|
||
|
|
- To create a V4L2 Output interface using MMAP interface:
|
||
|
|
|
||
|
|
V4L2DeviceParameters param("/dev/video0", V4L2_PIX_FMT_*, width, height, fps, IOTYPE_MMAP);
|
||
|
|
V4l2Output* videoOutput = V4l2Output::create(param);
|
||
|
|
|
||
|
|
- data could be written :
|
||
|
|
|
||
|
|
timeval timeout;
|
||
|
|
bool isWritable = videoOutput->isWritable(&timeout);
|
||
|
|
|
||
|
|
- write data :
|
||
|
|
|
||
|
|
size_t nb = videoOutput->write(buffer, bufferSize);
|