見出し画像

Processingのvideoが動かない

技術に関することを書き溜めておこうと思い、noteをスタート。

Processing4が2022年(令和4年)8月にリリースされた。
これ以前に書かれた書籍はProcessing3を実行環境としている。過去の記述を読み直していたところで,Processing4での対応が気になり,調べてみた。

videoライブラリの様子が違う

videoライブラリが2種類に増えていた。Processing3でもWebカメラの設定にはハマったが,再度ハマることになった。

何のこともない以下のコードを実行すると,

video = new Capture(this,640,480);

UnsatisfiedLinkError: Could not load library: gstreamer
とエラーが出る。
接続カメラの一覧を表示するようなコードもダメ。

解決策

以下2つを実行してうまく行った。

①コードを書き直す。

video = new Capture(this,640,480);

について、

video = new Capture(this, "pipeline:autovideosrc");

と変更する。このあたりの情報は以下にあった。

②環境を構築し直す。

「Processingのパスに日本語が含まれると良くない」というのは,思い出してみれば,以前もハマったように思う。
以下のサイトに掲載されているように、キャッシュ全消し,Cドライブ直下にProcessingフォルダを移動で無事に動作した。

Processing3,Processing4のどちらでも上記対応が必要,上記対応を行えば動作することは確認できた。Videoライブラリについては,それぞれのバージョンに対応したものを使用すれば良さそう。ただライブラリ名がどちらも「Video」なので,同居させるのはよろしくない感じがした。

2024/11/15追記

勤務校の生徒PCで実行したところ、元のコードでそのまま動いた…。
ただ、ライブラリのインストールには失敗(インストール中から先に進まず)。
ProcessingをCドライブ直下に配置し、設定からスケッチブックの場所もC直下のフォルダに変更。ライブラリはどうやら、「スケッチブックの場所」で指定したフォルダに入るらしい。

いいなと思ったら応援しよう!