OSX OpenCV Webcam Recording Utility
This software was created to let OSX users record from cameras (originally an IEEE1394 Basler camera) connected to their machine.
It is based on OpenCV and requires the boost library in order to create an independent recording thread.
In order to work, Oowr requires a lot of dependencies.
- Homebrew
- libboost
- OpenCV
- Several hardware libraries
brew --version # if this does not output a number, homebrew is not installed and you must run # ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" # don't forget to brew doctor your system. brew install git brew install boost # This is quite long :) pip install numpy brew install libraw install XQuartz from https://xquartz.macosforge.org/landing/ brew install libdc1394 # This is optional, and is required in order to use a IEEE1394 camera (a.k.a. any firewire camera). # It may give you errors when installing SDL, # see the following *Issues with libdc1394 and SDL* section in this readme brew install /homebrew/science/opencv --with-ffmpeg --without-quicktime # These options are important, OpenCV has a hard time encoding and writing your videos otherwise.
Installing libdc1394 will install sdl on your machine, as it is one of its dependencies. You will probably get "palette" related errors, if you do, you'll need to edit the recipe.
brew edit sdl
Add lines:
patch do url "http://hg.libsdl.org/SDL/raw-rev/bbfb41c13a87" end
To the section of the recipe where you see other patches. Now it installs :)
Sometimes opencv won't find libdc1394, because homebrew can't find the headers. In that case run:
brew install /homebrew/science/opencv --with-ffmpeg --without-quicktime -v 2>&1
and make sure the configure log says it has found libDC1394. If it hasn't, solve your $PATH issues. One way of doing this is here.
Use the compile script to generate the live executable. Then you can try in a terminal:
./live --help
to get general information about the available options or
./live --fps 50
to dive immediatly into action!
A live feed from your first available camera will appear, click in this window and press the r key to begin recording. To stop recording, you have to ctrl+c terminate the program directly from the terminal window.
I would like to acknowledge Aakash Patel for his great blog post on using libboost to get real live recording from a camera. I also acknowledge all resources on the new syntax of OpenCV I could find...
Please note this is a preliminary version of the program, I would love to hear from OpenCV gurus on how to implement buttons and a nice GUI to make UX a little better :S