Sign in Join
Wiki copytemporary

Video Playback Libraries: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Video Playback Libraries

OldNewLine
1+## Introduction
2+
3+Several libraries are available for embedding video playback within Lazarus applications. These range from simple to complex.
4+
5+## Libraries
6+
7+**Library**
8+
9+**Source**
10+
11+**Platforms**
12+
13+**Notes**
14+
15+[DSPack](http://code.google.com/p/dspack/)
16+
17+<http://code.google.com/p/dspack/> <http://github.com/TheBlackSheep/DSPack-Lazarus>
18+
19+Windows only
20+
21+DirectShow library. Although the DSPack can be simple to use, this offers complex low level functionality as well. Video Playback is dependent upon correct Codecs being installed on the end-user system.
22+
23+A tutorial on DSPack use for Delphi, which also applied to fpc, can be found at <http://www.vwlowen.co.uk/directshow/page01.htm>.
24+
25+Full documentation on the DirectShow API is available at <http://msdn.microsoft.com/en-us/library/windows/desktop/dd375454(v=vs.85>).aspx
26+
27+A more up to date version of DSPack, that compiles against FPC 2.7.1, is available with the CodeTyphon installation.
28+
29+libvlc
30+
31+Included with FPC 2.7.1 as an optional package
32+
33+Any platform supported by VLC
34+
35+Currently only available in FPC Trunk Video Playback is dependent upon VLC being installed on the end-user system.
36+
37+[PasLibVLC](http://prog.olsztyn.pl/paslibvlc/)
38+
39+<http://prog.olsztyn.pl/paslibvlc/>
40+
41+Any platform supported by VLC
42+
43+A mature package that also installs under various Delphi's. Video Playback is dependent upon VLC being installed on the end-user system.
44+
45+[FFmpeg](http://www.ffmpeg.org)
46+
47+<https://www.ffmpeg.org>
48+
49+Any platform supported by FFmpeg
50+
51+Old FPC headers are available with the FFmpeg source code. Assorted open source applications have improved these headers over the years, but there appears to be no maintainer for these updated headers. New FPC headers are <https://github.com/DJMaster/ffmpeg-fpc>. Read <http://www.ffmpeg.org/legal.html> before distributing FFmpeg.
52+
53+[FFVCL](http://www.delphiffmpeg.com)
54+
55+<http://www.delphiffmpeg.com/downloads/>
56+
57+Any platform supported by FFmpeg
58+
59+FFVCL provides commerical native FFmpeg components, including an encoder and player, for Delphi. The headers are free to download and reportedly work with FPC.
60+
61+[[FPC and SDL|SDL]]
62+
63+<https://www.libsdl.org/>
64+
65+Officially supports Windows, macOS, Linux, iOS, and Android. Support for other platforms may be found in the source code.
66+
67+SDL 2.0 is distributed under the [zlib license](https://www.libsdl.org/license.php). This license allows you to use SDL freely in any software.
68+
69+[[TMPlayerControl]]
70+
71+Lazarus-CCR
72+
73+X/GTK2 & Windows
74+
75+Simple to use. mplayer can be easily bundled with your application, however mplayer uses FFmpeg and the legal licensing warning at <http://www.ffmpeg.org/legal.html> could also apply.
76+
77+It is recommended that the end-user install mplayer on their system instead of it being distributed with your application.
78+
79+\[<http://msdn.microsoft.com/en-us/library/windows/desktop/dd757708(v=vs.85>).aspx Video for Windows\]
80+
81+Windows 16bit or 32bit
82+
83+The [[SysRec]] application demostrates capturing and playing video streams from TV cards and webcams under Windows the [[Glossary|VFW]] [[Glossary|API]]. Video for Windows (VFW) was created for Win 3.1, and though deprecated in favour of DirectShow, is still available under modern 32bit Windows.
84+
85+## See also
86+
87+- Forum Topic <http://forum.lazarus.freepascal.org/index.php?topic=16797.0> for a discussion on the DSPack ported by TheBlackSheep
88+- Forum Topic <http://forum.lazarus.freepascal.org/index.php/topic,22038.msg129568.html#msg129568> for a discussion on the current state of the FFmpeg headers.
89+- [UltraStar Deluxe](http://sourceforge.net/projects/ultrastardx/) for an open source application with updated FFmpeg headers
90+- [[LazActiveX]] for an example of how to embed VLC using ActiveX
91+- [[TMPlayerControl]] for details on how to use TMplayerControl library to embed mplayer
92+- [[Multimedia Programming]]
93+- [[SysRec]] for an example of using Video For Windows (deprecated precursor to DirectShow - created for Win 3.1, but is still available under current 32bit Window OS's)
94+- [Free Pascal Meets SDL](https://www.freepascal-meets-sdl.net/) website
95+- [[Metal Framework]] - macOS
96+- [[macOS Video Player]] - Using the macOS AVKit Framework
97+
98+---
99+*From the Free Pascal wiki, page "Video Playback Libraries", as it stood on 2022-02-13 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
100+Category: Components
101+Category: Multimedia
102+Category: Video

Back to history