Gentoo Archives: gentoo-user

From: James <wireless@×××××××××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Re: Video Overlay Software API
Date: Tue, 04 Dec 2007 15:49:31
Message-Id: loom.20071204T144212-74@post.gmane.org
In Reply to: [gentoo-user] Video Overlay Software API by "Jonathan R. Haws"
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