source: multimedia/libdriv/v4l-utils.xml@ c36ca685

12.2 lazarus trunk
Last change on this file since c36ca685 was 41a19c4, checked in by Bruce Dubbs <bdubbs@…>, 4 weeks ago

Tag Chapter 10 and two dependencies.

  • Property mode set to 100644
File size: 14.5 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY v4l-download-http "https://www.linuxtv.org/downloads/v4l-utils/v4l-utils-&v4l-utils-version;.tar.xz">
8 <!ENTITY v4l-download-ftp " ">
9 <!ENTITY v4l-md5sum "6716de513a1fd2e1edb404a46a455855">
10 <!ENTITY v4l-size "1.2 MB">
11 <!ENTITY v4l-buildsize "34 MB">
12 <!ENTITY v4l-time "0.4 SBU (using parallelism=4)">
13]>
14
15<sect1 id="v4l-utils" xreflabel="v4l-utils-&v4l-utils-version;">
16 <?dbhtml filename="v4l-utils.html" ?>
17
18
19 <title>v4l-utils-&v4l-utils-version;</title>
20
21 <indexterm zone="v4l-utils">
22 <primary sortas="a-v4l-utils">v4l-utils</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to v4l-utils</title>
27
28 <para>
29 <application>v4l-utils</application> provides a series of utilities for
30 media devices, allowing the ability to handle the proprietary formats
31 available from most webcams (libv4l), and providing tools to test V4L devices.
32 </para>
33
34 &lfs122_checked;
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&v4l-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&v4l-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &v4l-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &v4l-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &v4l-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &v4l-time;
66 </para>
67 </listitem>
68 </itemizedlist>
69<!--
70 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
71 <itemizedlist>
72 <listitem>
73 <para>
74 Required patch:
75 <ulink url="&patch-root;/v4l-utils-&v4l-utils-version;-upstream_fixes-1.patch"/>
76 </para>
77 </listitem>
78 </itemizedlist>
79-->
80 <bridgehead renderas="sect3">v4l-utils Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Recommended</bridgehead>
83 <para role="recommended">
84 <xref linkend="alsa-lib"/>,
85 <xref linkend="glu"/>, and
86 <xref linkend="libjpeg"/>
87 </para>
88
89 <bridgehead renderas="sect4">Optional</bridgehead>
90 <para role="optional">
91 <xref linkend="doxygen"/>,
92 <xref linkend="qt6"/> (for qv4l2 and qvidcap),
93 <xref linkend="sdl2"/>,
94 both <xref linkend="llvm"/> (with Clang and target BPF)
95 and <ulink url='https://github.com/libbpf/libbpf'>libbpf</ulink>
96 (for infrared remote control decoders based on BPF), and
97 <ulink url="https://github.com/libsdl-org/SDL_image">SDL_image</ulink>
98 </para>
99
100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of v4l-utils</title>
104
105 <note>
106 <para>
107 If you've installed both LLVM and libbpf (not in BLFS), either
108 enable the BPF target (via
109 <option>-D LLVM_TARGETS_TO_BUILD=</option>) building LLVM, or disable
110 the infrared remote control decoders based on BPF:
111 </para>
112
113 <!-- not "nodump" because it's harmless for BLFS anyway -->
114 <screen><userinput>sed -i '/^ir_bpf_enabled/s/=.*/= false/' utils/keytable/meson.build</userinput></screen>
115 </note>
116
117 <para>
118 Install <application>v4l-utils</application> by running
119 the following commands:
120 </para>
121
122<screen><userinput>mkdir build &amp;&amp;
123cd build &amp;&amp;
124
125meson setup .. \
126 --prefix=/usr \
127 --buildtype=release \
128 -D gconv=disabled \
129 -D doxygen-doc=disabled &amp;&amp;
130ninja</userinput></screen>
131
132 <para>
133 This package does not come with a test suite.
134 </para>
135
136 <para>
137 Now, as the <systemitem class="username">root</systemitem> user:
138 </para>
139
140<screen role="root"><userinput>ninja install</userinput></screen>
141
142 <para>
143 If you also wish to install the contrib programs, add:
144 </para>
145
146<screen role="root"><userinput>for prog in v4l2gl v4l2grab
147do
148 cp -v contrib/test/$prog /usr/bin
149done</userinput></screen>
150
151 </sect2>
152
153 <sect2 role="commands">
154 <title>Command Explanations</title>
155
156 <!-- Please do NOT touch this unless you've tried a DESTDIR installation
157 and you really understand what will be going on:
158
159 Without this option the package will overwrite
160 /usr/lib/gconv/gconv-modules which is a part of the **Glibc**
161 installation and break iconv (both the command iconv(1) and the
162 Glibc function iconv(3)). Then some BLFS packages will FTBFS or
163 fail a dozen of tests etc.
164
165 Already reported as https://lore.kernel.org/linux-media/3ffb1568a9ff6c0b6f5424de3a0fafb24e7b3ac0.camel@xry111.site/.
166
167 Debian and Gentoo also have -D gconv=disabled. Fedora manually
168 moves the gconv-modules file in a DESTDIR installation. IMO it's
169 completely stupid to have an installation conflicting with Glibc in
170 the default configuration, but they just completely ignore my
171 report and rely on the distro maintainers to resolve the issue,
172 even without mentioning the conflict in README.md, nor INSTALL.md.
173 This is the worst upstream behavior I've ever seen. -->
174 <para>
175 <parameter>-D gconv=disabled</parameter>: This switch disables
176 the erroneous installation of gconv-modules that would break glibc.
177 </para>
178
179 </sect2>
180
181 <sect2 role="content">
182 <title>Contents</title>
183
184 <segmentedlist>
185 <segtitle>Installed Programs</segtitle>
186 <segtitle>Installed Library</segtitle>
187 <segtitle>Installed Directories</segtitle>
188
189 <seglistitem>
190 <seg>
191 cec-compliance,
192 cec-ctl,
193 cec-follower,
194 cx18-ctl,
195 decode_tm6000,
196 dvb-fe-tool,
197 dvb-format-convert,
198 dvbv5-daemon,
199 dvbv5-scan,
200 dvbv5-zap,
201 ir-ctl,
202 ir-keytable,
203 ivtv-ctl,
204 media-ctl,
205 qv4l2,
206 qvidcap,
207 rds-ctl,
208 v4l2-compliance,
209 v4l2-ctl,
210 v4l2-dbg,
211 v4l2gl,
212 v4l2grab, and
213 v4l2-sysfs-path
214 </seg>
215 <seg>
216 libdvbv5.so,
217 libv4l1.so,
218 libv4l2.so,
219 libv4l2rds.so,
220 libv4lconvert.so,
221 v4l1compat.so, and
222 v4l2convert.so
223 </seg>
224 <seg>
225 /etc/rc_keymaps,
226 /lib/udev/rc_keymaps,
227 /usr/include/libdvbv5, and
228 /usr/lib/libv4l
229 </seg>
230 </seglistitem>
231 </segmentedlist>
232
233 <variablelist>
234 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
235 <?dbfo list-presentation="list"?>
236 <?dbhtml list-presentation="table"?>
237
238 <varlistentry id="cx18-ctl">
239 <term><command>cx18-ctl</command></term>
240 <listitem>
241 <para>
242 is a tool to handle cx18 based devices
243 </para>
244 <indexterm zone="v4l-utils cx18-ctl">
245 <primary sortas="b-cx18-ctl">cx18-ctl</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
250 <varlistentry id="decode_tm6000">
251 <term><command>decode_tm6000</command></term>
252 <listitem>
253 <para>
254 decodes multiplexed formats from TM5600/TM6000 USB devices
255 </para>
256 <indexterm zone="v4l-utils decode_tm6000">
257 <primary sortas="b-decode_tm6000">decode_tm6000</primary>
258 </indexterm>
259 </listitem>
260 </varlistentry>
261
262 <varlistentry id="dvb-fe-tool">
263 <term><command>dvb-fe-tool</command></term>
264 <listitem>
265 <para>
266 is a command line tool for digital TV services
267 </para>
268 <indexterm zone="v4l-utils dvb-fe-tool">
269 <primary sortas="b-dvb-fe-tool">dvb-fe-tool</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="dvb-format-convert">
275 <term><command>dvb-format-convert</command></term>
276 <listitem>
277 <para>
278 is a tool meant to convert among different file formats. It is
279 compliant with version 5 of the DVB API
280 </para>
281 <indexterm zone="v4l-utils dvb-format-convert">
282 <primary sortas="b-dvb-format-convert">dvb-format-convert</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="dvbv5-scan">
288 <term><command>dvbv5-scan</command></term>
289 <listitem>
290 <para>
291 is a command line frequency scanning tool for digital TV
292 services that are compliant with version 5 of the DVB API
293 </para>
294 <indexterm zone="v4l-utils dvbv5-scan">
295 <primary sortas="b-dvbv5-scan">dvbv5-scan</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="dvbv5-zap">
301 <term><command>dvbv5-zap</command></term>
302 <listitem>
303 <para>
304 is a command line tuning tool for digital TV services
305 that is compliant with version 5 of the DVB API
306 </para>
307 <indexterm zone="v4l-utils dvbv5-zap">
308 <primary sortas="b-dvbv5-zap">dvbv5-zap</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="ir-keytable">
314 <term><command>ir-keytable</command></term>
315 <listitem>
316 <para>
317 is a tool that lists the Remote Controller devices, allows one
318 to get/set IR keycode/scancode tables, test events generated by
319 IR, and to adjust other Remote Controller options
320 </para>
321 <indexterm zone="v4l-utils ir-keytable">
322 <primary sortas="b-ir-keytable">ir-keytable</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
327 <varlistentry id="ivtv-ctl">
328 <term><command>ivtv-ctl</command></term>
329 <listitem>
330 <para>
331 is a utility that can control many card settings, like changing
332 the inputs from tuner to svideo or composite, setting video
333 resolution or changing video mode (PAL, SECAM, NTSC)
334 </para>
335 <indexterm zone="v4l-utils ivtv-ctl">
336 <primary sortas="b-ivtv-ctl">ivtv-ctl</primary>
337 </indexterm>
338 </listitem>
339 </varlistentry>
340
341 <varlistentry id="media-ctl">
342 <term><command>media-ctl</command></term>
343 <listitem>
344 <para>
345 is a utility used to configure V4L2 devices
346 </para>
347 <indexterm zone="v4l-utils media-ctl">
348 <primary sortas="b-media-ctl">media-ctl</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="qv4l2">
354 <term><command>qv4l2</command></term>
355 <listitem>
356 <para>
357 is used to test video4linux capture devices
358 </para>
359 <indexterm zone="v4l-utils qv4l2">
360 <primary sortas="b-qv4l2">qv4l2</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="qvidcap">
366 <term><command>qvidcap</command></term>
367 <listitem>
368 <para>
369 is used to capture video from a V4L2 device
370 </para>
371 <indexterm zone="v4l-utils qvidcap">
372 <primary sortas="b-qvidcap">qvidcap</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="rds-ctl">
378 <term><command>rds-ctl</command></term>
379 <listitem>
380 <para>
381 is a utility for decoding raw RDS data from V4L2 Radio devices
382 and offers simple ways to access the received RDS information
383 </para>
384 <indexterm zone="v4l-utils rds-ctl">
385 <primary sortas="b-rds-ctl">rds-ctl</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="v4l2-compliance">
391 <term><command>v4l2-compliance</command></term>
392 <listitem>
393 <para>
394 is a compliance test tool
395 </para>
396 <indexterm zone="v4l-utils v4l2-compliance">
397 <primary sortas="b-v4l2-compliance">v4l2-compliance</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="v4l2-ctl">
403 <term><command>v4l2-ctl</command></term>
404 <listitem>
405 <para>
406 is a tool to control v4l2 controls from the cmdline
407 </para>
408 <indexterm zone="v4l-utils v4l2-ctl">
409 <primary sortas="b-v4l2-ctl">v4l2-ctl</primary>
410 </indexterm>
411 </listitem>
412 </varlistentry>
413
414 <varlistentry id="v4l2-dbg">
415 <term><command>v4l2-dbg</command></term>
416 <listitem>
417 <para>
418 is a tool to directly get and set registers of v4l2 devices
419 </para>
420 <indexterm zone="v4l-utils v4l2-dbg">
421 <primary sortas="b-v4l2-dbg">v4l2-dbg</primary>
422 </indexterm>
423 </listitem>
424 </varlistentry>
425
426 <varlistentry id="v4l2gl">
427 <term><command>v4l2gl</command></term>
428 <listitem>
429 <para>
430 captures images using libv4l and stores them as PPM files
431 </para>
432 <indexterm zone="v4l-utils v4l2gl">
433 <primary sortas="b-v4l2gl">v4l2gl</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="v4l2grab">
439 <term><command>v4l2grab</command></term>
440 <listitem>
441 <para>
442 captures images using libv4l and stores them as PPM files, while
443 also allowing for additional options such as setting the amount of
444 frames captured and saving the file as a RAW file
445 </para>
446 <indexterm zone="v4l-utils v4l2grab">
447 <primary sortas="b-v4l2grab">v4l2grab</primary>
448 </indexterm>
449 </listitem>
450 </varlistentry>
451
452 <varlistentry id="v4l2-sysfs-path">
453 <term><command>v4l2-sysfs-path</command></term>
454 <listitem>
455 <para>
456 checks the media devices installed on a machine and the
457 corresponding device nodes
458 </para>
459 <indexterm zone="v4l-utils v4l2-sysfs-path">
460 <primary sortas="b-v4l2-sysfs-path">v4l2-sysfs-path</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 </variablelist>
466
467 </sect2>
468
469</sect1>
Note: See TracBrowser for help on using the repository browser.