1 | \input texinfo @c -*- texinfo -*-
|
---|
2 |
|
---|
3 | @settitle Video Hook Documentation
|
---|
4 | @titlepage
|
---|
5 | @sp 7
|
---|
6 | @center @titlefont{Video Hook Documentation}
|
---|
7 | @sp 3
|
---|
8 | @end titlepage
|
---|
9 |
|
---|
10 |
|
---|
11 | @chapter Introduction
|
---|
12 |
|
---|
13 |
|
---|
14 | The video hook functionality is designed (mostly) for live video. It allows
|
---|
15 | the video to be modified or examined between the decoder and the encoder.
|
---|
16 |
|
---|
17 | Any number of hook modules can be placed inline, and they are run in the
|
---|
18 | order that they were specified on the ffmpeg command line.
|
---|
19 |
|
---|
20 | Three modules are provided and are described below. They are all intended to
|
---|
21 | be used as a base for your own modules.
|
---|
22 |
|
---|
23 | Modules are loaded using the -vhook option to ffmpeg. The value of this parameter
|
---|
24 | is a space separated list of arguments. The first is the module name, and the rest
|
---|
25 | are passed as arguments to the Configure function of the module.
|
---|
26 |
|
---|
27 | @section null.c
|
---|
28 |
|
---|
29 | This does nothing. Actually it converts the input image to RGB24 and then converts
|
---|
30 | it back again. This is meant as a sample that you can use to test your setup.
|
---|
31 |
|
---|
32 | @section fish.c
|
---|
33 |
|
---|
34 | This implements a 'fish detector'. Essentially it converts the image into HSV
|
---|
35 | space and tests whether more than a certain percentage of the pixels fall into
|
---|
36 | a specific HSV cuboid. If so, then the image is saved into a file for processing
|
---|
37 | by other bits of code.
|
---|
38 |
|
---|
39 | Why use HSV? It turns out that HSV cuboids represent a more compact range of
|
---|
40 | colors than would an RGB cuboid.
|
---|
41 |
|
---|
42 | @section imlib2.c
|
---|
43 |
|
---|
44 | This allows a caption to be placed onto each frame. It supports inserting the
|
---|
45 | time and date. By using the imlib functions, it would be easy to add your own
|
---|
46 | graphical logo, add a frame/border, etc.
|
---|
47 |
|
---|
48 |
|
---|
49 | @bye
|
---|