Unicap 0.9.1 just got released!
Changes in this release:
- An issue introduced with the last version causing a choppy video stream for certain video devices got fixed
- The video format resolution selection for PCI based frame grabbers got improved
The source code is available here: http://unicap-imaging.org/download.htm. Binary packages for Ubuntu 8.04 are available in the repositories ( using repositories ).
Friday, August 29. 2008
unicap 0.9.1 released!
Tuesday, August 26. 2008
unicap 0.9.0 released
Unicap 0.9.0 just got released!
With this version, unicap is heading to a 1.0 stable release due in the next few weeks.
Changes in this release:
- Video downsize option for OGG/Theora videos
- Apple iSight cameras are now working again
- Fixes for the uncompressed AVI codec
- some other minor bug fixes
The source code is available here: http://unicap-imaging.org/download.htm. Binary packages for Ubuntu 8.04 are available in the repositories ( using repositories ).
With this version, unicap is heading to a 1.0 stable release due in the next few weeks.
Changes in this release:
- Video downsize option for OGG/Theora videos
- Apple iSight cameras are now working again
- Fixes for the uncompressed AVI codec
- some other minor bug fixes
The source code is available here: http://unicap-imaging.org/download.htm. Binary packages for Ubuntu 8.04 are available in the repositories ( using repositories ).
Thursday, July 10. 2008
Unicap 0.2.24 and UCView 0.21 released
Unicap version 0.2.24 and UCView version 0.21 just got released!
Changes in the unicap release:
- Support for upcoming The Imaging Source CMOS cameras
- video-4-linux-2 compatibility improvements
- fix for an issue that caused v4l2 capture to fail if start/stop was called repeatedly
- improved trigger support for IIDC/DCAM cameras
- code cleanup
- new audio/video codec API
Changes in the UCView release:
- Added a plugin to display a histogram
- switch to new unicap codec API
- fix for an issue that prevents the device to be restored correctly
- code cleanup
The source code is available here: http://unicap-imaging.org/download.htm
With this release, binary packages for Ubuntu 7.04 ( Feisty ) and Ubuntu 7.10 ( Gutsy ) will no longer be build. Ubuntu 8.04 LTS packages are available from the unicap repositories ( see: http://unicap-imaging.org/using_repositories.htm ).
Changes in the unicap release:
- Support for upcoming The Imaging Source CMOS cameras
- video-4-linux-2 compatibility improvements
- fix for an issue that caused v4l2 capture to fail if start/stop was called repeatedly
- improved trigger support for IIDC/DCAM cameras
- code cleanup
- new audio/video codec API
Changes in the UCView release:
- Added a plugin to display a histogram
- switch to new unicap codec API
- fix for an issue that prevents the device to be restored correctly
- code cleanup
The source code is available here: http://unicap-imaging.org/download.htm
With this release, binary packages for Ubuntu 7.04 ( Feisty ) and Ubuntu 7.10 ( Gutsy ) will no longer be build. Ubuntu 8.04 LTS packages are available from the unicap repositories ( see: http://unicap-imaging.org/using_repositories.htm ).
Tuesday, June 24. 2008
Installing unicap on Fedora / RedHat / CentOS
On unicap-imaging.org you will find the unicap libaries and the ucview application as source packages from which you can compile and install on almost any Linux distribution. But normally you do not want to compile the library by yourself because if you do, the resulting files will not be under control of the package manager that your distribution usually uses to keep track of the installed software.
unicap-imaging.org therefore also hosts a repository containing the binary packages for the most popular Linux distribution, Ubuntu. Even though there are no packages for other linux distribution hosted on the unicap-imaging.org website itself, packages are often provided for other popular distributions by third party distributors. I will explain how to install and use unicap on some other distributions in a series of blog posts. Today I will start with Fedora 9.
unciap and ucview packages are already available in the default repositories of Fedora thanks to the work of Robert Scheck who builds and maintains the rpm packages. To install unicap on CentOS or Red Hat Enterpris Linux 5 you need to use EPEL ( Extra Packages for Enterprise Linux ). Please follow this link to learn how to set up EPEL: Fedora Wiki
The most basic case is to install only the libraries and UCView. This can be done by the following command, executed as the root user:
If you want to compile the examples that come with unicap, you need to install some more packages to be able to compile them:
Afterwards you should be able to compile and run the basic device-info example which just prints information about all supported devices. Many other examples require additional dependencies, for instance the OpenCV example needs opencv, obviously. You should be able to locate the required packages with yum search in most cases ( otherwise, post a comment here ). Please let me know if you face any issue in using unicap on Fedora / RedHat systems.
unicap-imaging.org therefore also hosts a repository containing the binary packages for the most popular Linux distribution, Ubuntu. Even though there are no packages for other linux distribution hosted on the unicap-imaging.org website itself, packages are often provided for other popular distributions by third party distributors. I will explain how to install and use unicap on some other distributions in a series of blog posts. Today I will start with Fedora 9.
unciap and ucview packages are already available in the default repositories of Fedora thanks to the work of Robert Scheck who builds and maintains the rpm packages. To install unicap on CentOS or Red Hat Enterpris Linux 5 you need to use EPEL ( Extra Packages for Enterprise Linux ). Please follow this link to learn how to set up EPEL: Fedora Wiki
The most basic case is to install only the libraries and UCView. This can be done by the following command, executed as the root user:
yum install unicap ucview
If you want to compile the examples that come with unicap, you need to install some more packages to be able to compile them:
yum install gcc make gtk2-devel libtheora-devel libvorbis-devel unicap unicap-devel
Afterwards you should be able to compile and run the basic device-info example which just prints information about all supported devices. Many other examples require additional dependencies, for instance the OpenCV example needs opencv, obviously. You should be able to locate the required packages with yum search in most cases ( otherwise, post a comment here ). Please let me know if you face any issue in using unicap on Fedora / RedHat systems.
Monday, June 9. 2008
Using the Trigger and Digital IOs of Imaging Source Cameras
Among others, The Imaging Source cameras can be externally triggered and have digital in- and outputs to control external devices. In a series of blog postings on their machine vision blog, The Imaging Source gives some details about the hardware and explains how to build an external trigger circuit:
Trigger Hardware and Timing
Pin Header Layout
Hirose Connector Layout
Software support for this functionality is present in unicap.
Trigger Hardware and Timing
Pin Header Layout
Hirose Connector Layout
Software support for this functionality is present in unicap.
Friday, May 23. 2008
Basic Image Manipulation with UCIL Part 2
In the first post in this series, I created an example that draws a
crosshair on the video image and a frame counter.
In this post, I will extend the example to write the video stream to
an OGG/THEORA video file.
Continue reading "Basic Image Manipulation ... »
crosshair on the video image and a frame counter.
In this post, I will extend the example to write the video stream to
an OGG/THEORA video file.
Continue reading "Basic Image Manipulation ... »
Wednesday, May 21. 2008
Updating UCView and Unicap on the ASUS EeePC
I already wrote earlier that the ASUS EeePC comes with unicap and UCView pre-installed. Unfortunately it comes with rather old versions of the software and updates are not yet available via the software update of the EeePC. Also there are no development packages available from the Xandros repositories, so I decided to add EeePC packages for unicap and ucview to the unicap-imaging.org repositories.
Here are the steps necessary to use the unicap-imaging.org repositories on your EeePC and to update to the latest unicap and ucview versions. To follow these instructions, you need to open a terminal window and enter the commands there. Press {Ctrl}+{Alt}+t to open a terminal window.
At first, download the unicap-imaging.org public key from here and import it to the key ring used for package signing:
Next, you need to add the unicap repository to the /etc/apt/sources.list file. To do this, open the file with a text editor:
Add the following line to the file:
Then you may save the file and close the editor. Back on the command line, you can update the package info on the eeepc:
Finally, update to the latest versions of unicap and ucview:
Now you can enjoy features like uncompressed AVIs and time-lapse recording
Here are the steps necessary to use the unicap-imaging.org repositories on your EeePC and to update to the latest unicap and ucview versions. To follow these instructions, you need to open a terminal window and enter the commands there. Press {Ctrl}+{Alt}+t to open a terminal window.
At first, download the unicap-imaging.org public key from here and import it to the key ring used for package signing:
wget http://www.unicap-imaging.org/downloads/public.key
sudo apt-key add public.key
rm public.key
Next, you need to add the unicap repository to the /etc/apt/sources.list file. To do this, open the file with a text editor:
sudo kate /etc/apt/sources.listAdd the following line to the file:
deb http://unicap-imaging.org/packages/ eeepc mainThen you may save the file and close the editor. Back on the command line, you can update the package info on the eeepc:
sudo apt-get updateFinally, update to the latest versions of unicap and ucview:
sudo apt-get install libunicap-2 libunicapgtk-2 libucil-2 ucview ucview-asus-iconsNow you can enjoy features like uncompressed AVIs and time-lapse recording
Monday, May 19. 2008
Unicap 0.2.23 and UCView 0.20 released
Unicap version 0.2.23 and UCView version 0.20 just got released!
Changes in the unicap release:
- improvements for cameras using the uvcvideo driver
- fix for a build issue on IA64
- fixes for some color conversion routines
- support for uncompressed AVI video recording
Changes in the ucview release:
- Added an image side bar
- Added support for time lapse recording
- Images can now be saved in the following formats: JPEG, PNG, BMP
- Added support for uncompressed AVI recording
You can get the source code from here: http://www.unicap-imaging.org/download.htm. Updated packages for Ubuntu 7.04 ( Feisty ), Ubuntu 7.10 ( Gutsy ) and Ubuntu 8.04 ( Hardy ) are available via the package repositories.
Changes in the unicap release:
- improvements for cameras using the uvcvideo driver
- fix for a build issue on IA64
- fixes for some color conversion routines
- support for uncompressed AVI video recording
Changes in the ucview release:
- Added an image side bar
- Added support for time lapse recording
- Images can now be saved in the following formats: JPEG, PNG, BMP
- Added support for uncompressed AVI recording
You can get the source code from here: http://www.unicap-imaging.org/download.htm. Updated packages for Ubuntu 7.04 ( Feisty ), Ubuntu 7.10 ( Gutsy ) and Ubuntu 8.04 ( Hardy ) are available via the package repositories.
Thursday, May 8. 2008
Basic Image Manipulation with UCIL Part 1
One part of the unicap toolkit is the UCIL library which contains basic image manipulation functions. Currently it provides drawing functions to draw overlay grahics and text onto the video images, convert between color formats of an image buffer and to write the video stream to a file.
The use of UCIL is quite simple but there might be some caveats. I will try to give a short introduction on UCIL in this series of blog posts.
For this post I modified the callback example which uses GTK+ to display the video image. You can download the whole example here. This example will draw a crosshair and a frame number counter on the video images. In the following posts, I will extend the example to also put a PNG icon on the video image and to store the video to a file.
Continue reading "Basic Image Manipulation ... »
The use of UCIL is quite simple but there might be some caveats. I will try to give a short introduction on UCIL in this series of blog posts.
For this post I modified the callback example which uses GTK+ to display the video image. You can download the whole example here. This example will draw a crosshair and a frame number counter on the video images. In the following posts, I will extend the example to also put a PNG icon on the video image and to store the video to a file.
Continue reading "Basic Image Manipulation ... »
Tuesday, May 6. 2008
Unicap 0.2.22 released!
Unicap version 0.2.22 just got released!
Changes in this release:
- improvements for cameras using the uvcvideo driver
- GTK+ apps can now register their own color format conversion callback
- small improvements to the GTK+ device property widget
You can get the source code package from here: http://www.unicap-imaging.org/download.htm. Updated packages for Ubuntu 7.04 ( Feisty ), Ubuntu 7.10 ( Gutsy ) and Ubuntu 8.04 ( Hardy ) are available via the package repositories.
Changes in this release:
- improvements for cameras using the uvcvideo driver
- GTK+ apps can now register their own color format conversion callback
- small improvements to the GTK+ device property widget
You can get the source code package from here: http://www.unicap-imaging.org/download.htm. Updated packages for Ubuntu 7.04 ( Feisty ), Ubuntu 7.10 ( Gutsy ) and Ubuntu 8.04 ( Hardy ) are available via the package repositories.
Wednesday, April 30. 2008
Installing USB Cameras
The Imaging Source AU/BU cameras are a popular series of USB Video Class compliant cameras for industrial and ( more and more ) astronomy vision. If you are wondering about my preference for The Imaging Source cameras, the reason is simply that I am the lead developer of the camera firmware of these cameras.
Before you can use all the features of the USB cameras on Linux, you have to master some hurdles but the installation should be quite easy with the following instructions:
1. Step: Firmware Update
The first hurdle is caused by an issue with the firmware version loaded in most of the USB cameras currently present 'in the field'. This issue prevents the driver from discovering the Shutter control of the camera so that the camera will only work in automatic exposure mode. There is a newer version of the firmware which fixes this issue. You may find the new version and an installer for Linux here.
2.Step: Driver Update
The cameras conform to the USB Video Class ( UVC ) specification which is very well supported by Laurent Pincharts excellent uvcvideo driver.
Most distributions already come with binary packages for the uvcvideo driver for easy installation. But since there have been some fixes to the uvcvideo driver just recently, I recommend to install a never driver from source. The following instructions are made for Ubuntu Linux but the steps are very similar for other distributions. If you do the installation on a different Linux distribution, please post the steps in the comment section if they are different to the ones explained here.
We start with installing a build environment for the driver. On Ubuntu, this can be done with the following command:
Then create some directory where you build the source and get the driver from the linux-uvc website:
The next step is specific to Ubuntu: Since Ubuntu comes with its own (old) uvcvideo driver, you need to make sure that the installation of the driver overwrites the Ubuntu driver. To achieve this, edit the file
to:
Now you can build and install the driver:
Please note that you need to perform the
Now unload the old driver and load the new one:
Step 3: Configuring the driver
With the very recent revisions of the driver, root privileges are required to configure the driver to use proprietary extensions to the UVC protocol. The Imaging Source cameras use protocol extensions for a better control of the auto exposure and for functionality like Trigger and Strobe which is not covered by the UVC specification.
The preferred way of the uvcvideo driver to configure the driver is to use a tool called uvcdynctrl which is provided by Logitech.
uvcdynctrl reads a .xml file with a description of the protocol extensions and configures the driver. Since uvcdynctrl is not quite easy to compile and install, I wrote a small python script which you can use alternatively to just set up the driver. You can find the script HERE. You might still want to look at uvcdynctrl since it also contains instructions for a set up with udev, so that the driver is configured automatically when a camera gets connected. I plan to add udev support to uvcctl later.
To configure the driver with the uvcctls script under an Ubuntu system, just download the script and the xml file and enter the following command before you start your application:
Finally: Run your application
If you run a unicap application now, all extended features of the The Imaging Source cameras should work. If you use the camera with UCView now, you should see ( depending on your model ), the following features:
Before you can use all the features of the USB cameras on Linux, you have to master some hurdles but the installation should be quite easy with the following instructions:
1. Step: Firmware Update
The first hurdle is caused by an issue with the firmware version loaded in most of the USB cameras currently present 'in the field'. This issue prevents the driver from discovering the Shutter control of the camera so that the camera will only work in automatic exposure mode. There is a newer version of the firmware which fixes this issue. You may find the new version and an installer for Linux here.
2.Step: Driver Update
The cameras conform to the USB Video Class ( UVC ) specification which is very well supported by Laurent Pincharts excellent uvcvideo driver.
Most distributions already come with binary packages for the uvcvideo driver for easy installation. But since there have been some fixes to the uvcvideo driver just recently, I recommend to install a never driver from source. The following instructions are made for Ubuntu Linux but the steps are very similar for other distributions. If you do the installation on a different Linux distribution, please post the steps in the comment section if they are different to the ones explained here.
We start with installing a build environment for the driver. On Ubuntu, this can be done with the following command:
sudo apt-get install build-essential linux-headers-generic subversionThen create some directory where you build the source and get the driver from the linux-uvc website:
mkdir build
cd build
svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
The next step is specific to Ubuntu: Since Ubuntu comes with its own (old) uvcvideo driver, you need to make sure that the installation of the driver overwrites the Ubuntu driver. To achieve this, edit the file
trunk/Makefile and change the line: INSTALL_MOD_DIR := usb/mediato:
INSTALL_MOD_DIR := kernel/ubuntu/media/usbvideoNow you can build and install the driver:
cd trunk
make
sudo make install
Please note that you need to perform the
sudo make install step again after each kernel update since the Ubuntu updates will overwrite the freshly installed driver.Now unload the old driver and load the new one:
sudo rmmod uvcvideo
sudo modprobe uvcvideo
Step 3: Configuring the driver
With the very recent revisions of the driver, root privileges are required to configure the driver to use proprietary extensions to the UVC protocol. The Imaging Source cameras use protocol extensions for a better control of the auto exposure and for functionality like Trigger and Strobe which is not covered by the UVC specification.
The preferred way of the uvcvideo driver to configure the driver is to use a tool called uvcdynctrl which is provided by Logitech.
uvcdynctrl reads a .xml file with a description of the protocol extensions and configures the driver. Since uvcdynctrl is not quite easy to compile and install, I wrote a small python script which you can use alternatively to just set up the driver. You can find the script HERE. You might still want to look at uvcdynctrl since it also contains instructions for a set up with udev, so that the driver is configured automatically when a camera gets connected. I plan to add udev support to uvcctl later.
To configure the driver with the uvcctls script under an Ubuntu system, just download the script and the xml file and enter the following command before you start your application:
sudo uvcctls tisUVC.xmlFinally: Run your application
If you run a unicap application now, all extended features of the The Imaging Source cameras should work. If you use the camera with UCView now, you should see ( depending on your model ), the following features:
- A Shutter property allowing you to set an absolute time in 'seconds'
- Separate controls for Auto Gain and Auto Shutter
- The colour camera should provide three video formats: YUV 4:2:2, Greyscale and RGB Bayer ( the monochrome camera should only provide Greyscale ).
- If you have a BU camera, you should now have Trigger functionality
Wednesday, April 23. 2008
Unicap 0.2.21 released!
Unicap version 0.2.21 just got released!
Changes in this release:
- Support for recent uvcvideo drivers
- French translation ( thanks to Kiki Novak! )
- Packages for Ubuntu Hardy
You can get the source code package from here: http://www.unicap-imaging.org/download.htm. Updated packages for Ubuntu 7.04 ( Feisty ), Ubuntu 7.10 ( Gutsy ) and Ubuntu 8.04 ( Hardy ) are available via the package repositories.
Changes in this release:
- Support for recent uvcvideo drivers
- French translation ( thanks to Kiki Novak! )
- Packages for Ubuntu Hardy
You can get the source code package from here: http://www.unicap-imaging.org/download.htm. Updated packages for Ubuntu 7.04 ( Feisty ), Ubuntu 7.10 ( Gutsy ) and Ubuntu 8.04 ( Hardy ) are available via the package repositories.
Tuesday, April 22. 2008
Using UCView with Desktop Effects
For quite a while now, most modern Linux distributions come with a feature called Desktop Effects. When Desktop Effects are enabled, the processor of the graphics card is used to enhance the visual appearance of the desktop, for example by letting windows drop shadows or by giving windows semi-transparent borders.
If you are using UCView and enabled the desktop effects on your computer, you may encounter strange effects. Depending on your graphics hardware and on the colour format used by the camera, you may see different distortions, like a blue area where windows should drop a shadow or the video image overlaying everything that is placed over it. For example in this picture you see the video image getting placed in front of the About window, obscuring a part of it:

The reason for this behaviour is that UCView uses the XVideo extension to accelerate the video output. Unfortunately, this extension is not very well supported by the compositing feature which is used for the desktop effects.
The use of XVideo is also the reason you can not make screenshots of an UCView window showing video on some systems. You will only see a blue image where the video belongs if you are looking at the screenshots afterwards.
There is a way to get around these issues by disabling the use of the XVideo extension. You can do that with the following command ( enter it in a terminal window ):
On the next start of UCView, the video window should behave as expected:

There are other interesting uses of the GConf settings which I will discuss in one of the next blog posts.
If you are using UCView and enabled the desktop effects on your computer, you may encounter strange effects. Depending on your graphics hardware and on the colour format used by the camera, you may see different distortions, like a blue area where windows should drop a shadow or the video image overlaying everything that is placed over it. For example in this picture you see the video image getting placed in front of the About window, obscuring a part of it:

The reason for this behaviour is that UCView uses the XVideo extension to accelerate the video output. Unfortunately, this extension is not very well supported by the compositing feature which is used for the desktop effects.
The use of XVideo is also the reason you can not make screenshots of an UCView window showing video on some systems. You will only see a blue image where the video belongs if you are looking at the screenshots afterwards.
There is a way to get around these issues by disabling the use of the XVideo extension. You can do that with the following command ( enter it in a terminal window ):
gconftool-2 --set --type boolean /apps/ucview/disable_xv true
On the next start of UCView, the video window should behave as expected:

There are other interesting uses of the GConf settings which I will discuss in one of the next blog posts.
Sunday, April 20. 2008
Unicap 0.2.20 Released!
Unicap Version 0.2.20 just got released.
Changes in this release:
- Better support for The Imaging Source USB cameras ( please use the latest uvcvideo driver from http://linux-uvc.berlios.de/ )
- Added and fixed some colour conversion routines
- Some minor fixes in the UnicapGTK library
You can get the source code package from here: http://www.unicap-imaging.org/download.htm. Updated packages for Ubuntu 7.04 ( Feisty ) and Ubuntu 7.10 ( Gutsy ) are available via the package repositories.
Changes in this release:
- Better support for The Imaging Source USB cameras ( please use the latest uvcvideo driver from http://linux-uvc.berlios.de/ )
- Added and fixed some colour conversion routines
- Some minor fixes in the UnicapGTK library
You can get the source code package from here: http://www.unicap-imaging.org/download.htm. Updated packages for Ubuntu 7.04 ( Feisty ) and Ubuntu 7.10 ( Gutsy ) are available via the package repositories.
Launching new services on the Unicap website
I am happy to announce that there are now two new services on the unicap-imaging.org website.
The forums are not only meant to give users the ability to post feedback but also are now the main place for submitting and answering support questions. From now on, support requests I receive via E-Mail will be posted in the support forum so that other users may also benefit from the solution. Only support requests from commercial customers will still be handled via E-Mail.
The second addition is ( as you might have noticed ) the Blog. In the future, you will find announcements of new releases here, as well as occasional technical notes about the usage of unicap and related industrial vision stuff for Linux.
I hope you will enjoy the new features on unicap-imaging.org. Your comments and criticisms are always welcome ( of course, criticisms will be moderated
).
Yours truly,
Arne Caspari
Unicap-Imaging developer
The forums are not only meant to give users the ability to post feedback but also are now the main place for submitting and answering support questions. From now on, support requests I receive via E-Mail will be posted in the support forum so that other users may also benefit from the solution. Only support requests from commercial customers will still be handled via E-Mail.
The second addition is ( as you might have noticed ) the Blog. In the future, you will find announcements of new releases here, as well as occasional technical notes about the usage of unicap and related industrial vision stuff for Linux.
I hope you will enjoy the new features on unicap-imaging.org. Your comments and criticisms are always welcome ( of course, criticisms will be moderated
Yours truly,
Arne Caspari
Unicap-Imaging developer
(Page 1 of 1, totaling 15 entries)

