mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-03 23:07:23 +08:00
c39ddc6c3d
To use clang with BPF for v4l-utils, libbpf must be installed but it's not a BLFS package. And I doubt if any BLFS user really uses an IR remote control on the BLFS system. So let's not make all BLFS users build something useless. Note that if both clang and libbpf both exist, v4l-utils will attempt to use "clang -target bpf" anyway even if -Dbpf=disabled is explicitly specified (we've got enough surprise from v4l-utils building system these days!!), so add a note to v4l-utils for people installing non-BLFS libbpf.
424 lines
12 KiB
XML
424 lines
12 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY v4l-download-http "https://www.linuxtv.org/downloads/v4l-utils/v4l-utils-&v4l-utils-version;.tar.xz">
|
|
<!ENTITY v4l-download-ftp " ">
|
|
<!ENTITY v4l-md5sum "0ccb2a18e1d3a3b2986591753a2b3a7f">
|
|
<!ENTITY v4l-size "1.2 MB">
|
|
<!ENTITY v4l-buildsize "32 MB">
|
|
<!ENTITY v4l-time "1.1 SBU (using parallelism=4)">
|
|
]>
|
|
|
|
<sect1 id="v4l-utils" xreflabel="v4l-utils-&v4l-utils-version;">
|
|
<?dbhtml filename="v4l-utils.html" ?>
|
|
|
|
|
|
<title>v4l-utils-&v4l-utils-version;</title>
|
|
|
|
<indexterm zone="v4l-utils">
|
|
<primary sortas="a-v4l-utils">v4l-utils</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to v4l-utils</title>
|
|
|
|
<para>
|
|
<application>v4l-utils</application> provides a series of utilities for
|
|
media devices, allowing to handle the proprietary formats available at
|
|
most webcams (libv4l), and providing tools to test V4L devices.
|
|
</para>
|
|
|
|
&lfs120_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&v4l-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&v4l-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &v4l-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &v4l-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &v4l-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &v4l-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<!--
|
|
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Required patch:
|
|
<ulink url="&patch-root;/v4l-utils-&v4l-utils-version;-upstream_fixes-1.patch"/>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
-->
|
|
<bridgehead renderas="sect3">v4l-utils Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="alsa-lib"/>,
|
|
<xref linkend="glu"/>,
|
|
<xref linkend="libjpeg"/>, and
|
|
&qt5-deps;
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<xref linkend="doxygen"/>,
|
|
<xref linkend="sdl2"/>, and
|
|
both <xref linkend="llvm"/> (with Clang and target BPF)
|
|
and <ulink url='https://github.com/libbpf/libbpf'>libbpf</ulink>
|
|
(for infrared remote control decoders based on BPF)
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of v4l-utils</title>
|
|
|
|
<note>
|
|
<para>
|
|
If you've installed both LLVM and libbpf (not in BLFS), either
|
|
enable the BPF target (via
|
|
<option>-DLLVM_TARGETS_TO_BUILD=</option>) building LLVM, or disable
|
|
the infrared remote control decoders based on BPF:
|
|
</para>
|
|
|
|
<!-- not "nodump" because it's harmless for BLFS anyway -->
|
|
<screen><userinput>sed '/^ir_bpf_enabled/s/=.*/= false/' \
|
|
-i utils/keytable/meson.build</userinput></screen>
|
|
</note>
|
|
|
|
<para>
|
|
Install <application>v4l-utils</application> by running
|
|
the following commands:
|
|
</para>
|
|
|
|
<screen><userinput>mkdir build &&
|
|
cd build &&
|
|
meson setup --prefix=/usr -Ddoxygen-doc=disabled \
|
|
-Dgconv=disabled --buildtype=release ..
|
|
|
|
ninja</userinput></screen>
|
|
|
|
|
|
<para>
|
|
This package does not come with a test suite.
|
|
</para>
|
|
|
|
<para>
|
|
Now, as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>ninja install</userinput></screen>
|
|
|
|
<para>
|
|
If you also wish to install the contrib programs, add:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>for prog in sdlcam v4l2gl v4l2grab
|
|
do
|
|
cp -v contrib/test/$prog $DESTDIR/usr/bin/.
|
|
done</userinput></screen>
|
|
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para>
|
|
<parameter>-Dgconv=disabled</parameter>: This switch disables
|
|
the erroneous installation of gconv-modules that would break glibc.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Library</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
cec-compliance,
|
|
cec-ctl,
|
|
cec-follower,
|
|
cx18-ctl,
|
|
decode_tm6000,
|
|
dvb-fe-tool,
|
|
dvb-format-convert,
|
|
dvbv5-daemon,
|
|
dvbv5-scan,
|
|
dvbv5-zap,
|
|
ir-ctl,
|
|
ir-keytable,
|
|
ivtv-ctl,
|
|
media-ctl,
|
|
qv4l2,
|
|
qvidcap,
|
|
rds-ctl,
|
|
v4l2-compliance,
|
|
v4l2-ctl,
|
|
v4l2-dbg, and
|
|
v4l2-sysfs-path
|
|
</seg>
|
|
<seg>
|
|
libdvbv5.so,
|
|
libv4l1.so,
|
|
libv4l2.so,
|
|
libv4l2rds.so,
|
|
libv4lconvert.so,
|
|
v4l1compat.so, and
|
|
v4l2convert.so
|
|
</seg>
|
|
<seg>
|
|
/etc/rc_keymaps,
|
|
/lib/udev/rc_keymaps,
|
|
/usr/include/libdvbv5, and
|
|
/usr/lib/libv4l
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="cx18-ctl">
|
|
<term><command>cx18-ctl</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to handle cx18 based devices
|
|
</para>
|
|
<indexterm zone="v4l-utils cx18-ctl">
|
|
<primary sortas="b-cx18-ctl">cx18-ctl</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="decode_tm6000">
|
|
<term><command>decode_tm6000</command></term>
|
|
<listitem>
|
|
<para>
|
|
decodes multiplexed formats from TM5600/TM6000 USB devices
|
|
</para>
|
|
<indexterm zone="v4l-utils decode_tm6000">
|
|
<primary sortas="b-decode_tm6000">decode_tm6000</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dvb-fe-tool">
|
|
<term><command>dvb-fe-tool</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a command line tool for digital TV services
|
|
</para>
|
|
<indexterm zone="v4l-utils dvb-fe-tool">
|
|
<primary sortas="b-dvb-fe-tool">dvb-fe-tool</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dvb-format-convert">
|
|
<term><command>dvb-format-convert</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool meant to convert among different file formats. It is
|
|
compliant with version 5 of the DVB API
|
|
</para>
|
|
<indexterm zone="v4l-utils dvb-format-convert">
|
|
<primary sortas="b-dvb-format-convert">dvb-format-convert</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dvbv5-scan">
|
|
<term><command>dvbv5-scan</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a command line frequency scanning tool for digital TV
|
|
services that are compliant with version 5 of the DVB API
|
|
</para>
|
|
<indexterm zone="v4l-utils dvbv5-scan">
|
|
<primary sortas="b-dvbv5-scan">dvbv5-scan</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="dvbv5-zap">
|
|
<term><command>dvbv5-zap</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a command line tuning tool for digital TV services
|
|
that is compliant with version 5 of the DVB API
|
|
</para>
|
|
<indexterm zone="v4l-utils dvbv5-zap">
|
|
<primary sortas="b-dvbv5-zap">dvbv5-zap</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="ir-keytable">
|
|
<term><command>ir-keytable</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool that lists the Remote Controller devices, allows one
|
|
to get/set IR keycode/scancode tables, test events generated by
|
|
IR, and to adjust other Remote Controller options
|
|
</para>
|
|
<indexterm zone="v4l-utils ir-keytable">
|
|
<primary sortas="b-ir-keytable">ir-keytable</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="ivtv-ctl">
|
|
<term><command>ivtv-ctl</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a utility that can control many card settings, like changing
|
|
the inputs from tuner to svideo or composite, setting video
|
|
resolution or changing video mode (PAL, SECAM, NTSC)
|
|
</para>
|
|
<indexterm zone="v4l-utils ivtv-ctl">
|
|
<primary sortas="b-ivtv-ctl">ivtv-ctl</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="media-ctl">
|
|
<term><command>media-ctl</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a utility used to configure V4L2 devices
|
|
</para>
|
|
<indexterm zone="v4l-utils media-ctl">
|
|
<primary sortas="b-media-ctl">media-ctl</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="qv4l2">
|
|
<term><command>qv4l2</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to test video4linux capture devices
|
|
</para>
|
|
<indexterm zone="v4l-utils qv4l2">
|
|
<primary sortas="b-qv4l2">qv4l2</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="qvidcap">
|
|
<term><command>qvidcap</command></term>
|
|
<listitem>
|
|
<para>
|
|
is used to capture video from a V4L2 device
|
|
</para>
|
|
<indexterm zone="v4l-utils qvidcap">
|
|
<primary sortas="b-qvidcap">qvidcap</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="rds-ctl">
|
|
<term><command>rds-ctl</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a utility for decoding raw RDS data from V4L2 Radio devices
|
|
and offers simple ways to access the received RDS information
|
|
</para>
|
|
<indexterm zone="v4l-utils rds-ctl">
|
|
<primary sortas="b-rds-ctl">rds-ctl</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="v4l2-compliance">
|
|
<term><command>v4l2-compliance</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a compliance test tool
|
|
</para>
|
|
<indexterm zone="v4l-utils v4l2-compliance">
|
|
<primary sortas="b-v4l2-compliance">v4l2-compliance</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="v4l2-ctl">
|
|
<term><command>v4l2-ctl</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to control v4l2 controls from the cmdline
|
|
</para>
|
|
<indexterm zone="v4l-utils v4l2-ctl">
|
|
<primary sortas="b-v4l2-ctl">v4l2-ctl</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="v4l2-dbg">
|
|
<term><command>v4l2-dbg</command></term>
|
|
<listitem>
|
|
<para>
|
|
is a tool to directly get and set registers of v4l2 devices
|
|
</para>
|
|
<indexterm zone="v4l-utils v4l2-dbg">
|
|
<primary sortas="b-v4l2-dbg">v4l2-dbg</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="v4l2-sysfs-path">
|
|
<term><command>v4l2-sysfs-path</command></term>
|
|
<listitem>
|
|
<para>
|
|
checks the media devices installed on a machine and the
|
|
corresponding device nodes
|
|
</para>
|
|
<indexterm zone="v4l-utils v4l2-sysfs-path">
|
|
<primary sortas="b-v4l2-sysfs-path">v4l2-sysfs-path</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|