Giter Club home page Giter Club logo

video_capture's Introduction

Cross Platform Video Capture

Cross Platform Video Capture library for Mac, Windows and Linux.

See Read The Docs for the documentation.

Compiling

Linux

cd video_capture/build
./release_x86.sh 64

Windows

Open a GIT BASH shell!

cd video_capture/build
./release_x86.sh 64

Decklink

Currently we're adding support for Decklink capture devices, here are just some notes about the development.

  Linux
  -----
      - You need to download the DeckLink SDK
      - On Linux you use compile with the DeckLinkAPI.cpp and link with libDeckLinkAPI.so which 
        is loaded automatically when you installed desktop video. 
      - Download the Desktop Video AUR package on Arch Linux: https://aur.archlinux.org/packages/decklink/
      - Extract the tarbal 
      - Run `makepkg -s`  (-s installs dependencies)
      - Install with: `sudo pacman -U decklink-10.2.1a1-1-x86_64.pkg.tar.xz`

  Windows
  --------
      - Download the DeckLink SDK       
      - Copy the contents of `include/*` from the DeckLink SDK to `extern/win-vs*-*/include/decklink/

TODO:

  • On Windows we need to set the desired framerate
  • We probably want to pass a device index to getOutputFormats()

video_capture's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

video_capture's Issues

Cannot get proper capabilities

The following code :

Capture Cap(fc, NULL);
Cap.listCapabilities(0);

will output a list of capabilities with valid resolutions, framerates but no format (CA_NONE) whether I use a generic USB 2.0 camera or an FX3 eval board (That outputs a YUY2 stream).

UPDATE : The computer I first tested the lib on runs on Windows 8.1.

I tested it on my Surface Pro too (Win 8.1, two cameras), the lib could find 18 capabilities but only 3 of them didn't have an invalid format (CA_MJPEG instead of CA_NONE).

Error: cannot find any capability which conforms the set filters. - Ubuntu 18.10 / Linux 4.19-rc7-generic

Hi there I just built this library on my Alienware R5 17 and see the following error:

-- Installing: /home/feoh/src/personal/Fugio/video_capture/install/linux-gcc-x86_64/bin/test_linux_device_list
+ rc=0
+ '[' 0 '!=' 0 ']'
+ cd /home/feoh/src/personal/Fugio/video_capture/build/dependencies/../../install/linux-gcc-x86_64/bin
+ ./easy_opengl_example
[0] idVendor: , idProduct: , driver: uvcvideo, card: Integrated_Webcam_HD: Integrate, bufinfo: usb-0000:00:14.0-7, version: 4.19.0, path: /dev/video1
[1] idVendor: , idProduct: , driver: uvcvideo, card: Integrated_Webcam_HD: Integrate, bufinfo: usb-0000:00:14.0-7, version: 4.19.0, path: /dev/video0
Error: cannot find any capability which conforms the set filters.
Error: cannot find any capability which conforms the set filters.
Error: cannot find any capability which conforms the set filters.
Error: failed to find a capability for the given width/height and supported formats.
Cannot open the capture device.

Is this a hardware support issue? Could you give me any sense of what work might be required to get the library running on my hardeware?

Thanks in advance for creating this great library!

Library does not compile on Ubuntu 14.04

Hi, I was trying to compile the library on Ubuntu 14.04, and it seems to be failing. At first I was getting errors about undeclaired 'printf' statements, which I fixed by including stdio in Types.h

However now I'm getting more errors. I've attached the output:





-- VideoCapture.USE_GENERATE_X86: On
-- VideoCapture.USE_GENERATE_IPHONE: Off
-- VideoCapture.USE_GENERATE_IPHONE_SIMULATOR: Off
-- VideoCapture.USE_GENERATE_RPI: Off
-- VideoCapture.USE_OPENGL: On
-- VideoCapture.USE_DECKLINK: Off
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dmitri/Code/test/video_capture-master/build/build.release

  • cmake --build . --target install --config Release
    [ 70%] Built target videocapture
    Linking CXX executable api_example
    libvideocapture.a(V4L2_Capture.cpp.o): In function ca::V4L2_Capture::getDevicesV4L2()': V4L2_Capture.cpp:(.text+0x136c): undefined reference toudev_new'
    V4L2_Capture.cpp:(.text+0x1380): undefined reference to udev_enumerate_new' V4L2_Capture.cpp:(.text+0x1395): undefined reference toudev_enumerate_add_match_subsystem'
    V4L2_Capture.cpp:(.text+0x139d): undefined reference to udev_enumerate_scan_devices' V4L2_Capture.cpp:(.text+0x13a5): undefined reference toudev_enumerate_get_list_entry'
    V4L2_Capture.cpp:(.text+0x13f0): undefined reference to udev_list_entry_get_next' V4L2_Capture.cpp:(.text+0x1404): undefined reference toudev_list_entry_get_name'
    V4L2_Capture.cpp:(.text+0x1412): undefined reference to udev_device_new_from_syspath' V4L2_Capture.cpp:(.text+0x1430): undefined reference toudev_device_get_devnode'
    V4L2_Capture.cpp:(.text+0x1482): undefined reference to udev_device_get_parent_with_subsystem_devtype' V4L2_Capture.cpp:(.text+0x149b): undefined reference toudev_device_get_sysattr_value'
    V4L2_Capture.cpp:(.text+0x14c2): undefined reference to udev_device_get_sysattr_value' V4L2_Capture.cpp:(.text+0x15c6): undefined reference toudev_enumerate_unref'
    V4L2_Capture.cpp:(.text+0x15ce): undefined reference to `udev_unref'
    collect2: error: ld returned 1 exit status
    make[2]: *** [api_example] Error 1
    make[1]: *** [CMakeFiles/api_example.dir/all] Error 2
    make: *** [all] Error 2
  • cd /home/dmitri/Code/test/video_capture-master/build/../install/linux-gcc-x86_64/bin
    ./release_x86.sh: 26: cd: can't cd to /home/dmitri/Code/test/video_capture-master/build/../install/linux-gcc-x86_64/bin
  • ./easy_opengl_example
    ./release_x86.sh: 28: ./release_x86.sh: ./easy_opengl_example: not found

Add license notice

Under which license is your code distributed? I couldn't find any license notice in the repository.

Without a license we have no legal right to redistribute the code or produce derived works from it. It's like "look but don't touch" license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.