• Stars
    star
    118
  • Rank 299,923 (Top 6 %)
  • Language
    C
  • License
    The Unlicense
  • Created almost 10 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

V4L2 tools using V4L2 C++ wrapper

Codacy Badge Build status CircleCI CirusCI Snap Status GithubCI

Docker Pulls

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 device

Tools 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