GStreamer

GStreamer
Типмультимедійний каркас
Розробникикоманда GStreamer
Перший випуск11 січня 2001[1]
Стабільний випуск1.8 (24 березня 2016; 8 років тому (2016-03-24))
Операційна системакрос-платформовий
Мова програмуванняC[2]
Стан розробкиактивний
ЛіцензіяGNU LGPL
Онлайн-документаціяgstreamer.freedesktop.org/documentation/index.html
Репозиторійgitlab.freedesktop.org/gstreamer/gstreamer.git
Вебсайтgstreamer.freedesktop.org

GStreamerмультимедійний фреймворк, написаний мовою програмування C з використанням системи типів GObject. GStreamer є «ядром» мультимедійних застосунків, таких як відеоредактори, потокові сервери, медіаплеєри і конвертери аудіо/відео файлів, VoIP-рішення. У початковий дизайн закладена крос-платформовість; GStreamer працює на Unix-подібних системах, а також на Windows, OS/400 і Symbian OS. GStreamer надає прив'язки для інших мов програмування, таких як Python, C++, Perl, GNU Guile і Ruby. GStreamer є вільним програмним забезпеченням, з ліцензією GNU LGPL.

Історія та розробка

Erik Walthinsen заснував проєкт GStreamer у 1999. Незабаром до проєкту приєднався Wim Taymans і вплинув на багато аспектів системи. Перший реліз 0.1.0 вийшов 11 січня 2001.[1] Незабаром проєкт отримав першого комерційного спонсора, «RidgeRun», що займалася вбудовуванням Linux в пристрої.

Багато розробників по всьому світу також внесли свій вклад. Brock A. Frazier розробив логотип; Frazier працював на компанію RidgeRun, вони також найняли Erik Walthinsen для використання GStreamer на своїх пристроях.[4]

GStreamer зараз розміщується на проєкті freedesktop.org, покликаному стандартизувати технології для графічних середовищ POSIX.

З червня 2012 року по серпень 2014 року GStreamer 0.10 також поширювався Collabora та Fluendo як багатоплатформовий SDK, на сторонньому веб-сайті gstreamer.com (а не на gstreamer.freedesktop.org для проєкту спільноти розробників). Метою було надати розробникам додатків SDK,[5] який був би функціонально ідентичним для Windows, Mac OS X, iOS та Android. Ініціатива SDK мала на меті полегшити комерційне впровадження проєкту GStreamer, оскільки вона забезпечувала стандартизовану точку входу для розробки мультимедійних додатків за допомогою GStreamer, без необхідності створювати всю платформу самостійно. Користувачі SDK також отримали доступ до документації, навчальних посібників та інструкцій, що стосуються саме цього SDK.

Розповсюдження

Середовище стільниці GNOME є основним користувачем технології GStreamer і залежить від нього з версії 2.2. Використовується і в застосунках, не пов'язаних з GNOME, наприклад, в медіаплатформа Chameleo, аудіосистемою KDE4 Phonon і медіаплеєром Songbird. GStreamer є частиною операційної системи Maemo, і отже, використовується в кишенькових комп'ютерах Nokia, наприклад в Nokia N810. Крім різних медіапрогравачів, GStreamer використовується в серверних застосунках (Flumotion), в аудіо- і відеоредакторах (нелінійні редактори Jokosher і Pitivi), і для роботи з вебкамерами (Cheese).

Можливості

Серед базових можливостей GStreamer:

  • Локальне відтворення контенту, обробка потокового мовлення і програвання DVD;
  • Підтримувані відеокодеки: Theora, VP8, Dirac, MJPEG, h.264, h.263, MPEG2, MPEG4, WMV/VC1 тощо[6]
  • Підтримувані аудіокодеки: Vorbis, FLAC, Speex, WavPack, AAC, MP3, WMA, Dolby Digital (AC3), DTS/DCA, AMR NB/WB тощо
  • Підтримувані мультимедіа контейнери: Ogg, WebM, Matroska, MP4, Quicktime, AVI, FLV, 3GPP, WAV, Real Media, ASF, MPEG PS/TS тощо
  • Підтримувані протоколи: робота з локальними файлами: HTTP, Shoutcast/Icecast, HLS, RTSP, RTP та MMS;
  • Інтеграція з тулкіта для формування GUI-інтерфейсу (GTK+, Clutter);
  • Автоматичне визначення контейнерів і кодеків;
  • Функції вилучення метаданих;
  • Підтримка субтитрів;
  • Засоби для наочної візуалізації звукового потоку;
  • Підтримка перемикання на льоту між різними потоками зі звуком і субтитрами;
  • Переміщення всередині потоку за абсолютною позицією;
  • Режими уповільнення і прискорення відтворення, перемотування в зворотному порядку і покадровий перегляд;
  • Автоматичне усунення черезрядковості (дєінтерлейсинг), масштабування і установка колірного балансу;
  • Підтримка прокидання стисненого звуку;
  • Підтримка функцій рендерингу текстур бібліотеки Clutter.

Виноски

  1. а б GStreamer "Slipstream" 0.1.0 released. 11-01-2001. Архів оригіналу за 21-07-2013. Процитовано 3 листопада 2010.
  2. GStreamer, Ohloh Analysis Summary, Ohloh, архів оригіналу за 9 лютого 2009, процитовано 8 лютого 2012 [Архівовано 2014-06-26 у Wayback Machine.]
  3. Free Software Directory
  4. Download GStreamer. gstreamer.freedesktop.org. Процитовано 12 квітня 2023.
  5. Legal information - GStreamer SDK documentation - GStreamer SDK documentation. web.archive.org. 28 жовтня 2016. Архів оригіналу за 28 жовтня 2016. Процитовано 12 квітня 2023. [Архівовано 2016-10-28 у Wayback Machine.]
  6. subprojects/gst-libav/ext/libav/gstavcodecmap.c · 47ac79d7b8cc078f4890d0ce21f47e1c1af2c736 · GStreamer / gstreamer · GitLab. GitLab (англ.). Процитовано 12 квітня 2023.

Посилання