Jonathan R. Haws <Jonathan.Haws <at> sdl.usu.edu> writes: Hello,
> I am looking for a software API that I can use to develop a UI that will > display an analog video stream on the screen with overlaid controls > (buttons, indicators, etc.). Maybe these are a good place to look at developing software for gentoo: [1][2] > The latency for the video > display must be less than 1/4 second to meet the design requirements, so > something that can be programmed in separate threads (a video thread and > an overlay thread) may be the best option. You'll need to find or develop a 'low latency' method to collect the video (frames). I'm not so sure how experienced you are with video, so some of this advice may not be relevant for you: 1. Look at the existing projects for frame grabbers and the device drivers for the hardware portion of the related software: bttv/xawtv/camE has been around for ever and the driver code has been fundamentally changed over time. Here is a more current listing: [3] Looking at some of the oldest driver code will show you have the 'bt848' chips works. The bt848 chips have been replaced by new chips (878) and others. Reading the data sheets on the chips will tell you quite a lot about what is possible (This all assumes you are going to use a 'cots' video capture hardware system that plugs into the pci slot of a (gentoo) computer. If you are custom designing hardwareware (fpga, dsp, analog circuits) then it may not be useful. 2. Find the relevant devise drivers for other chipsets used in video capture, in the latest linux kernels for good places to look at what has already been coded. This is a very dynamic area for device drivers (over the last few years) so the driver code for a given video chipset and easily have changed of the coarse of that time. 3. Look at ffmpeg and the developers therein, as you might be able to learn quite a lot from previously (failed) projects and new efforts. 3. Keep you gui tools simple and lightweight. There are many graphical toolkits you can use to create your graphics (UI). This is a huge, separate effort. You may decide to use existing code for all of the low level code and then just spin your own (UI) on top of a striped down version of ffmpeg. My choice, QT4. 4. Read the sources to a lot of projects and talk to the folks at these projects, before you start off 'half-baked'.....(caveat emptor)! On gentoo here is a great place to begin your search: cd //usr/portage/media-video Other keywords camstream Ogg OGM matroska 5. If you are looking into low latency video, for machine control types of projects, then look into some 'image processing' areas such as robotics for ideas in published 'white paper' and from the standard journal publications. ACM, IEEE and the various research area related to (computer) vision. This is a very active, complex area you have chosen to work in. READ (research) quite a lot and then narrow your focus on something that is realistically achievable. Drop me some private email, if you like. HTH, James [1] http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds [2] http://overlays.gentoo.org/ [3] http://www.cs.cornell.edu/~reynolds/quickcam/ -- [EMAIL PROTECTED] mailing list