![見出し画像](https://assets.st-note.com/production/uploads/images/163045575/rectangle_large_type_2_7602d88ef680f74ef8203e55a8b4ee69.png?width=1200)
Processingのvideoが動かない
技術に関することを書き溜めておこうと思い、noteをスタート。
Processing4が2022年(令和4年)8月にリリースされた。
これ以前に書かれた書籍はProcessing3を実行環境としている。過去の記述を読み直していたところで,Processing4での対応が気になり,調べてみた。
videoライブラリの様子が違う
videoライブラリが2種類に増えていた。Processing3でもWebカメラの設定にはハマったが,再度ハマることになった。
![](https://assets.st-note.com/img/1732419029-JlvK5EYcu7rOo1AhbqjLBpgF.png?width=1200)
何のこともない以下のコードを実行すると,
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直下のフォルダに変更。ライブラリはどうやら、「スケッチブックの場所」で指定したフォルダに入るらしい。
![](https://assets.st-note.com/img/1732500769-krVwhqblg16XBFfOnGNJYvCE.png)
![](https://assets.st-note.com/img/1732500824-f3Zp6SWw58ciNIatYPMk9xdJ.png)