わくわく計算ライフ

ドムプラをキメつづけるブログになりつつある。

gstreamer-rsに手を付ける(準備編)

以前のgstreamer-rsの準備はして勉強ある程度していたのですが、間が空いてバグフィックスとかリポジトリの移動とかがあったりしたので改めて環境構築手順を。
(2022/08/07)

1. gstreamer-rs について

Open SourceのMultimedia FrameworkのGSteamerの公式Rustバインディングです。
GStreamerはffmpegと並んで有名なOpen Source Multimedia Framework だと思います。
以前途中まで勉強した感じでは、型推論&静的解析の合わせ技でオリジナルのCのコードよりは読みやすいと感じました。
これで、動画とかの編集とか解析をさせたいというモチベーションでやってます。

↓(2022/7 中旬にGitHubからGitLab Freedesktopにお引っ越ししていました)
gitlab.freedesktop.org

2. インストール

基本的に前回のままで行けました。
バージョンが上がっていたのでGStreamer自体は新たにインストールし直しました。

2.1. GStreamerのバイナリのインストール

以下のページからバイナリをダウンロードして実行します。

gstreamer.freedesktop.org

Visual Studio 2019はRustで使っている関係上インストール済みなので、MSVC 64-bitのバイナリを両方ダウンロードしてインストールします。
付属のexampleで一部標準的じゃない機能を使っているとのことなので、どちらもCompleteでインストールしました。

しかし、実際に配布する際は仮想環境とかでRuntime側のStandardインストールのみで動くかとかは確認しておきたい。
ちなみに、Completeで追加でインストールされるパッケージはまだ安定していない新機能だったり、商用利用の場合は別途ライセンス契約が必要だったり、特許をクリアする必要があるようなものです。
逆に言えば、Standard構成で動く分にはこれらの問題が回避されるようです。

2.2. pkg-config のインストール

こちらからダウンロードして展開します。 sourceforge.net

2.3. 環境変数の設定

今回は上記ソフトはDドライブ直下にインストールしています。 インストールしたソフトのパスをPathに加えます。

D:\pkg-config-lite-0.28-1\bin
D:\gstreamer\1.0\msvc_x86_64\bin
D:\gstreamer\1.0\msvc_x86_64\lib

PKG_CONFIG_PATHにgstreamerのpkgconfigディレクトリを設定します。
(既にPKG_CONFIG_PATHを使用している場合は、gstreamerのpkgconfigのPATHを追加してください。)

D:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig

これで完了です。

3. サンプルの起動

gstreamer-rsのリポジトリをclone後、expamplesディレクトリに移動しビルドします(cargo build)。
サンプルのplaybinを実行します。

playbin [URL]

cargoから実行する場合は

cargo run --bin playbin [URL]

とします。

ちなみにローカルマシンのDドライブ下の動画を再生させる場合はfile:///の後にパスを書けば良いです。

cargo run --bin playbin file:///D:/moviedir/movie.mp4

とか

cargo run --bin playbin file:///"D:\moviedir\movie.mp4"

で行けます。後者だとExplorerのShift + 右クリックメニューのパスをコピーを張り付けるだけで良いので楽ですね。

4. まとめ

  • コミュティの方々のメンテのおかげで以前の問題は無くなりました
  • リポジトリが引っ越しになりました

心機一転gstreamer-rsの勉強がっつりやってこうと思います。
そろそろお盆休みだしね。