https://github.com/mpromonet/v4l2tools
V4L2 tools using V4L2 C++ wrapper
https://github.com/mpromonet/v4l2tools
c-plus-plus v4l2 v4l2-device
Last synced: 2 months ago
JSON representation
V4L2 tools using V4L2 C++ wrapper
- Host: GitHub
- URL: https://github.com/mpromonet/v4l2tools
- Owner: mpromonet
- License: unlicense
- Created: 2015-01-24T14:45:01.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-02-04T20:38:33.000Z (over 1 year ago)
- Last Synced: 2025-05-07T04:09:10.724Z (2 months ago)
- Topics: c-plus-plus, v4l2, v4l2-device
- Language: C
- Homepage:
- Size: 354 KB
- Stars: 123
- Watchers: 10
- Forks: 52
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://www.codacy.com/app/michelpromonet_2643/v4l2tools?utm_source=github.com&utm_medium=referral&utm_content=mpromonet/v4l2tools&utm_campaign=badger)
[](https://travis-ci.org/mpromonet/v4l2tools)
[](https://circleci.com/gh/mpromonet/v4l2tools)
[](https://cirrus-ci.com/github/mpromonet/v4l2tools)
[](https://snapcraft.io/v4l2tools)
[](https://github.com/mpromonet/v4l2tools/actions)[](https://hub.docker.com/r/mpromonet/v4l2tools/)
v4l2tools
====================This is simple V4L2 tools based on libv4l2cpp
Dependencies
------------
- liblog4cpp5-dev (optional)
- libvpx-dev (for v4l2compress)
- libx264-dev (for v4l2compress)
- libx265-dev (for v4l2compress)
- libjpeg-dev (for v4l2compress)
Tools
-------- v4l2copy :
> read from a V4L2 capture device and write to a V4L2 output device
- v4l2compress :
> read YUV from a V4L2 capture device, compress in VP8/VP9/H264/HEVC/JPEG format and write to a V4L2 output device
> read JPEG format from a V4L2 capture device, uncompress in JPEG format and write to a V4L2 output device- v4l2dump :
> read from a V4L2 capture device and print to output frame information (work with H264 & HEVC)
- v4l2source_yuv :
> generate YUYV frames and write to a V4L2 output deviceTools for Raspberry
-------------------- v4l2grab_h264 :
> grab raspberry pi screen, compress in H264 format using OMX and write to a V4L2 output device
- v4l2display_h264 :
> read H264 from V4L2 capture device, uncompress and display using OMX
- v4l2compress_omx :
> read YUV from a V4L2 capture device, compress in H264 format using OMX and write to a V4L2 output device
> make sure the v4l2 source supports the correct pixel format. This can be configured for device 0 using `v4l2-ctl -d 0 -v width=640,height=480,pixelformat=YUYV -V`. Then check it was applied correctly using `v4l2-ctl --all`Build
-----make
Install
-------make install
Using Docker image
===============You can expose V4L2 devices from your host using :
docker run --device=/dev/video0 --device=/dev/video1 -it mpromonet/v4l2tools
The container entry point is the v4l2tools application, then you can :
* get the help using :
docker run -it mpromonet/v4l2tools -h
* run the container specifying some paramaters :
docker run --device=/dev/video0 --device=/dev/video1 -it mpromonet/v4l2tools -fH264