summaryrefslogtreecommitdiff
path: root/vhook/hooks.html
blob: 750d15cc9210f17789a031bc8b72ac70e8a4c13d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.51
     from hooks.texi on 20 November 2002 -->

<TITLE>Video Hook Documentation</TITLE>
</HEAD>
<BODY>
<H1>Video Hook Documentation</H1>
<P>
<P><HR><P>
<H1>Table of Contents</H1>
<UL>
<LI><A NAME="TOC1" HREF="hooks.html#SEC1">1  Introduction</A>
<UL>
<LI><A NAME="TOC2" HREF="hooks.html#SEC2">1.1  null.c</A>
<LI><A NAME="TOC3" HREF="hooks.html#SEC3">1.2  fish.c</A>
<LI><A NAME="TOC4" HREF="hooks.html#SEC4">1.3  imlib2.c</A>
</UL>
</UL>
<P><HR><P>

<P>
Video Hook Documentation
<P>

</P>



<H1><A NAME="SEC1" HREF="hooks.html#TOC1">1  Introduction</A></H1>

<P>
The video hook functionality is designed (mostly) for live video. It allows
the video to be modified or examined between the decoder and the encoder.

</P>
<P>
Any number of hook modules can be placed inline, and they are run in the
order that they were specified on the ffmpeg command line.

</P>
<P>
Three modules are provided and are described below. They are all intended to
be used as a base for your own modules. 

</P>
<P>
Modules are loaded using the -vhook option to ffmpeg. The value of this parameter
is a space seperated list of arguments. The first is the module name, and the rest
are passed as arguments to the Configure function of the module.

</P>


<H2><A NAME="SEC2" HREF="hooks.html#TOC2">1.1  null.c</A></H2>

<P>
This does nothing. Actually it converts the input image to RGB24 and then converts
it back again. This is meant as a sample that you can use to test your setup.

</P>


<H2><A NAME="SEC3" HREF="hooks.html#TOC3">1.2  fish.c</A></H2>

<P>
This implements a 'fish detector'. Essentially it converts the image into HSV
space and tests whether more than a certain percentage of the pixels fall into
a specific HSV cuboid. If so, then the image is saved into a file for processing
by other bits of code.

</P>
<P>
Why use HSV? It turns out that HSV cuboids represent a more compact range of
colors than would an RGB cuboid.

</P>


<H2><A NAME="SEC4" HREF="hooks.html#TOC4">1.3  imlib2.c</A></H2>

<P>
This allows a caption to be placed onto each frame. It supports inserting the
time and date. By using the imlib functions, it would be easy to add your own
graphical logo, add a frame/border, etc.

</P>

<P><HR><P>
This document was generated on 20 November 2002 using the
<A HREF="http://wwwcn.cern.ch/dci/texi2html/">texi2html</A>
translator version 1.51.</P>
</BODY>
</HTML>