LarkBox ProのDebianでQSVエンコードできた

 DebianでQSVエンコードすべくパッケージ試したりビルドしたりしてたけど、ふとDebianのnon-freeのISOでインストールしてパッケージ入れたら素直に動いたりしないかと思って試してみたら、あっさり動いた。気をつけないといけないのは再起動しないとVAAPIデバイスが認識しないかも知れないとか、VAAPIデバイス扱うためにデバイスファイルと同じグループに所属しないといけないこととか。
 あとは未だに良くわかっていないのがVAAPIとQSVのどちらも使えるんだけど、どう異なるのかとか。あと、エンコードだけでなくデコードやインターレース解除やリサイズ等もハードウェアでやるためのパラメータの確認とか。とりあえず、EPGStationで使うのが目的なのでEPGStationのデフォルトのlibx264のパラメータを一通り拾って、それをどう書き換えるべきかを調べてみたりとか。

 A10N-8800EのCPUファンを手持ちの機材から流用して交換しようと思ったら4cmだった。Ver.6.1から6cmになった模様。元のファンはPOWER LOGICのPLA04010S12H-1で大きさは40×40×10mm、定格は12V 0.10Aで3ピンコネクタ、回転数は軽くググってファン単品売ってるトコに3000rpmって記載があった。とりあえず、AinexのCFZ-4010LAあたりに変えてみるか。

 定時後、出社時にガス欠ランプ点いてたので名谷カーエネクスへ。カードでレギュラー満タン給油。リッター158円に常設3円引きクーポンで155円。その後、西神中央に向かう下道で帰宅。

 晩御飯は焼き肉と肉じゃがの残りと揚げ出し豆腐とオニオンコンソメスープ。

 何となくfreeなDebianintel-media-va-driver-non-freeがインストールできないことを確認してから、sources.listにnon-free追加してlibva-dev、libmfx-dev、intel-media-va-driver-non-free、vainfoをインストール。再起動しなくても/dev/dri/renderD128が既に認識されてて、root権限でffmpegでQSVエンコードしたらあっさり動いた。あとはEPGStation入れたユーザをrenderグループに所属させて再ログインすれば終わり。
 せっかくなのでenc.jsをQSVエンコード対応にするべくパラメータを確認。先頭に-init_hw_device qsv:hw,child_device_type=dxva2 -hwaccel qsv -hwaccel_output_format qsvを追加、-iの直前に-c:v mpeg2_qsvを追加、-c:v libx264を-c:v h264_qsvに変更、-vf yadif,scale=-2:720を-vf deinterlace_qsv,scale_qsv=-1:720,fps=30000/1001に変更、-crf 23を-q:v 23に変更、-preset veryfastを-preset 7に変更して手動で実行。動いた。
 リサイズはアスペクト比を維持して高さから幅を求めた際に奇数だったら1つ増やして偶数にする機能は無いっぽい。さすがにソフトウェアエンコードと比べると同じ品質の場合はビットレートが増えるけど、エンコード速度は実速度の3倍以上でCPU全然使わないから軽くていい。あとはストリーミングだけど-profile:v baselineの代わりに-profile 66を指定するくらい。あ、-tune fastdecode,zerolatencyはh264_qsvでは意味が無いので削除しておかねば。

 夜9時にお茶入れてもらって一服。

 何となくEPGStationの設定をQSV対応に書き換えてみた。一応、ちゃんと動いてるっぽい。

 寝っ転がったスタイルで早速ThinkPad E480を軽く試してみた。やはりトラックポイントはこういうスタイルでも自在に使えて便利。そして、キーボードも悪くない。普通に打てる。現時点では自室のメインPC候補がThinkPad E480、持ち歩き候補がLIFEBOOK U937/Rってカンジになりそう。