GStreamer: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k r2.6.3) (bot Menambah: cs:GStreamer |
Rehat dulu Tag: Suntingan perangkat seluler Suntingan peramban seluler |
||
(27 revisi perantara oleh 12 pengguna tidak ditampilkan) | |||
Baris 1:
{{Infobox software
| name = GStreamer
| logo = [[Berkas:Gstreamer-logo.svg|250px]]
| screenshot = GStreamer example pipeline.svg
| caption = Sebuah ''pipeline'' sederhana dengan <code>gst-launch</code>
| author =
| developer = GStreamer Team
| released = {{Start date|2001|01|11|df=yes}}<ref name="0.1.0" />
| latest_release_version =
| latest_release_date = {{
| latest_preview_version = {{wikidata|property|preferred|references|edit|Q860213|P348|P548=Q51930650}}
| latest_preview_date = {{wikidata|qualifier|preferred|single|Q860213|P348|P548=Q51930650|P577}}
| programming_language = [[
|chapter-url = http://www.ohloh.net/p/gstreamer
|title
|chapter
|publisher = [[Ohloh]]
|access-date = 2016-11-06
|archive-date = 2014-06-26
|archive-url = https://web.archive.org/web/20140626034719/https://www.ohloh.net/p/gstreamer
|url-status = live
}}</ref>
| operating_system = [[Berkeley Software Distribution|BSD]]s, [[OpenSolaris]], [[Android (sistem operasi)|Android]], [[macOS]], [[iOS]], [[Microsoft Windows|Windows]], [[IBM i|OS/400]]
| platform = [[Multiplatform]]
| language =
| genre = [[Kerangka kerja Multimedia]]
| license = [[GNU Lesser General Public License|LGPL-2.1-atau-kemudian]]<ref name="Gstreamer license">{{cite web
| url = https://gstreamer.freedesktop.org/documentation/frequently-asked-questions/general.html#what-are-the-exact-licensing-terms-for-gstreamer-and-its-plugins
| title = What are the exact licensing terms for GStreamer and its plugins?
| work = [[freedesktop.org]]
| access-date = 2021-06-07
| archive-url = https://web.archive.org/web/20210607234342/https://gstreamer.freedesktop.org/documentation/frequently-asked-questions/general.html
| archive-date = 2021-06-07
| url-status = live}}</ref>
| website = {{URL|http://gstreamer.freedesktop.org/}}
}}
'''GStreamer''' adalah ''[[framework]]'' pengembangan untuk membuat [[aplikasi]] seperti
== Distribusi dan penerapan ==
Lingkungan desktop GNOME, sebuah pengguna setia GStreamer, telah menyertakan GStreamer sejak GNOME versi 2.2 dan mendorong aplikasi GNOME dan GTK untuk menggunakannya. Proyek lainnya juga menggunakan atau mendukungnya, seperti kerangka media Phonon dan pemutar media Songbird. Itu juga digunakan di mesin peramban WebKit.<ref>{{Cite web|title=Igalia Multimedia|url=https://www.igalia.com/technology/multimedia|archive-url=https://web.archive.org/web/20210901035303/https://www.igalia.com/technology/multimedia|archive-date=2021-09-01|access-date=2021-09-01|url-status=live}}</ref>
GStreamer juga beroperasi dalam perangkat tertanam seperti [[Jolla (ponsel seluler)|Jolla Phone]], [[Palm Pre]],<ref>{{cite web|title=webOS and GStreamer|url=http://www.weboshelp.net/getting-started-with-webos/177-webos-and-gstreamer|publisher=webOShelp|archive-url=https://web.archive.org/web/20090322155229/http://www.weboshelp.net/getting-started-with-webos/177-webos-and-gstreamer|archive-date=22 March 2009|access-date=25 July 2009|url-status=dead}}</ref> [[Tizen]] dan Tablet Internet [[Nokia 770]], [[Nokia N800|N800]], [[Nokia N810|N810]], [[Nokia N900|N900]] dan [[Nokia N9|N9]] menjalankan sistem operasi [[Maemo]].
Sebagai tambahan perilisan kode sumber, proyek GStreamer menyediakan build biner untuk Android, iOS, OSX dan Windows.<ref>{{cite web|title=GStreamer: Download|url=https://gstreamer.freedesktop.org/download/|website=gstreamer.freedesktop.org|archive-url=https://ghostarchive.org/archive/fwAS7?url=http://gstreamer.freedesktop.org/download/|archive-date=2015-05-10|access-date=15 May 2015|url-status=live}}{{cbignore}}</ref>
Laboratorium [[LIGO]] memanfaatkan GStreamer untuk mensimulasikan dan menganalisis data gelombang gravitasi. Antarmuka GStreamer disebut GstLAL.<ref>{{cite web|title=GstLAL Project Page|url=https://wiki.ligo.org/Computing/DASWG/GstLAL|website=Wiki.ligo.org|archive-url=https://web.archive.org/web/20200423215421/https://wiki.ligo.org/Computing/DASWG/GstLAL|archive-date=23 April 2020|access-date=6 May 2019|url-status=live}}</ref>
== Arsitektur perangkat lunak ==
[[Berkas:GStreamer_overview.svg|jmpl|Ikhtisar]]
[[Berkas:GStreamer_and_plug-in_types.svg|jmpl|Inti GStreamer dengan tiga jenis plugin yang berbeda.]]
[[Berkas:GStreamer_Technical_Overview.svg|jmpl|GStreamer adalah sebuah ''[[Pipeline (perangkat lunak)|Pipeline]]''.]]
GStreamer ditulis dalam [[C (programming language)|bahasa pemrograman C]] dengan [[sistem tipe]] berdasarkan [[GObject]] dan model objek GLib 2.0.
=== Ikatan bahasa ===
Sebuah pustaka ditulis dalam satu bahasa pemrograman dapat digunakan dalam bahasa lainnya jika [[Pengikatan bahasa|ikatan]] ditulis; GStreamer memiliki berbagai ikatan untuk berbagai bahasa seperti [[Go (bahasa pemrograman)|Go]], [[Python (programming language)|Python]], [[Rust (programming language)|Rust]], [[Vala (bahasa pemrograman)|Vala]], [[C++]], [[Perl]], [[GNU Guile]], [[C Sharp (bahasa pemrograman)|C#]] dan [[Ruby (bahasa pemrograman)|Ruby]].
=== Plug-in ===
GStreamer menggunakan sebuah arsitektur [[Plug-in (computing)|plug-in]] yang di mana membuat sebagain besar fungsionalitas GStreamer diimplementasi sebagai [[Pustaka (perangkat lunak)|pustaka bersama]].<ref>{{citation|url=https://gstreamer.freedesktop.org/modules/|title=Overview of the modules|publisher=Gstreamer.freedesktop.org|access-date=8 February 2012|archive-date=25 January 2012|archive-url=https://web.archive.org/web/20120125050306/http://gstreamer.freedesktop.org/modules/|url-status=live}}</ref> Fungsionalitas dasar GStreamer berisi fungsi untuk mendaftarkan dan memuat plug-in dan menyediakan dasar dari semua kelas dalam bentuk [[Pewarisan (pemrograman berorientasi objek)|kelas dasar]]. Pustaka plug-in dimuat secara dinamis untuk mendukung spektrum yang luas dari [[codec]], [[Format wadah (digital)|format wadah]], [[Device driver|driver masukan/keluaran]] dan efek.
Plug-in dapat diinstal secara semi-otomatis saat pertama kali dibutuhkan. Untuk tujuan itu distribusi dapat mendaftarkan ''backend'' yang menyelesaikan deskripsi fitur ke nama paket.
Sejak versi 0.9, plug-in dikelompokkan menjadi tiga set (dinamai menurut film ''[[The Good, the Bad and the Ugly]]'').<ref>{{citation|url=https://gstreamer.freedesktop.org/documentation/splitup.html|title=GStreamer 0.9 development series - Hung by a Thread|publisher=Gstreamer.freedesktop.org|access-date=24 February 2013|archive-date=27 January 2013|archive-url=https://web.archive.org/web/20130127081645/http://gstreamer.freedesktop.org/documentation/splitup.html|url-status=live}}</ref>
{| class="wikitable"
!Nama kelompok Plug-in
!Deskripsi
|-
|Good
|Paket ini berisi plug-in GStreamer dari kelompok "bagus", satu kelompok plug-in berkualitas tinggi di bawah lisensi LGPL.<ref>{{cite web|title=GStreamer Good Plug-ins|url=https://gstreamer.freedesktop.org/modules/gst-plugins-good.html|archive-url=https://web.archive.org/web/20190207020112/https://gstreamer.freedesktop.org/modules/gst-plugins-good.html|archive-date=2019-02-07|access-date=2019-02-05|url-status=live}}</ref>
|-
|Bad
|Plug-ins Buruk GStreamer terdiri dari satu set plug-in yang ''tidak up-to-par'' dibandingkan dengan yang lain. Mereka mungkin mendekati plug-in berkualitas baik, tetapi mereka kekurangan sesuatu: mungkin sebuah [[ulasan kode]], beberapa dokumentasi, serangkaian tes, pengelola langsung yang nyata, atau penggunaan luas yang sebenarnya.<ref>{{cite web|title=GStreamer Bad Plug-ins|url=https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html|archive-url=https://web.archive.org/web/20190207020406/https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html|archive-date=2019-02-07|access-date=2019-02-05|url-status=live}}</ref>
|-
|Ugly
|Paket ini berisi plug-in dari kelompok "jelek", sekumpulan plug-in berkualitas baik yang mungkin menimbulkan masalah distribusi.<ref>{{cite web|title=GStreamer Ugly Plug-ins|url=https://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html|archive-url=https://web.archive.org/web/20190207015847/https://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html|archive-date=2019-02-07|access-date=2019-02-05|url-status=live}}</ref>
|}
Distribusi individual selanjutnya dapat mengklasifikasikan plug-in ini: sebagai contoh [[Ubuntu]] mengelompokkan kumpulan "bad" dan "ugly" ke komponen "Universe" atau [[Universe ubuntu|"Multiverse"]].
Sebagai tambahan, terdapat sebuah '''plug-in''' '''GStreamer FFmpeg''' (disebut ''gst-libav'' untuk alasan historis<ref>{{Cite web|title=subprojects/gst-libav/README.md · 47ac79d7b8cc078f4890d0ce21f47e1c1af2c736 · GStreamer / gstreamer · GitLab|url=https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/47ac79d7b8cc078f4890d0ce21f47e1c1af2c736/subprojects/gst-libav/README.md|website=GitLab|language=en|access-date=2022-07-12}}</ref>) yang memperluas jumlah format media yang didukung.
==== Akselerasi video ====
[[Berkas:GStreamer_and_TI_DMAI.svg|jmpl|Melalui plugin spesial yang disediakan oleh Texas Instruments, GStreamer memanfaatkan akselerasi perangkat keras yang disediakan oleh mis. [[Texas Instruments DaVinci]].]]
Terdapat banyak jenis [[Inti kekayaan intelektual semikonduktor|SIP blocks]] yang dapat melakukan komputasi untuk memecahkan kode codec video tertentu, seperti [[Nvidia PureVideo|PureVideo]], [[Unified Video Decoder|UVD]], [[Intel Quick Sync Video|QuickSync Video]], [[OMAP 4|TI Ducati]] dan lainnya. Hal tersebut perlu didukung oleh [[Pemacu peranti|driver perangkat]], yang pada gilirannya menyediakan satu atau beberapa antarmuka, seperti [[Video Decode and Presentation API for Unix|VDPAU]], [[Video Acceleration API|VAAPI]], [[Distributed Codec Engine]] atau [[DirectX Video Acceleration|DXVA]] hingga perangkat lunak pengguna akhir seperti MPlayer untuk mengakses perangkat keras ini dan memindahkan komputasi ke dalamnya.
* Hal ini dimungkinkan untuk menggunakan [[Video Coding Engine]] dengan GStreamer melaui pengumpul plugin [[OpenMAX IL]] {{mono|gst-omx}}.<ref>{{cite web|title=GStreamer OpenMAX IL wrapper plugin|url=https://gstreamer.freedesktop.org/releases/gst-omx/1.0.0.html|website=gstreamer.freedesktop.org|archive-url=https://web.archive.org/web/20170710025641/https://gstreamer.freedesktop.org/releases/gst-omx/1.0.0.html|archive-date=2017-07-10|access-date=2017-07-21|url-status=live}}</ref> Hal ini merupakan sebuah contoh keberhasilan pada [[Raspberry Pi]].<ref>{{cite web|title=Gstreamer 1.0 for raspbian|url=https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=34250&p=599066&hilit=gstreamer#p599066|website=GRaspberrypi.org|archive-url=https://web.archive.org/web/20170710095711/https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=34250&p=599066&hilit=gstreamer#p599066|archive-date=2017-07-10|access-date=2017-07-21|url-status=live}}</ref>
* Inti SIP ada pada beberapa SoC [[Texas Instruments]] juga dapat diakses melalui GStreamer: {{mono|gst-dmai}}, {{mono|gst-openmax}}, {{mono|gst-dsp}}.<ref>{{cite web|title=GStreamer Plug-ins for TI hardware|url=https://processors.wiki.ti.com/index.php/GStreamer|website=Processors.wiki.ti.com|archive-url=https://web.archive.org/web/20170628173254/http://processors.wiki.ti.com/index.php/GStreamer|archive-date=2017-06-28|access-date=2017-07-21|url-status=live}}</ref>
* [[Video Decode and Presentation API for Unix|VDPAU]] dan [[Video Acceleration API|VAAPI]] di dukung dengan [[GNOME Videos]] >= 2.28.0 dan GStreamer >= 0.10.26 sejak tahun 2010<ref>{{cite web|date=2010-03-25|title=Fluendo Codec Pack Release 11 bring VDPAU and VAAPI support|url=http://eu.fluendo.com/press/fluendo-codec-pack-release-11-keeping-technologies-fast-pace/|archive-url=https://archive.today/20140624184008/http://eu.fluendo.com/press/fluendo-codec-pack-release-11-keeping-technologies-fast-pace/|archive-date=2014-06-24|url-status=dead}}</ref>
* [[Broadcom Crystal HD]] di dukung<ref>{{cite web|author=Debian Webmaster|title=Debian - Details of package gstreamer0.10-crystalhd in wheezy|url=https://packages.debian.org/wheezy/gstreamer0.10-crystalhd|website=Packages.debian.org|archive-url=https://web.archive.org/web/20170629060143/https://packages.debian.org/wheezy/gstreamer0.10-crystalhd|archive-date=2017-06-29|access-date=2017-07-21|url-status=live}}</ref>
==== Format media ====
Plugin Good, Bad dan Ugly GStreamer yang disebut sebelumnya menyediakan, di samping semua jenis elemen pemrosesan/''filter'', dukungan untuk berbagai format berkas, protokol, dan ''codec'' multimedia.<!--
TODO - this section should have a list of formats/codecs provided specifically by gstreamer, see also https://bugzilla.gnome.org/show_bug.cgi?id=698589
--> Selain itu, dukungan untuk lebih dari seratus format kompresi (termasuk [[MPEG-1]], [[MPEG-2]], [[MPEG-4]], [[H.261]], [[H.263]], [[H.264/MPEG-4 AVC|H.264]], [[RealVideo]], [[MP3]], [[Windows Media Video|WMV]], dll.<ref>{{Cite web|title=subprojects/gst-libav/ext/libav/gstavcodecmap.c · 47ac79d7b8cc078f4890d0ce21f47e1c1af2c736 · GStreamer / gstreamer · GitLab|url=https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/47ac79d7b8cc078f4890d0ce21f47e1c1af2c736/subprojects/gst-libav/ext/libav/gstavcodecmap.c|website=GitLab|language=en|access-date=2022-07-12}}</ref>) secara transparan disediakan melalui plug-in ''gst-libav''.
== Sejarah dan pengembangan ==
=== Awal mula ===
Erik Walthinsen mencetuskan proyek GStreamer pada 1999. Banyak ide desain intinya berasal dari proyek penelitian di [[Oregon Graduate Institute]].<ref>{{Cite web|last=Edge|first=Jake|date=26 October 2010|title=GStreamer: Past, present, and future|url=https://lwn.net/Articles/411761/|website=[[LWN.net]]|access-date=15 May 2022}}</ref> [[Wim Taymans]] bergabung dengan proyek ini segera setelahnya dan memperluas banyak aspek sistem. Banyak pengembang perangkat lunak lainnya telah berkontribusi sejak saat itu.
Perilisan besar pertama adalah 0.1.0 yang diumumkan pada 11 Januari 2001.<ref name="0.1.0">{{cite web|date=11 January 2001|title=GStreamer "Slipstream" 0.1.0 released|url=https://sourceforge.net/mailarchive/forum.php?thread_name=Pine.LNX.4.21.0101101700180.17206-100000%40alpha.temple-baptist.com&forum_name=gstreamer-announce|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|archive-date=11 November 2012|access-date=3 November 2010|url-status=live}}</ref> Tidak lama kemudian, GStreamer mendapatkan pendukung komersial pertamanya. Menjelang akhir Januari 2001, mereka merekrut Erik Walthinsen untuk mengembangkan metode untuk menyematkan GStreamer dalam perangkat yang lebih kecil (kelas-[[telepon seluler]]). Karyawan RidgeRun lainnya, Brock A. Frazier, merancang logo GStreamer. RidgeRun kemudian mengalami kesulitan keuangan dan harus memberhentikan stafnya, termasuk Erik Walthinsen. Perkembangan GStreamer sebagian besar tidak terpengaruh.
== Referensi ==
{{reflist|30em}}
== Pranala luar ==
* {{resmi|http://gstreamer.freedesktop.org/}}
* [http://www-128.ibm.com/developerworks/aix/library/au-gstreamer.html?ca=dgr-lnxw07GStreamer Sebuah introduksi ke GStreamer] {{Webarchive|url=https://web.archive.org/web/20070507083316/http://www-128.ibm.com/developerworks/aix/library/au-gstreamer.html?ca=dgr-lnxw07GStreamer |date=2007-05-07 }}
* Proyek [http://www.ohloh.net/projects/3475?p=GStreamer GStreamer] {{Webarchive|url=https://web.archive.org/web/20080124095251/http://www.ohloh.net/projects/3475?p=GStreamer |date=2008-01-24 }} di [[Ohloh]]
* [irc://irc.oftc.net/gstreamer #gstreamer] di [[OFTC]]
* [http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html GStreamer FFmpeg plug-in website] {{Webarchive|url=https://web.archive.org/web/20210126003526/http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html |date=2021-01-26 }}
* [http://code.google.com/p/ossbuild/ Windows binary installer packages] {{Webarchive|url=https://web.archive.org/web/20170111184359/http://code.google.com/p/ossbuild/ |date=2017-01-11 }}
* [http://itee.uq.edu.au/~davel/gstreamer/ Mac OS X binary installer packages] {{Webarchive|url=https://web.archive.org/web/20110314012940/http://itee.uq.edu.au/~davel/gstreamer/ |date=2011-03-14 }}
[[Kategori:Perangkat lunak]]
[[Kategori:Multimedia]]
[[Kategori:Collabora]]
[[Kategori:Pustaka GNOME]]
[[Kategori:Pustaka Freedesktop.org]]
[[Kategori:Perangkat lunak bebas diprogram dalam C]]
|