Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GStreamer
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History and development== ===Early days=== Erik Walthinsen founded the GStreamer project in 1999. Many of its core design ideas came from a research project at the [[Oregon Graduate Institute]].<ref>{{Cite web|url=https://lwn.net/Articles/411761/|title=GStreamer: Past, present, and future|last=Edge|first=Jake|date=26 October 2010|website=[[LWN.net]]|access-date=15 May 2022}}</ref> [[Wim Taymans]] joined the project soon thereafter and greatly expanded on many aspects of the system. Many other software developers have contributed since then. The first major release was 0.1.0 which was announced on 11 January 2001.<ref name="0.1.0">{{cite web |url=https://sourceforge.net/mailarchive/forum.php?thread_name=Pine.LNX.4.21.0101101700180.17206-100000%40alpha.temple-baptist.com&forum_name=gstreamer-announce |title=GStreamer "Slipstream" 0.1.0 released |date=11 January 2001 |access-date=3 November 2010 |archive-date=11 November 2012 |archive-url=https://web.archive.org/web/20121111134106/http://sourceforge.net/mailarchive/forum.php?thread_name=Pine.LNX.4.21.0101101700180.17206-100000@alpha.temple-baptist.com&forum_name=gstreamer-announce |url-status=live }}</ref> Not long after, GStreamer picked up its first commercial backer. Towards the end of January 2001, they hired Erik Walthinsen to develop methods for embedding GStreamer in smaller ([[cell phone]]-class) devices. Another RidgeRun employee, Brock A. Frazier, designed the GStreamer logo. RidgeRun later struggled financially and had to lay off its staff, including Erik Walthinsen. GStreamer progress was mostly unaffected. The project released a series of major releases with 0.2.0 coming out in July 2001, 0.4.0 in September 2002, and 0.8.0 in March 2004. During that period the project also changed its versioning strategy and while the first releases were simply new versions, later on the middle number started signifying release series. This meant the project did release a string of 0.6.x and 0.8.x releases which was meant to stay [[binary compatible]] within those release series. Erik Walthinsen more or less left GStreamer development behind during this time, focusing on other ventures. All release series, the project face difficulties. Every series is not very popular in the Linux community mostly because of stability issues and a serious lack of features compared to competing projects like [[Xine]], [[MPlayer]], and [[VLC media player|VLC]]. The project also suffers a lack of leadership as Wim Taymans, the project lead since Erik Walthinsen had left, had largely stopped participating. ===The 0.10 series=== In 2004, a new company was founded, [[Fluendo]], which wanted to use GStreamer to write a streaming server [[Flumotion]] and also provide multimedia solutions for GStreamer. During this time, Fluendo hired most of the core developers including Wim Taymans and attracted the support of companies such as [[Nokia]] and [[Intel]] to bring GStreamer to a professional level and drive community adoption. With Wim Taymans back at the helm, the core of GStreamer was redesigned and became what is the current 0.10.x series, which had its first release (0.10.0) in December 2005.<ref name="release0.10">{{cite web |url=https://gstreamer.freedesktop.org/news/#2005-12-05T18:59:00Z |title=GStreamer 0.10.0 stable release - Announcement of the first release in 0.10 stable series |website=gstreamer.freedesktop.org |access-date=2017-07-21 |archive-date=2017-07-07 |archive-url=https://web.archive.org/web/20170707213816/https://gstreamer.freedesktop.org/news/#2005-12-05T18:59:00Z |url-status=live }}</ref> It has maintained [[API]] and [[Application binary interface|ABI]] compatibility since. With a new stable core in place, GStreamer gained in popularity in 2006, being used by media players including [[Totem (media player)|Totem]], [[Rhythmbox]] and [[Banshee (music player)|Banshee]] with many more to follow. It was also adopted by corporations such as [[Nokia]], [[Motorola]], [[Texas Instruments]], [[Freescale Semiconductor|Freescale]], [[Tandberg]], and [[Intel]]. In 2007, most of the core GStreamer developers left Fluendo, including GStreamer maintainer Wim Taymans who went on to co-found [[Collabora|Collabora Multimedia]] together with other GStreamer veterans, while others joined [[Sun Microsystems]], [[Oblong Industries]], and [[Songbird (software)|Songbird]]. Between June 2012 and August 2014, GStreamer 0.10 was also distributed by [[Collabora]] and [[Fluendo]] as a multiplatform [[Software development kit|SDK]],<ref name="patents and nonfree software distributed with the Collabora/Fluendo version of the SDK at gstreamer.com">{{cite web |url=http://docs.gstreamer.com/display/GstSDK/Legal+information |title=GStreamer documentation |website=Docs.gstreamer.com |access-date=2017-07-21 |archive-date=2016-10-28 |archive-url=https://web.archive.org/web/20161028152122/http://docs.gstreamer.com/display/GstSDK/Legal+information |url-status=live }}</ref> on the third-party [http://gstreamer.com gstreamer.com] website (rather than [https://gstreamer.freedesktop.org/ gstreamer.freedesktop.org] for the upstream community project). The goal was to provide application developers with a SDK that would be functionally identical on Windows, [[macOS|Mac OS X]], iOS, and Android. The SDK initiative aimed to facilitate the commercial adoption of the GStreamer project, as it provided a standardized entry point to developing multimedia applications with GStreamer, without needing to build the entire platform by oneself. Users of the SDK also benefited from [http://docs.gstreamer.com/display/GstSDK/Home documentation] {{Webarchive|url=https://web.archive.org/web/20120616025531/http://docs.gstreamer.com/display/GstSDK/Home |date=2012-06-16 }}, tutorials and instructions specific to that SDK. ===The 1.x series=== GStreamer 1.0 was released on September 24, 2012.<ref>{{cite web|url=https://gstreamer.freedesktop.org/news/#2012-09-24T18:00:00Z|title=GStreamer 1.0 released|website=gstreamer.freedesktop.org|access-date=2017-07-21|archive-date=2017-07-07|archive-url=https://web.archive.org/web/20170707213816/https://gstreamer.freedesktop.org/news/#2012-09-24T18:00:00Z|url-status=live}}</ref> The 1.x series is parallel installable to GStreamer 0.10 to ease the transition, and provides many architectural advantages over the 0.10 series.<ref>{{cite web |url=https://lwn.net/Articles/464270/ |title=GStreamer 1.0 and 0.10 |website=Lwn.net |access-date=2017-07-21 |archive-date=2017-06-13 |archive-url=https://web.archive.org/web/20170613183426/https://lwn.net/Articles/464270/ |url-status=live }}</ref> Generally speaking, GStreamer 1.0 brought significant improvements for: * Embedded processors support, lower power consumption, offloading work to specialized hardware units (such as [[Digital signal processor|DSPs]]) * Hardware accelerated video decoding/encoding using [[Graphics processing unit|GPUs]] * Zero-copy memory management (avoiding unnecessary roundtrips between the CPU and GPU) for better performance and lower power consumption * Dynamic pipelines * API and code cleanups Beyond the technical improvements, the 1.x series is also defined by a new release versioning scheme. As the GStreamer roadmap explains,<ref>{{cite web |url=http://gstreamer.freedesktop.org/wiki/ReleasePlanning2013 |title=ReleasePlanning2013 - gstreamer Wiki |access-date=2013-09-16 |url-status=dead |archive-url=https://web.archive.org/web/20130815135800/http://gstreamer.freedesktop.org/wiki/ReleasePlanning2013 |archive-date=2013-08-15 }}</ref> all 1.x.y versions carry a -1.0 API version suffix and have a stable API/ABI. The API/ABI can only be broken by a new major release series (i.e.: 2.x); however, there are currently no plans for a 2.0 release series. Until then, the new version numbering scheme can be used to predict the intended use of each release. The roadmap cites some examples: * 1.0.0, 1.0.1, 1.0.2, 1.0.3... stable release and follow-up bug-fix releases * 1.1.0, 1.1.1, 1.1.2, 1.1.3... pre-releases, development version leading up to 1.2.0 * 1.2.0, 1.2.1, 1.2.2, 1.2.3... stable release and follow-up bug-fix releases * 1.3.0... * 1.4.0... * etc. In March 2013, the GStreamer project maintainers issued a statement<ref>{{cite web |url=https://lists.freedesktop.org/archives/gstreamer-announce/2013-March/000273.html |title=GStreamer 0.10 no longer maintained |website=Lists.freedesktop.org |date=11 March 2013 |access-date=2017-07-21 |archive-date=2017-07-10 |archive-url=https://web.archive.org/web/20170710033818/https://lists.freedesktop.org/archives/gstreamer-announce/2013-March/000273.html |url-status=live }}</ref> to clarify that the 0.10 series is no longer maintained. The statement reasserted the GStreamer project's willingness to help application and plugin developers migrate to the new technology, and hinted that those for whom switching to the 1.x series was still considered impossible could seek assistance from various consulting companies. 1.2 added support for [[Dynamic Adaptive Streaming over HTTP|DASH]] adaptive streaming, [[JPEG 2000]] images, [[VP9]] and [[Daala]] video, and decoding-only support for [[WebP]]. Version 1.14 was released on March 19, 2018,<ref>{{Cite web |url=https://gstreamer.freedesktop.org/releases/1.14/ |title=GStreamer 1.14 release notes |access-date=2018-09-08 |archive-date=2018-03-20 |archive-url=https://web.archive.org/web/20180320084417/https://gstreamer.freedesktop.org/releases/1.14/ |url-status=live }}</ref> adding support for [[WebRTC]], [[AV1]], [[Nvidia NVDEC]], and [[Secure Reliable Transport]], among other changes. Version 1.22 was released on January 23, 2023, <ref>{{Cite web |title=GStreamer 1.22 release notes |url=https://gstreamer.freedesktop.org/releases/1.22/ |access-date=2023-05-18 |website=gstreamer.freedesktop.org}}</ref> adding improved support for [[AV1]], in addition to support for [[HTTP Live Streaming|HLS]], [[Dynamic Adaptive Streaming over HTTP|DASH]] and [[Microsoft Smooth Streaming]] for adaptive bitrate streaming.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)