GStreamer: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k ~cite
Rehat dulu
Tag: Suntingan perangkat seluler Suntingan peramban seluler
 
(2 revisi perantara oleh pengguna yang sama tidak ditampilkan)
Baris 1:
 
{{Update||date=May 2021|reason=Terdapat beberapa informasi yang kadaluarsa dan perlu diperbaharui}}
{{Infobox software
| name = GStreamer
Baris 56:
=== 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 ==