source: multimedia/videoutils/vlc.xml@ 8975244

gimp3 trunk
Last change on this file since 8975244 was 8975244, checked in by Bruce Dubbs <bdubbs@…>, 7 weeks ago

Add patches to vlc to handle ffmpeg-7 and gcc-14.

  • Property mode set to 100644
File size: 16.4 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 vlc-download-http "https://download.videolan.org/vlc/&vlc-version;/vlc-&vlc-version;.tar.xz">
8 <!ENTITY vlc-download-ftp " ">
9 <!ENTITY vlc-md5sum "e8337fcd2df92f3901dad091fb85f545">
10 <!ENTITY vlc-size "24 MB">
11 <!ENTITY vlc-buildsize "726 MB">
12 <!ENTITY vlc-time "1.9 SBU (using parallelism=4; with tests)">
13]>
14
15<sect1 id="vlc" xreflabel="VLC-&vlc-version;">
16 <?dbhtml filename="vlc.html"?>
17
18
19 <title>VLC-&vlc-version;</title>
20
21 <indexterm zone="vlc">
22 <primary sortas="a-VLC">VLC</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to VLC</title>
27
28 <para>
29 <application>VLC</application> is a media player, streamer, and encoder.
30 It can play from many inputs, such as files, network streams, capture
31 devices, desktops, or DVD, SVCD, VCD, and audio CD. It can use most audio
32 and video codecs (MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC,
33 etc.), and it can also convert to different formats and/or send streams
34 through the network.
35 </para>
36
37 &lfs121_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&vlc-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&vlc-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &vlc-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &vlc-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &vlc-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &vlc-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
74 <itemizedlist spacing='compact'>
75 <listitem>
76 <para>
77 Required patch:
78 <ulink url="&patch-root;/vlc-&vlc-version;-taglib-1.patch"/>
79 </para>
80 </listitem>
81 <listitem>
82 <para>
83 Required patch:
84 <ulink url="&patch-root;/vlc-&vlc-version;-gcc14-1.patch"/>
85 </para>
86 </listitem>
87 <listitem>
88 <para>
89 Required patch:
90 <ulink url="&patch-root;/vlc-&vlc-version;-fedora_ffmpeg7-1.patch"/>
91 </para>
92 </listitem>
93 </itemizedlist>
94
95 <bridgehead renderas="sect3">VLC Dependencies</bridgehead>
96
97 <bridgehead renderas="sect4">Recommended</bridgehead>
98 <para role="recommended">
99 <xref linkend="alsa-lib"/>,
100 <xref linkend="desktop-file-utils"/>,
101 <xref linkend="ffmpeg"/>,
102 <xref linkend="liba52"/>,
103 <xref linkend="libgcrypt"/>
104 <xref linkend="libmad"/>,
105 <xref linkend="lua52"/>, and
106 <xref linkend="x-window-system"/>
107 </para>
108
109 <bridgehead renderas="sect4">Optional features and packages</bridgehead>
110 <para role="optional">
111 <xref linkend="dbus"/>,
112 <xref linkend="libidn"/>, and
113 <xref linkend="libssh2"/>
114 </para>
115
116 <bridgehead renderas="sect4">Optional input plugins</bridgehead>
117 <para role="optional">
118 <xref linkend="libarchive"/>,
119 <xref linkend="libcddb"/>,
120 <xref linkend="libdv"/>,
121 <xref linkend="libdvdcss"/>,
122 <xref linkend="libdvdread"/>,
123 <xref linkend="libdvdnav"/>,
124 <xref linkend="opencv"/>,
125 <xref linkend="samba"/>,
126 <xref linkend="v4l-utils"/>,
127 <ulink url="https://www.videolan.org/developers/libbluray.html">libbluray</ulink>,
128 <ulink url="https://sourceforge.net/projects/libdc1394/">libdc1394</ulink>,
129 <ulink url="https://github.com/sahlberg/libnfs">libnfs</ulink>,
130 <ulink url="https://github.com/libproxy/libproxy">libproxy</ulink>,
131 <ulink url="https://sourceforge.net/projects/libraw1394/">libraw1394</ulink>,
132 <ulink url="http://www.live555.com/">Live555</ulink>, and
133 <ulink url="https://www.gnu.org/software/vcdimager/">VCDImager</ulink>
134 (requires <xref linkend="libcdio"/>)
135 </para>
136
137 <bridgehead renderas="sect4">Optional mux/demux plugins</bridgehead>
138 <para role="optional">
139 <xref linkend="libogg"/>,
140 <ulink url="https://github.com/kode54/Game_Music_Emu">Game Music Emu</ulink>,
141 <ulink url="https://www.videolan.org/developers/libdvbpsi.html">libdvbpsi</ulink>,
142 <ulink url="https://downloads.xiph.org/releases/libshout/">libshout</ulink>,
143 <ulink url="https://dl.matroska.org/downloads/libmatroska/">libmatroska</ulink>
144 (requires <ulink url="https://dl.matroska.org/downloads/libebml/">libebml</ulink>),
145 <ulink url="https://sourceforge.net/projects/modplug-xmms/">libmodplug</ulink>,
146 <ulink url="https://www.musepack.net/">Musepack</ulink>, and
147 <ulink url="https://sourceforge.net/projects/sidplay2/">sidplay-libs</ulink>
148 </para>
149
150 <bridgehead renderas="sect4">Optional codec plugins</bridgehead>
151 <para role="optional">
152 <xref linkend="faad2"/>,
153 <xref linkend="flac"/>,
154 <xref linkend="libaom"/>,
155 <xref linkend="libass"/>,
156 <xref linkend="libmpeg2"/>,
157 <xref linkend="libpng"/>,
158 <!--<xref linkend="libtheora"/>,-->
159 <xref linkend="libva"/>,
160 <xref linkend="libvorbis"/>,
161 <xref linkend="opus"/>,
162 <xref linkend="speex"/>,
163 <xref linkend="libvpx"/>,
164 <xref linkend="x264"/>,
165 <!--<ulink url="https://aomedia.googlesource.com/aom/">aom</ulink>,-->
166 <ulink url="https://github.com/nkoriyama/aribb24">aribb24</ulink>,
167 <ulink url="https://code.videolan.org/videolan/dav1d">dav1d</ulink>,
168 <ulink url="https://sourceforge.net/projects/dirac/">Dirac</ulink>,
169 <ulink url="https://github.com/divideconcept/FluidLite">FluidLite</ulink>,
170 <ulink url="https://sourceforge.net/projects/fluidsynth/">FluidSynth</ulink>,
171 <ulink url="https://www.videolan.org/developers/libdca.html">libdca</ulink>,
172 <ulink url="https://wiki.xiph.org/index.php/OggKate">libkate</ulink>,
173 <ulink url="https://www.theora.org">libthora</ulink>,
174 <ulink url="https://www.khronos.org/openmax/">OpenMAX</ulink>,
175 <ulink url="https://sourceforge.net/projects/schrodinger/">Schroedinger</ulink>,
176 <ulink url="https://github.com/toots/shine">Shine</ulink>,
177 <ulink url="https://sourceforge.net/p/soxr/wiki/Home/">SoX</ulink>,
178 <ulink url="https://wiki.xiph.org/Tremor">Tremor</ulink>,
179 <ulink url="https://www.twolame.org/">Twolame</ulink>, and
180 <ulink url="https://sourceforge.net/projects/zapping/">Zapping VBI</ulink>
181 </para>
182
183 <bridgehead renderas="sect4">Optional video plugins</bridgehead>
184 <para role="optional">
185 <xref linkend="aalib"/>,
186 <xref linkend="fontconfig"/>,
187 <xref linkend="freetype2"/>,
188 <xref linkend="fribidi"/>,
189 <!-- Using libplacebo is broken due to many API changes. The patch Arch
190 has for this only works on a version of libplacebo from July. VLC has
191 fixed this problem, but only for the upcoming VLC4.
192 https://code.videolan.org/videolan/vlc/-/merge_requests/2233#top -->
193 <xref linkend="libplacebo"/> (currently broken),
194 <xref linkend="librsvg"/>,
195 <xref linkend="libvdpau"/>,
196 <xref linkend="sdl"/>,
197 <ulink url="https://github.com/cacalabs/libcaca">libcaca</ulink>,
198 <!--<ulink url="http://libplacebo.org/">libplacebo</ulink>, and-->
199 <ulink url="https://github.com/Intel-Media-SDK/MediaSDK">libmfx</ulink>
200 </para>
201
202 <bridgehead renderas="sect4">Optional audio plugins</bridgehead>
203 <para role="optional">
204 <xref linkend="pulseaudio"/>,
205 <xref linkend="libsamplerate"/>,
206 <ulink url="https://github.com/videolabs/libspatialaudio">spatialaudio</ulink>, and
207 <ulink url="https://jackaudio.org/">JACK</ulink>
208 </para>
209
210 <bridgehead renderas="sect4">Optional interface plugins</bridgehead>
211 <para role="optional">
212 &qt5-deps; (required for the graphical user interface),
213 <ulink url="https://repo.or.cz/w/libtar.git/">libtar</ulink>,
214 <ulink url="https://libvnc.github.io/">libvncclient</ulink>,
215 <ulink url="https://www.lirc.org/">LIRC</ulink>, and
216 <ulink url="https://www.freerdp.com/">freerdp</ulink>
217 </para>
218
219 <bridgehead renderas="sect4">Optional visualisations and video filter plugins</bridgehead>
220 <para role="optional">
221 <ulink url="https://sourceforge.net/projects/goom/">Goom</ulink>,
222 <ulink url="https://www.vsxu.com">libvsxu</ulink>, and
223 <ulink url="https://sourceforge.net/projects/projectm/">projectM</ulink>
224 </para>
225
226 <bridgehead renderas="sect4">Optional service discovery plugins</bridgehead>
227 <para role="optional">
228 <xref linkend="avahi"/>,
229 <ulink url="https://sourceforge.net/projects/libmtp/">libmtp</ulink> and
230 <ulink url="https://sourceforge.net/projects/pupnp/">libupnp</ulink>
231 </para>
232
233 <bridgehead renderas="sect4">Miscellaneous options</bridgehead>
234 <para role="optional">
235 <xref linkend="gnutls"/>,
236 <xref linkend="libnotify"/>,
237 <xref linkend="libxml2"/>,
238 <xref linkend="protobuf"/>,
239 <xref linkend="taglib"/>,
240 <xref role="runtime" linkend="xdg-utils"/> (runtime),
241 <ulink url="https://www.team-mediaportal.com/extensions/mp2-plugins/atmolight">AtmoLight</ulink>,
242 <ulink url="https://github.com/videolabs/libmicrodns">libmicrodns</ulink>, and
243 <!--<ulink url="https://developers.google.com/protocol-buffers/">protobuf</ulink>, and-->
244 <ulink url="https://github.com/Haivision/srt">Srt</ulink>
245 </para>
246
247 </sect2>
248
249 <sect2 role="installation">
250 <title>Installation of VLC</title>
251
252 <para>
253 First, add corrections for problems of taglib-2.0, gcc-14, and ffmpeg-7 and later:
254 </para>
255
256<screen><userinput>
257patch -Np1 -i ../vlc-&vlc-version;-taglib-1.patch &amp;&amp;
258patch -Np1 -i ../vlc-&vlc-version;-fedora_ffmpeg7-1.patch &amp;&amp;
259patch -Np1 -i ../vlc-&vlc-version;-gcc14-1.patch</userinput></screen>
260
261 <para>
262 If you wish to add support for lua extensions, enforce the use of <application>lua52</application>:
263 </para>
264
265<screen><userinput>export LUAC=/usr/bin/luac5.2 &amp;&amp;
266export LUA_LIBS="$(pkg-config --libs lua52)" &amp;&amp;
267export CPPFLAGS="$(pkg-config --cflags lua52)"</userinput></screen>
268
269 <para>
270 Install <application>VLC</application> by running the following commands:
271 </para>
272
273<screen><userinput>BUILDCC=gcc ./configure --prefix=/usr --disable-libplacebo &amp;&amp;
274make</userinput></screen>
275
276 <para>
277 To test the results, issue: <command>make check</command>.
278 </para>
279
280 <para>
281 Now, as the <systemitem class="username">root</systemitem> user:
282 </para>
283
284<screen role="root"><userinput>make docdir=/usr/share/doc/vlc-&vlc-version; install</userinput></screen>
285
286 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
287 href="../../xincludes/update-icons-and-desktop.xml"/>
288
289 </sect2>
290
291 <sect2 role="commands">
292 <title>Command Explanations</title>
293
294 <para>
295 <parameter>--disable-libplacebo</parameter>: This switch is required to
296 disable support for using libplacebo as a rendering pipeline because VLC
297 is incompatible with the latest version of libplacebo.
298 </para>
299
300 <para>
301 <option>--disable-vpx</option>: Use this switch to disable
302 <application>libvpx</application>.
303 </para>
304
305 <!--<para>
306 <option>- -disable-lua</option>: Use this switch if you don't have
307 <application>Lua</application> installed.
308 </para>-->
309
310 <para>
311 <option>--disable-mad</option>: Use this switch if you don't
312 have <application>libmad</application> installed.
313 </para>
314
315 <para>
316 <option>--disable-avcodec --disable-swscale</option>: Use these switches
317 if you don't have <application>FFmpeg</application> installed.
318 </para>
319
320 <para>
321 <option>--disable-a52</option>: Use this switch if you don't have
322 <application>liba52</application> installed.
323 </para>
324
325 <para>
326 <option>--disable-xcb</option>: Use this switch if you don't have
327 <application>X Window System</application> installed.
328 </para>
329
330 <para>
331 <option>--disable-alsa</option>: Use this switch if you don't have
332 <application>ALSA</application> installed.
333 </para>
334
335 <para>
336 <option>--disable-libgcrypt</option>: Use this switch if you don't
337 have <application>libgcrypt</application> installed.
338 </para>
339
340 <para>
341 <option>--disable-sftp</option>: The default is to build the sftp
342 module if <xref linkend="libssh2"/> is installed. Use this switch
343 if you do not want to build this module.
344 </para>
345
346 <note>
347 <para>
348 There are many options to <application>VLC</application>'s
349 <command>configure</command> command. Check the
350 <command>configure --help</command> output for a complete list.
351 </para>
352 </note>
353
354 </sect2>
355
356 <sect2 role="content">
357 <title>Contents</title>
358
359 <segmentedlist>
360 <segtitle>Installed Programs</segtitle>
361 <segtitle>Installed Libraries</segtitle>
362 <segtitle>Installed Directories</segtitle>
363
364 <seglistitem>
365 <seg>
366 cvlc, nvlc, qvlc, rvlc, svlc, vlc and vlc-wrapper
367 </seg>
368 <seg>
369 libvlccore.so, libvlc.so, and many plugins in
370 /usr/lib/vlc/plugins
371 </seg>
372 <seg>
373 /usr/{include,lib,share}/vlc,
374 /usr/share/kde4, and
375 /usr/share/doc/vlc-&vlc-version;
376 </seg>
377 </seglistitem>
378 </segmentedlist>
379
380 <variablelist>
381 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
382 <?dbfo list-presentation="list"?>
383 <?dbhtml list-presentation="table"?>
384
385 <varlistentry id="cvlc">
386 <term><command>cvlc</command></term>
387 <listitem>
388 <para>
389 is a script to run VLC with the dummy interface
390 </para>
391 <indexterm zone="vlc cvlc">
392 <primary sortas="b-cvlc">cvlc</primary>
393 </indexterm>
394 </listitem>
395 </varlistentry>
396
397 <varlistentry id="nvlc">
398 <term><command>nvlc</command></term>
399 <listitem>
400 <para>
401 is a script to run VLC with the ncurses interface
402 </para>
403 <indexterm zone="vlc nvlc">
404 <primary sortas="b-nvlc">nvlc</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
409 <varlistentry id="qvlc">
410 <term><command>qvlc</command></term>
411 <listitem>
412 <para>
413 is a script to run <application>VLC</application> with the
414 <application>Qt</application> interface
415 </para>
416 <indexterm zone="vlc qvlc">
417 <primary sortas="b-qvlc">qvlc</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="rvlc">
423 <term><command>rvlc</command></term>
424 <listitem>
425 <para>
426 is a script to run <application>VLC</application> with a command
427 line interface
428 </para>
429 <indexterm zone="vlc rvlc">
430 <primary sortas="b-rvlc">rvlc</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry id="svlc">
436 <term><command>svlc</command></term>
437 <listitem>
438 <para>
439 is a script to run <application>VLC</application> with the skins
440 interface
441 </para>
442 <indexterm zone="vlc svlc">
443 <primary sortas="b-svlc">svlc</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry id="vlc-prog">
449 <term><command>vlc</command></term>
450 <listitem>
451 <para>
452 is the <application>VLC</application> media player
453 </para>
454 <indexterm zone="vlc vlc-prog">
455 <primary sortas="b-vlc">vlc</primary>
456 </indexterm>
457 </listitem>
458 </varlistentry>
459
460 <varlistentry id="vlc-wrapper">
461 <term><command>vlc-wrapper</command></term>
462 <listitem>
463 <para>
464 is a wrapper to drop privileges with <application>VLC</application>
465 </para>
466 <indexterm zone="vlc vlc-wrapper">
467 <primary sortas="b-vlc-wrapper">vlc-wrapper</primary>
468 </indexterm>
469 </listitem>
470 </varlistentry>
471
472 </variablelist>
473
474 </sect2>
475
476</sect1>
Note: See TracBrowser for help on using the repository browser.