Difference between revisions of "Multimedia"
(→GStreamer) |
(→Graphics/Video out) |
||
Line 56: | Line 56: | ||
====Cairo==== | ====Cairo==== | ||
*http://www.cairographics.org/ is an immediate renderer library that can do complex vector graphics, including matrix transforms. It runs on top of DirectFB, X11, memory buffers and more. It is the base of some toolkits like GTK and applications like Firefox. | *http://www.cairographics.org/ is an immediate renderer library that can do complex vector graphics, including matrix transforms. It runs on top of DirectFB, X11, memory buffers and more. It is the base of some toolkits like GTK and applications like Firefox. | ||
+ | |||
====Clutter==== | ====Clutter==== | ||
*http://clutter-project.org/ is an object-oriented 3d canvas on top of OpenGL (or OpenGL-ES) with scene management. It is based on GLib/GObject and matches nicely GNOME platform. Many powerful Linux mobile devices will ship with Clutter-based intefaces in near future, like Intel's Moblin, Ubuntu Mobile and Maemo. | *http://clutter-project.org/ is an object-oriented 3d canvas on top of OpenGL (or OpenGL-ES) with scene management. It is based on GLib/GObject and matches nicely GNOME platform. Many powerful Linux mobile devices will ship with Clutter-based intefaces in near future, like Intel's Moblin, Ubuntu Mobile and Maemo. | ||
Line 64: | Line 65: | ||
====Qt==== | ====Qt==== | ||
*Qt is a crossplatform graphics toolkit with support for framebuffer and X. Has advanced animation capabilities using [http://doc.trolltech.com/4.5/graphicsview.html Graphics View] framework. | *Qt is a crossplatform graphics toolkit with support for framebuffer and X. Has advanced animation capabilities using [http://doc.trolltech.com/4.5/graphicsview.html Graphics View] framework. | ||
+ | |||
+ | ====Storyboard==== | ||
+ | *http://www.cranksoftware.com/storyboard The Storyboard Suite from Crank Software provides a complete environment to design, develop and deploy embedded user interfaces across multiple rendering technologies (DirectFB, FBDev, SDL, OpenGL, OpenVG, ...), multiple operating systems (Linux, QNX, VxWorks, WinCE/Win32, ...) and multiple architectures (x86, ARM, PPC, SH, ...). The Storyboard approach is unique in that it has been developed to incorporate content directly from graphic designers and deploy data bundles that are specifically optimized for each OS/CPU/Rendering technology set. | ||
====GStreamer==== | ====GStreamer==== |
Revision as of 18:47, 4 June 2010
Here are some miscellaneous resources related to audio, video and graphics systems under Linux:
Also see the section on User Interfaces.
Contents
CELF 2.0 Specification for AVG
(more like a set of recommendations rather than a specification)
Audio Video Working Group
Please see the CELF wiki for more information: Audio Video Graphics Working Group
Some AVWG related Outdated pages
DirectFB study
What is DirectFB, How Does DirectFB Work
Sample Implementation of DirectFB on an embedded Linux platform
Some DirectFB benchmark on embedded Linux platform
Related Projects
Graphics/Video out
Framebuffer
- http://www.kernel.org/ (1) KD26/fb
- http://linuxconsole.sourceforge.net/fbdev/HOWTO/
- http://www.tldp.org/HOWTO/Framebuffer-HOWTO.html
Stores the frame information in the videos ....
DirectFB
V4L2
- http://www.linuxtv.org/
- http://www.linuxtv.org/downloads/video4linux/API/V4L2_API/spec-single/v4l2.html
X11
NanoX
OpenGL (OpenML)
SDL
- http://www.libsdl.org/ immediate renderer library with very bare bones primitives like rectangle fill and blit. Since it exposes just framebuffer and few primitives, it's easy to port to different platforms, actually it was born as a way to port Windows games to Linux.
Cairo
- http://www.cairographics.org/ is an immediate renderer library that can do complex vector graphics, including matrix transforms. It runs on top of DirectFB, X11, memory buffers and more. It is the base of some toolkits like GTK and applications like Firefox.
Clutter
- http://clutter-project.org/ is an object-oriented 3d canvas on top of OpenGL (or OpenGL-ES) with scene management. It is based on GLib/GObject and matches nicely GNOME platform. Many powerful Linux mobile devices will ship with Clutter-based intefaces in near future, like Intel's Moblin, Ubuntu Mobile and Maemo.
Enlightenment Foundation Libraries (EFL)
The Enlightenment Foundation Libraries contains Evas, an object-oriented 2d canvs on top of OpenGL/X11, XRender/X11, X11, FB, DirectFB, DirectDraw and more. It includes scene management and integrates with Ecore, matches nicely other EFL components like Edje. It's used by some media centers and the OpenMoko phone. See Gustavo Barbieri conference at Embedded Linux Conference Europe 2008, slides and video. Gustavo's company, ProFUSION, offers services around EFL.
Qt
- Qt is a crossplatform graphics toolkit with support for framebuffer and X. Has advanced animation capabilities using Graphics View framework.
Storyboard
- http://www.cranksoftware.com/storyboard The Storyboard Suite from Crank Software provides a complete environment to design, develop and deploy embedded user interfaces across multiple rendering technologies (DirectFB, FBDev, SDL, OpenGL, OpenVG, ...), multiple operating systems (Linux, QNX, VxWorks, WinCE/Win32, ...) and multiple architectures (x86, ARM, PPC, SH, ...). The Storyboard approach is unique in that it has been developed to incorporate content directly from graphic designers and deploy data bundles that are specifically optimized for each OS/CPU/Rendering technology set.
GStreamer
- http://www.gstreamer.net/ is a open-source multimedia framework allowing the creation of multimedia applications by assembling processing nodes (called elements) in a graph (called pipeline). The range of plugins available allow easy creation of playback applications, recorders, audio/video editors, streaming servers, visioconference system. The variety of plugins range from decoders, encoders, muxer, demuxers, network sources for a variety of protocols, hardware accelerated features (decoding, display, capture,..), video filters. Its low-level flexibility also makes it sometimes complex to use, but is assisted by several convenience plugins linke playbin, decodebin, camerabin making simple use-cases easy to use. It is built on top of GLib/GObject, making it easily portable to any new platform. It is being used in more and more in embedded devices due to the availability of quality LGPL plugins for various format support, support for lip-sync, support for network streaming, standard linux API, and easy wrapability of hardware devices like DSP-accelerated codecs.
Xine
- http://xinehq.de/ is a playback media engine that handles most of the complexity for you. It's based on threads, so clock and synchronization are handled automatically. May worth noticing that this library is GPL and your application must be GPL as well to use it.
MPlayer
- http://mplayerhq.hu/ it's not a library but an application, however it's controllable from other applications and it's used as media framework for some systems. It's GPL as well as xine, but since it's externally controlled you don't need to make your application GPL to use it.
Documentation
- Presentation Choosing embedded graphical libraries held by Thomas Petazzoni at the ELCE 2008
Video in
V4L[2]
- http://www.kernel.org/ (1) KD26/video4linux
- http://www.linuxtv.org
- http://www.linuxtv.org/downloads/video4linux/API/V4L2_API/spec-single/v4l2.html
OpenML
LinuxTV (DVB API)
Audio in/out
OSS
- http://www.kernel.org/ (1) KD26/sound/oss
- http://www.4front-tech.com/oss.html
ALSA
- http://www.kernel.org/ (1) KD26/sound/alsa
- http://www.alsa-project.org
OpenAL
Users of AVG
Video Lan
Freevo
LinuxTV
MythTV
DVR
OpenPVR
Morphine.TV
Other
ARIB architecture
Boot Splash
Digital Home Working Group
Disko Framework
Free Type
UPnP
- see UPnP
TV Anytime
TV Linux Alliance
Note (1) - KD26 refers to the Linux 2.6.X kernel tree, which has a "Documentation" sub-directory.