Difference between revisions of "Elphel workshop in Bordeaux during RMLL 2010"
Revision as of 17:13, 24 June 2010 (view source)
(→ VLC, libvlc )
← Older edit
Revision as of 17:24, 24 June 2010 (view source)
(→ MPlayer / Mencoder)
Newer edit →
|Line 87:||Line 87:|
=== MPlayer / Mencoder ===
=== MPlayer / Mencoder ===
=== GStreamer ===
=== GStreamer ===
Revision as of 17:24, 24 June 2010
- 1 About RMLL
- 2 About the workshop
- 3 Dates, time and place
- 4 Overview of the camera building blocks
- 5 Elphel SDK
- 6 reflashing camera firmware & FPGA bitstream
- 7 Overview of th main software available on the camera
- 8 client software compatible with Elphel cameras
- 9 few words about network configuration for unicast and multicast modes
- 10 Post-processing
- 11 Interfacing with the camera, triggering, synchronization
- 11.1 simple and stupid integration with Arduino
- 11.2 trigger internal & external, multiple cameras synchronization, trigger a camera from GPS
- 11.3 Deep hardware / software integration with Elphel: example on likoboard and likomapper software
- 12 multisensor examples with 10359 board
- 13 Publications
RMLL 2010 (Libre Software Meeting) is a free (as a beer and as a speech) and non commercial conferences, workshops and round table about Free Software and its applications. The LSM goal is to provide a platform for exchange among Free Software developers, users and stakeholders.
This year RMLL will take place in Bordeaux, France from 6th to 11th of July and is organised by a set of local Free Software user groups and organizations with the help of several public and private sponsors. The event will be hosted by ENSEIRB-MATMECA, U-Bordeaux 1, LaBRI & ENSCB.
About the workshop
The workshop will take place during RMLL 2010 and is organized by our Swiss partner Alsenet SA.
All our European customers, partners and friends of Elphel are invited to participate in the workshop. It will be a perfect occasion to meet other Elphel customers, users & developers, to test the hardware, software and to discuss project ideas and future developments. RMLL is also an ideal place to get a better understanding of the economical models of Free Software.
Some preparations on your end (e.g. pre-installing required packages) would allow us to focus on the main topics and cover any remaining questions. Any question prior or during the workshop should be discussed on Elphel’s IRC channel, wiki or public mailing list so we can have a public log that is potentially useful to other Elphel users as well.
Please sign up on the participant’s list, and please add your availability during RMLL so that we can find the optimal day & time for the workshop. All further information about this workshop will be available on this wiki page.
We are looking forward to seeing you at the workshop!
Dates, time and place
The workshop will take place on 7th July from 13:00 to 17:00 in the room TD14 of ENSEIRB.
For accomodation, map, and any other information please visit RMLL web site.
Overview of the camera building blocks
Elphel's goal is to provide high-quality, intelligent, network cameras based on open hardware and free software. Elphel hopes its modular camera design will attract software and FPGA engineers interested in exploring high-definition videography, among other innovative applications.
Both turnkey camera assemblies and OEM modules are available. All the documentation is published on this wiki and our mailing list under GNU FDL v1.3 license and all the source code including FPGA Verilog code, Linux drivers and software are available under GNU GPL v3 license.
All the separate camera components are listed on this page.
Here are the most commonly used:
The 10338 & 10353 boards are the minimum requirements to assemble a camera:
- 10338 - Aptina MT9P031/MT9P001 5MPix (2592x1944) sensor front end to Elphel 353 series cameras.
- 10338 - processor board is the computer part of the Elphel 353 series cameras.
Those two are optional and very flexible extension boards:
- 10359 - multi-function board. It can be connected between the 10353 Processor board and a sensor one (up to three sensor boards can be connected)
- 10369 - IO extension board. SATA, CF, USB 1.1, GPIO, i2c, ... This board also have few adapters
On each of the board pages you will find links to circuit diagram, parts list, PCB layout & Gerber files. Some data-sheets and other necessary documentations are linked from.
http://www3.elphel.com/price_list , last day of RMLL 2010 few cameras will be sold with a special 10% GPL contribution discount.
Elphel is currently working on Eyesis high resolution panoramic camera - http://blogs.elphel.com/category/panoramic/
And soon we return to our next generation camera development - http://blogs.elphel.com/category/andrey/10373/
reflashing camera firmware & FPGA bitstream
Overview of th main software available on the camera
lighttpd / FastCGI / PHP
different PHP scripts
client software compatible with Elphel cameras
lib livemedia (live555)
VLC is a free and open source cross-platform multimedia player and framework, that plays most multimedias files, medias and streaming protocols.
It is simple to use, yet very powerful and extendable. Vlc page provide usage examples.
MPlayer / Mencoder
MPlayer focuses on low latency displaying by avoiding caching and is therefore perfectly suited to display live video streams from Elphel cameras.
Another great feature of MPlayer is the wide range of supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, but you can use GGI, SDL (and this way all their drivers), VESA (on every VESA compatible card, even without X11!) and some low level card-specific drivers (for Matrox, 3Dfx and ATI), too! Most of them support software or hardware scaling.
few words about network configuration for unicast and multicast modes
imageJ plugins for Elphel
JP46 post-processing workflow
There are currently 2 applications and a demo script for post processing JP46 quicktime movies: http://elphel.svn.sourceforge.net/viewvc/elphel/tools/
Movie2DNG is developed by Paulo Henrique Silva and can currently (May 2010) not to the full transition from *.mov to dng but uses ffmpeg to extract a jp46 sequence from the mov. This is the first step in the process.
Once there is a image sequence of JP46 (jpeg) files you can use the next application called "JP4toDNGconverter". This tool uses a modified libtiff to write DNG files that can then be opened the same way as RAW files from other cameras in UFRaw, RawStudio, or Adobe Aftereffects, etc.
The BatchProcess PHP script basically combines the above 2 applications and does a batch conversions of all quicktime movs found in a particular folder to a DNG sequence.
Gstreamer plugins for Elphel
using Gstreamer and GLSL with Elphel cameras
working with OpenCV
using OpenCV and GpuCV with Elphel cameras
Interfacing with the camera, triggering, synchronization
simple and stupid integration with Arduino
trigger internal & external, multiple cameras synchronization, trigger a camera from GPS
Deep hardware / software integration with Elphel: example on likoboard and likomapper software
Cross-compiling the libs
liblikoboard depends on libhid, and libhid needs libusb legacy.
I did compile the latest libusb legacy (0.1.12) from sourceforge, and libhid-svn (rev. 364) from http://libhid.alioth.debian.org/
Porting the PHP extension
To port the PHP extension php_likoboard I had to:
- Build it for my native cpu,
- Source init_env from the elphel353/ folder.
- Copy the php_likoboard folder to elphel353/apps/php/ext/php_likoboard.
- Change to this folder and run ../../elphize.
- Run make and copy .libs/php_likoboard.so to /usr/local/crisv32/lib/php/extensions/no-debug-non-zts-20060613/.
php_likoboard was not working on the camera. So I did write a test application sending debugging messages in console to see what was going wrong.
libusb-0.1.12 appears to be broken when running on the camera, so I did restart using libusb-0.1.11 and it worked.
Adding a PHP ELPHEL_DAEMON to the firmware
Integration to Elphel CVS
multisensor examples with 10359 board
- A while ago (somewhere at 8.0.8.xx) the commands addresses were changed - so please check 10359 discussion page
- Andrey added extra parameters and now everything can be controlled from parsedit.php
- Following this link might be helpful for changing the camera parameters.
|Parameter||Default value||Equal to 10359 reg||Comments|
|MULTI_SEQUENCE||0x39||0x806||2 LSBs - Direct Channel bits - 0x1 - J2, 0x2 - J3, 0x3 - J4|
Combined frame mode
1. set other image parameters
2. set TRIG parameter to 0x4
3. set MULTI_MODE parameter to 0x1