1 |
Jonathan R. Haws <Jonathan.Haws <at> sdl.usu.edu> writes: |
2 |
|
3 |
Hello, |
4 |
|
5 |
> I am looking for a software API that I can use to develop a UI that will |
6 |
> display an analog video stream on the screen with overlaid controls |
7 |
> (buttons, indicators, etc.). |
8 |
|
9 |
Maybe these are a good place to look at developing software for gentoo: |
10 |
[1][2] |
11 |
|
12 |
|
13 |
> The latency for the video |
14 |
> display must be less than 1/4 second to meet the design requirements, so |
15 |
> something that can be programmed in separate threads (a video thread and |
16 |
> an overlay thread) may be the best option. |
17 |
|
18 |
You'll need to find or develop a 'low latency' method to collect the video |
19 |
(frames). I'm not so sure how experienced you are with video, so some of this |
20 |
advice may not be relevant for you: |
21 |
|
22 |
1. Look at the existing projects for frame grabbers and the device drivers |
23 |
for the hardware portion of the related software: bttv/xawtv/camE has been |
24 |
around for ever and the driver code has been fundamentally changed over time. |
25 |
|
26 |
Here is a more current listing: [3] |
27 |
Looking at some of the oldest driver code will show you have the 'bt848' chips |
28 |
works. The bt848 chips have been replaced by new chips (878) and others. |
29 |
Reading the data sheets on the chips will tell you quite a lot about |
30 |
what is possible (This all assumes you are going to use a 'cots' |
31 |
video capture hardware system that plugs into the pci slot of a (gentoo) |
32 |
computer. If you are custom designing hardwareware (fpga, dsp, analog circuits) |
33 |
then it may not be useful. |
34 |
|
35 |
2. Find the relevant devise drivers for other chipsets used in video capture, |
36 |
in the latest linux kernels for good places to look at what has already been |
37 |
coded. This is a very dynamic area for device drivers (over the last few |
38 |
years) so the driver code for a given video chipset and easily have changed |
39 |
of the coarse of that time. |
40 |
|
41 |
3. Look at ffmpeg and the developers therein, as you might be able to |
42 |
learn quite a lot from previously (failed) projects and new efforts. |
43 |
|
44 |
3. Keep you gui tools simple and lightweight. There are many graphical |
45 |
toolkits you can use to create your graphics (UI). This is a huge, |
46 |
separate effort. You may decide to use existing code for all of the low |
47 |
level code and then just spin your own (UI) on top of a striped down |
48 |
version of ffmpeg. My choice, QT4. |
49 |
|
50 |
4. Read the sources to a lot of projects and talk to the folks at these |
51 |
projects, before you start off 'half-baked'.....(caveat emptor)! |
52 |
|
53 |
|
54 |
On gentoo here is a great place to begin your search: |
55 |
|
56 |
cd //usr/portage/media-video |
57 |
|
58 |
|
59 |
Other keywords |
60 |
camstream Ogg OGM matroska |
61 |
|
62 |
|
63 |
5. If you are looking into low latency video, for machine control |
64 |
types of projects, then look into some 'image processing' areas |
65 |
such as robotics for ideas in published 'white paper' and from |
66 |
the standard journal publications. ACM, IEEE and the various |
67 |
research area related to (computer) vision. |
68 |
|
69 |
|
70 |
This is a very active, complex area you have chosen to work in. READ |
71 |
(research) quite a lot and then narrow your focus on something that is |
72 |
realistically achievable. Drop me some private email, if you like. |
73 |
|
74 |
|
75 |
HTH, |
76 |
|
77 |
|
78 |
James |
79 |
|
80 |
|
81 |
[1] http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds |
82 |
[2] http://overlays.gentoo.org/ |
83 |
[3] http://www.cs.cornell.edu/~reynolds/quickcam/ |
84 |
|
85 |
-- |
86 |
gentoo-user@g.o mailing list |