妄想日記 by 妄想エンジン


FreeBSD と vaapi であそぶ。

ということで、いつの間にか Intel QSV が vaapi 経由で使えるようになっていた。
作ってくれた方々、ありがとうございます。

さっそくインストール。

>sudo pkg install libva-intel-driver libva-intel-media-driver libva-utils drm-kmod

ということで、さっくりパッケージ入れる。

> vainfo
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 1.6.0
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
vaInitialize failed with error code -1 (unknown libva error),exit

あれ?kldstat してもちゃんと入っているけどな、と思っていたら、サーバ機なのでヘッドレスということを忘れてた。
とりあえず、VGAケーブル繋ぎなおしてリブート。この機会についでに freebsd-update もしておこう。

ふたたび立ち上がってきたのでもう一回 vainfo

> vainfo
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 1.8.0
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
vaInitialize failed with error code -1 (unknown libva error),exit

あれれ?もしかして?

> sudo vainfo
Password:
error: XDG_RUNTIME_DIR not set in the environment.
MobaXterm X11 proxy: Unsupported authorisation protocol
error: can't connect to X server!
libva info: VA-API version 1.8.0
libva info: Trying to open /usr/local/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.8 (libva 2.8.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.2.0 (intel-media-20.2.0)
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI

やったぜ!

ということで、次は ffmpeg で動けばいろいろ捗るぞ。

> ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/card0 -hwaccel_output_format vaapi \
-i test.ts -vf 'hwupload,deinterlace_vaapi' -qp 23 -c:v h264_vaapi -c:a copy -absf aac_adtstoasc \
-f mp4 test.mp4

動きました。hevc_vaapi でも動いてばっちりです。あとは適当にパラメータ調整しよう。

とりあえず、ブートの際にモニタつなげばいけたので、モニタは外しちゃったけど、再起動で動かなくなりそうなので、VGAのダミープラグを発注しよう。

追記:
jail の中で動かすには、 /etc/devfs.rules に新たにルール追加して dri* と drm* を見せてあげれば動きました。やったぜ。

ツイート

mastodon インスタンスをたてる(更新編)

ということで、1.3.3 から 1.4.1 に更新したのでその時の記録。
これをやるために jail で動かしているといっても過言ではない。

基本的なやり方としてはこうです。
・現状の環境をバックアップして、コピーを作成。
・コピー側を v1.4.1 に更新。
・nginx の接続先を v1.4.1 に切り替える。
・v1.3.3 のほうは止めて、環境自体は何かあった時のために残しておく。

ツイート

mastodon のインスタンスをたてる( nginx設定&公開編)

ということで、前回、前々回とmastodon を FreeBSD jail 上で動かす件について書いてきましたが
これで最後(になる予定)

mastodon のインスタンスを、完全に内部だけで、外とも連携せずに使うのであれば、前回動かした状態でも大丈夫ですが、せっかくですので外部のインスタンスとの連携を考えます。

そのためには、外部に公開できるようなドメインが必要です。また、SSLも強く推奨されます。
以前はSSLのキーの取得には結構な金額がかかっていましたが、今は Let's Encrypt を使えば無償で手に入れることができます。ただしこの鍵の有効期限は3か月ですが、鍵の取得と更新を自動的に行ってくれるスクリプトもありますので、それを使って取得と更新をするようにします。

ツイート

massodon インスタンスをたてる(インストール&設定編)

ということで、前回はmastodon実行のための下準備を行ってきました。
今回は mastodon 本体のインストールと設定を行います。
前述のProduction guideをもとに進めていきます。

ツイート

mastodon インスタンスをたてる(準備編)

ということで、一部で大流行中の mastodon ですが、docker でイメージが公開されているため、手軽に入れて試すことができます。

とはいえ、インストールするのと、それを運用するのはまた別の次元の話なのですが。

で、FreeBSD にも docker はあるので、さっそく試してみました。

ERROR: client and server don't have same version (client API version: 1.22, server API version: 1.19)

だめでした。残念。

そこであきらめたら試合終了なので、別方面から頑張ることにします。
mastodon の git を見ると、
https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/...
というのが公開されており、docker から剥がして設定するためのドキュメントがあります。
これを参考にしてやってみましょう。

ツイート
|top |アフィリエイト |windowsネタ |料理メモ |コンタクト |twitter |
さわやかなエロスを目指す--妄想エンジン ©1996-2022
コンテンツ配信