GStreamer
Тип | мультимедійний каркас |
---|---|
Розробники | команда GStreamer |
Перший випуск | 11 січня 2001[1] |
Стабільний випуск | 1.8 (24 березня 2016 ) |
Операційна система | крос-платформовий |
Мова програмування | 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.
- ↑ а б GStreamer "Slipstream" 0.1.0 released. 11-01-2001. Архів оригіналу за 21-07-2013. Процитовано 3 листопада 2010.
- ↑ GStreamer, Ohloh Analysis Summary, Ohloh, архів оригіналу за 9 лютого 2009, процитовано 8 лютого 2012
- ↑ A Bibliographic Scan of Digital Scholarly Communication Infrastructure — Educopia Institute, 2020.
- ↑ Download GStreamer. gstreamer.freedesktop.org. Процитовано 12 квітня 2023.
- ↑ Legal information - GStreamer SDK documentation - GStreamer SDK documentation. web.archive.org. 28 жовтня 2016. Архів оригіналу за 28 жовтня 2016. Процитовано 12 квітня 2023.
- ↑ subprojects/gst-libav/ext/libav/gstavcodecmap.c · 47ac79d7b8cc078f4890d0ce21f47e1c1af2c736 · GStreamer / gstreamer · GitLab. GitLab (англ.). Процитовано 12 квітня 2023.
- Домівка [Архівовано 21 липня 2006 у Wayback Machine.] на freedesktop.org
- Репозиторій GStreamer [Архівовано 17 березня 2012 у Wayback Machine.]
- Мацей Катафьяж. (31-3-2008). Комплексная обработка мультимедиа при помощи GStreamer (російською) . IBM developerWorks. Архів оригіналу за 18-02-2012. Процитовано 27 лютого 2012.