GStreamer

提供: ArchWiki
2017年1月10日 (火) 21:11時点におけるKusakata (トーク | 投稿記録)による版 (→‎ハードウェアアクセラレーション: 内部リンク)
ナビゲーションに移動 検索に移動

GStreamer は GObject の型システムを使って C プログラミング言語で書かれたパイプラインベースのマルチメディアフレームワークです。

プログラマーは GStreamer を使うことで、単純な音声再生や動画再生から録画・録音、ストリーミング、編集まで、様々なメディア処理コンポーネントを作成することができます。パイプライン設計により、動画エディタやストリーミングメディアの配信プログラム、メディアプレイヤーまで幅広いマルチメディアアプリケーションの基礎となります。

クロスプラットフォームになるように設計されているので Linux (x86, PowerPC, ARM), Solaris (Intel, SPARC), Mac OS X, Microsoft Windows, OS/400 上で動作します。GStreamer には Python, C++, Perl, GNU Guile (guile), Ruby などのプログラミング言語用のバインディングが用意されています。GStreamer はフリーソフトウェアであり、GNU Lesser General Public License でライセンスされています。

インストール

公式リポジトリからインストールできる GStreamer のバージョン:

  • gstreamer - 現行バージョン。
  • gstreamer0.10 - 旧式ながら広く使われているバージョン。

GStreamer を役立てるには、プラグインパッケージのインストールが必要になります。

現行バージョンのプラグイン

  • gst-libav - 多数のデコーダとエンコーダが含まれている libav ベースのプラグイン。
  • gst-plugins-bad - 品質テストやドキュメントが必要とされるプラグイン。
  • gst-plugins-base - 重要で典型的な基本セット。
  • gst-plugins-good - LGPL ライセンスで配布されている高品質のプラグイン。
  • gst-plugins-ugly - 配布に問題がある高品質のプラグイン。
  • gst-plugin-libde265AUR - gstreamer 用の libde265AUR プラグイン (オープンな h.265 動画コーデックの実装)。

旧式バージョンのプラグイン

ヒント: gstreamer0.10-plugins パッケージを使うことで一度に全てのパッケージをインストールできます。

統合

PulseAudio

PulseAudio のサポートは good プラグインパッケージによって提供されます。

軽量デスクトップ

音声の出力先のデバイスを変更するなど、GStreamer の設定をしたいときは、gstreamer-propertiesAUR パッケージに入っている gstreamer-properties を使用します。各ユーザーで実行することも、全てのユーザーに適用されるように root で実行することも可能です。ユーザーごとの設定ファイルは $HOME/.gconf/system/gstreamer にあり、全ユーザー共通のファイルは /etc/gconf/gconf.xml.defaults にあります。

KDE / Phonon の統合

KDE#Phonon を見て下さい。

ハードウェアアクセラレーション

ハードウェアビデオアクセラレーションを見てください。

GStreamer は自動的に適切な API を認識・使用します [1]。使用する API にあわせて以下のパッケージをインストールしてください:

ノート: Intel の GPU を使っているコンピュータで VA-API のサポートを有効にすると動画ファイルのサムネイル作成に問題が発生することがあります。詳しくは GNOME Files#動画ファイルのサムネイルが作成されないを参照。

トラブルシューティング

assertion 'mini_object->refcount > 0' failed

録画ソフトウェアで動画を録画しようとしたときに GStreamer-CRITICAL **: gst_mini_object_unref: assertion `mini_object->refcount > 0' failed というエラーが発生する場合、gstreamer0.10-ffmpeg をインストールすれば解決します。

参照