GStreamer
GStreamer(ジーストリーマー)は、フリー(ライセンスはLGPL)のマルチメディアフレームワーク。
リポジトリ | |
---|---|
プログラミング 言語 | C |
対応OS | クロスプラットフォーム |
種別 | マルチメディアフレームワーク |
ライセンス | LGPL |
公式サイト |
gstreamer |
C言語で記述され、主にUNIXで開発されている。ビデオ編集ソフトやストリーミング、そしてメディアプレーヤーなどのようなマルチメディアアプリケーションのベースとなる機能を提供する。クロスプラットフォームとなるよう設計されており、Linux (x86, PowerPC, ARM)、Solaris (x86, SPARC)、OpenSolaris、FreeBSD、OpenBSD、macOS、Windows、OS/400上で動く。GStreamerではユーザーがライブラリを組み合わせてグラフ構造の処理パイプラインを1から構築する必要がある[1][2]。
核となる部分以外では、プラグインのライブラリ群で構成されている。 動的にロードされ、種々のコーデック、コンテナフォーマット、出力ドライバをサポートしている。 他のプログラミング言語では、Python、Vala、C++、Perl、GNU Guile、Rubyなどにバインディングされている。
GNOMEデスクトップ環境はGStreamer技術の最初のかつ主要なユーザであり、GNOMEのアプリケーションがマルチメディア機能を実装するのにこのフレームワークを利用するよう支援した。KDEのメディアプレーヤであるAmarokなど、他のアプリケーションもこれを利用している。KDEのバージョン4では、これが標準のマルチメディアフレームワークとなる予定であったが、頻繁にABIが変更されるため、KDEでは新たにPhononが開発されることとなった。PhononではバックエンドとしてGStreamerを使うことができる。
GStreamerはスマートフォンやタブレットなどの組み込み機器でも利用されていて、Palm Pre、Maemo、Tizenなどで使われている。
GStreamerはCPUによるソフトウェアコーデックも利用できるし、OpenMAX IL (Linux), DirectShow (Windows), QuickTime (macOS) などを経由してオペレーティングシステム (OS) のコーデックを再利用したり、ハードウェアコーデックを呼び出したりすることも出来るし、FFmpeg (libav) 経由でそれらのコーデックを利用することも出来るし、VPUベンダーのハードウェアコーデックのプラグインを利用したりすることも出来る。
このプロジェクトは、freedesktop.orgでホストされており、フリーなデスクトップ環境間での相互運用性を改善することや技術を共有することを目的としている。
歴史
編集このプロジェクトは、1999年にErik Walthinsenによって設立され、オレゴン大学院大学の研究プロジェクトから多くの核となるアイデアがもたらされた。Wim Taymansはすぐにプロジェクトに参加して、以来システムを多くの面で拡張した。世界中の多くの人が様々な面で貢献した。RidgeRunという組み込みLinuxの企業で働くBrock A. Frazierによってロゴがデザインされた。この企業は、Erik Walthinsenを小型機器にGStreamerを組み込む方法を開発するために雇用する、という形でGStreamerの最初のスポンサーとなった。
脚注
編集- ^ “GStreamer: features”. gstreamer.freedesktop.org. 2023年4月8日閲覧。
- ^ “GStreamerとは|産業用UVCカメラのすすめ|株式会社アルゴ”. www.argocorp.com. 2023年4月8日閲覧。