GStreamer: Open Source Multimedia Framework

    技术2022-07-05  149

    Multiplatform

    GStreamer has been ported to a wide range of operating systems, processors and compilers. These include but are not limited to Linux on x86, PPC and ARM using GCC. Solaris on x86 and SPARC using both GCC and Forte, MacOSX, Microsoft Windows using MS Visual Developer, IBM OS/400 and Symbian OS.

    GStreamer can bridge to other multimedia frameworks in order to reuse existing components (e.g. codecs) and use platform input/output mechanisms:

    Linux/Unix: OpenMAX-IL (via gst-openmax) Windows: DirectShow MaxOS X: QuickTime

     

    Comprehensive Core Library

    Graph-based structure allows arbitrary pipeline construction Based on GLib 2.0 object model for object-oriented design and inheritance Compact core library of less than 500KB, about 65 K lines of code Multi-threaded pipelines are trivial and transparent to construct Clean, simple and stable API for both plugin and application developers Extremely lightweight data passing means very high performance/low latency Complete debugging system for both core and plugin/app developers Clocking to ensure global inter-stream synchronization (a/v sync) Quality of service (qos) to ensure best possible quality under high CPU load

    Intelligent Plugin Architecture

    Dynamically loaded plugins provide elements and media types, demand-loaded via a registry cache, similar to ld.so.cache Element interface handles all known types of sources, filters and sinks Capabilities system allows verification of element compatibility using MIME types and media-specific properties Autoplugging uses capabilities system to complete complex paths automatically Pipelines can be saved to XML and loaded back to working state Resource friendly plugins don't waste memory

    Broad Coverage of Multimedia Technologies

    GStreamers capabilities can be extended through new plugins. The features listed below are just a rough overview what is available using the GStreamers own plugins, not counting any 3rd party offerings.

    container formats: asf, avi, 3gp/mp4/mov, flv, mpeg-ps/ts, mkv, mxf, ogg streaming: http, mms, rtsp codecs: FFmpeg, various codec libraries, 3rd party codec packs metadata: native container formats with a common mapping between them video: various colorspaces, support for progressive and interlaced video audio: integer and float audio in various bit depths and multichannel configurations

    Extensive Development Tools

    gst-launch command-line tool for quick prototyping and testing, similar to ecasound A lot of documentation, including partially completed manual and plugin writer's guide Large selection of test programs and example code in each module Access to GStreamer API with various programming languages Graphical editor allows pipelines to be built quickly, run, and saved as XML

    GStreamer 0.10 series API is stable since 2005.


    最新回复(0)