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 також отримали доступ до документації Архівовано 2012-06-16 у Wayback Machine, навчальних посібників та інструкцій, що стосуються саме цього 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
  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.
  6. subprojects/gst-libav/ext/libav/gstavcodecmap.c · 47ac79d7b8cc078f4890d0ce21f47e1c1af2c736 · GStreamer / gstreamer · GitLab. GitLab (англ.). Процитовано 12 квітня 2023.

Посилання[ред. | ред. код]