「PC関係」カテゴリーアーカイブ

そりゃ,動かないはずだ・・・

ここ数日,NUC10にeGPUを接続し,動け動けと散々弄ってたんですが,結論は中に入れてた3080がお亡くなりになってた様子.

発覚したのは,eGPUから取り出して,リスク覚悟のメインPCに突っ込んで起動したところ,MBのb2エラーが.([マザーボード] 共通Q-CODE(エラーコード)とマザーボードのトラブルシューティング | サポート 公式 | ASUS 日本

eGPUに接続してるときは,発生してもOSで普通に認識してたため,気がつくのに遅れた.せめて文鎮まで故障してくれれば,OSで認識できないので,気がついたが.(そうなると中古で売っても返品されるからそもそも出品しないだろうけど)気がつけない程度の損傷なので売ったのかなと,邪推しますね.

akitio node titan + 3080の中古で安かったので買ったが,メルカリで買うのはリスクが高かったかぁ.

まぁ,目的はakitio node titanだったので,高くついたのは勉強代ということで.

さて,それで終わってはもったいないので,ちょっと3080を弄ってみる予定です.

現状はこんな感じ.おなじみのGPU-Zです.

なんとなくわかるかと思いますが,Memory Sizeやら,GPUClockやら,変な数字がありますね.あとUnknown.

おそらく,半田割れしてるんじゃないかなーと思うので,時期が来たらオーブンで焼いてみるつもりです.

初めてのことなのでどうなるかわかりませんが,元々壊れてると思えば気にならないですしね.

ちなみにメインで使ってる1070Tiのステータスはこちら.

埋まるべき数字がちゃんと埋まってますね.

ってことで,3080Ti買うかー(待て,早まるなw

あ,ちなみに,1070Tiを使ったeGPUだと,NUC10はthunderbolt接続で動きました.

不正アクセス

結構な勢いでSSHにアタックされてます.迷惑な奴らだ・・・

2月9日からSSHにひたすらアタックしてる様子.すぐにBANしてるので,全部IPアドレスを変えて再アタックしてる様子.

Windows11を入れてみた

タイトルの通り,公式HPからISO版を引っ張ってきて,USBブートドライブを作成.サクッとアップデートしてみました.

現在のところ,何も気にせず使えてます.2週間ほど使ってみたら違いもわかると思うのでとりあえず使ってみる予定.

スタートの場所とか,今まで使ってたUIと結構違うところもありますが,今回は弄らず,新しいUIになれるように努力してみます.私のアップデートも大切だしね.

ローカルPCから同一LAN内のwebサーバーにドメイン名でアクセスできない時。

ルーターを変更したら設定を弄らないと、アクセスできなくなったので、忘備録として残しておきます。

今までのルーターでは何も設定しなくとも、ローカルPCから公開webサーバに接続できてたんですが、今度のルーターは迷子になるようで、上手く接続できない。

Linuxの設定とそっくりでhostsを編集すれば、windows10でも迷子にならずに済みそうです。

ということで、簡単なメモ。

  1. 「メモ帳」を「管理者として実行」する(hostsファイルは管理者にしか書き換えられません)。
  2. 「メモ帳」で”c:\Windows\System32\drivers\etc”(正確には”%windir%\System32\drivers\etc”)の中にあるテキストファイル”hosts”を開く。
  3. ファイル内のどこかに先頭から、[ローカルIPアドレス][半角スペースまたはタブ][ホスト名]と記述して保存する。

はい、以上です。

と言いつつ、これですと、PCの台数だけ設定しないといけないのでめんどくさいです。そんな時は、webサーバーを動かしてるPCでローカル限定DNSサーバーを動かすのがいいでしょう。

ffmpeg hevc_nvencエンコード再考

暫く使ってんですが、どうも画質に納得してなかったので、改めてオプションを見直して、現在はこんな感じに落ち着きました。

ポイントはこんな感じ。

  • ビット深度を10ビットに拡張(何もしなければ8ビット)
  • 平均ビットレート指定のVBRから品質固定に。(以前のものにも-cr付けてましたが、実際は平均ビットレートでやってました)
  • yadifからbwdifに変更して、インターレース解除による60fps化(以前はframerateで60に引き上げてた。)

変わらないのは、NVENC使ってること。これはCPUがCorei5 2500kなので、パワーが足りないんです。

ffmpeg 
	-hide_banner \
	-ignore_unknown \
	-dn \
	-y \
	-vsync 0 \
	-hwaccel cuvid \
	-analyzeduration 200M -probesize 200M \
	-c:v mpeg2_cuvid \
	-deint adaptive \
	-drop_second_field 1 \
	-i "INPUT.ts" \
	-movflags faststart \
	-sn \
	-c:v hevc_nvenc \
	-pix_fmt p010le \
	-vf hwdownload,format=nv12,bwdif=1:-1:0 \
	-preset slow \
	-b_ref_mode 2 \
	-rc vbr_hq \
	-cq 35 \
	-b:v 0 \
	-af "volume=7.2dB" \
	-c:a aac -ar 48000 -ab 192k -ac 2 -bsf:a aac_adtstoasc \
	-fflags +discardcorrupt \
	"OUTPUT.mp4"

旧鯖の終了

トラブルに備えて、新鯖の裏でこっそりクローン稼働していた旧鯖が本日でお役目ごめんとなりました。

旧鯖はHP ProLiant MicroServer N54L PROLIANT-500をつかっていたのですが、当時、Amazonで15000円程度でした。調べてみたら、2014年9月に購入してたので、6年間の稼働ってことですね。

うん、想像よりも短かったな。予定では10年ほど使う予定だったのですが、技術の進歩が大きかったと言うことですな。

しかし、この6年で、メンテ、OSアップグレードで再起動はしましたが、連続する電源OFFは有りませんでした。そんな中でも一度も故障せず稼働したというのはすごいですね。録画サーバーも兼ねているので、結構な頻度でHDDも動くし、H264エンコードもしてたので、CPU100%に近い時間も結構あったと思いますが。

さて、旧鯖は本日から実験鯖に移行します。この筐体で上手く行ったら、新鯖に実装するための実験台ですね。それまではゆっくり休めてあげましょう。

あ、GROWIってのが気になってるんだった・・・(爆

H265 NVencが固まってきた

暫く試行錯誤してましたが、大体固まってきました。

目的は、録画したTSファイル、過去に録画して、あまあま(低圧縮H264)mp4を再エンコードして、容量を圧縮、保存すること。

本当なら、リサイズして1280か720位にしてビットレートを稼ぐのが良いのでしょうが、リサイズは嫌いなので、放送字のサイズを保ったままのエンコードを行います。

音声についても、基本は放送のママ。字幕なんかは切り捨ててますけど。

と言う条件でやっております。

読みにくいので、改行を挟みながらの記載にします。

/usr/local/bin/ffmpeg \
-hide_banner \
-ignore_unknown \
-dn \
-y \
-vsync 0 \
-hwaccel cuvid \
-analyzeduration 200M -probesize 200M \
-c:v h264_cuvid \
-deint adaptive -drop_second_field 1 \
-i input.mp4 \
-sn \
-c:v hevc_nvenc \
-vf hwdownload,format=nv12,yadif=0:-1:0,hwupload_cuda \
-preset slow \
-b_ref_mode 2 \
-rc vbr_hq \
-cq 30 -qmin 20 -qmax 40 -qcomp 0.6 \
-b:v 2M -maxrate 20M \
-rc-lookahead 50 \
-i_qfactor 0.75 -b_qfactor 1.1 -spatial_aq:v 1 -aq-strength 15 \
-c:a copy -fflags +discardcorrupt \
output(H265ReEncode).mp4

オプションの説明らしきモノ(誤解してる内容があると思うので、信用度は低いですよ)

  • -hide_banner:ffmpegを実行したときに出てくるVer情報とか、enableにしてるオプションの情報なんかを表示させない。
  • -ignore_unkown: 不明なストリームタイプを無視,
  • -dn: データを無効。
  • -y:出力ファイルが存在する場合、上書きする。
  • vsync 0: 映像の同期方法。 フレームをドロップ・コピーしてタイムスタンプをあわせることで映像を同期する。 (0,1,2を選べる。詳細はffmpeg Documentationを参照)
  • -hwaccel cuvid: HWエンコードでcuvidを明示.
  • -anaryzeburation 200M -probesize 200M
  • -c:v h264_cuvid(インプットファイルの前に書いてあるヤツ):入力ファイルをデコードするデコーダーを指定。
  • -deint adaptive -drop_second_field 1
  • -i input.mp4 :入力ファイル。
  • -sn:字幕出力しない。
  • -c:v hevc_nvenc:出力ファイルのエンコードをH265のNVEncで行うように、エンコーダーを指定。
  • -vf hwdownload,format=nv12,yadif=0:-1:0,hwupload_cuda:hwdownloadでハードウェアフレームをシステムメモリへダウンロードする。hwupload_cudaで システムメモリフレームをハードウェアサーフェスにアップロードする。 らしいが、詳しくは解らん。 format=nv12は色空間の指定。 yadif=0:-1:0は、インターレース解除で有名なヤツ。オプションは”一番メジャーなインターレース解除フィルタ yadif | ニコラボ”を参照して下さい。
  • -preset slow:11種類あるので、好きなのを選ぶ。詳細は”ffmpeg -h encoder=hevc_nvenc”を参照すればOK。
  • -b_ref_mode 2:Bフレーム対応のGPUだと有効にできます。(1660Superより上位のRTXシリーズだと対応してるっぽい。”ASCII.jp:GeForce RTX&新NVENC、OBSで高画質ゲーム配信できるって本当? (2/8)“を参照
  • -rc vbr_hq:プリセットのレートコントロールを上書きする。
  • -cq 30 -qmin 20 -qmax 40 -qcomp 0.6: 品質指定(0-51)、最低品質、最高品質を指定、 q値をどのくらい変動させてよいかの尺度らしい。
  • -b:v 2M -maxrate 20M:ビットレートを指定。0に設定するとcqに沿って行う(ビットレートは最大値までの間でcqを満たす値でエンコードされる)が、0以外の値を指定すると、こっちが優先で、cq値が合わなくなってくる。(主にビットレートが足りないときには指定したcq値よりも大きくなる。)
  • -rc-lookahead 50 :レート制御のために先読みするフレームの数。
  • -i_qfactor 0.75 -b_qfactor 1.1 -spatial_aq:v 1 -aq-strength 15
  • -c:a copy -fflags +discardcorrupt
  • output(H265ReEncode).mp4:出力ファイルの名前、適当にどうぞ。

追記:綺麗に再エンコできないことが多いので、完全にcqに従うように変更。それとオプションの見直しをした記事を記載しました。 → http://ponkotu.org/?p=2991

自宅サーバーのエンコード現状

2月中旬から自宅サーバーをリニューアルし、(と言っても、眠ってた第2世代インテルcore-i5 2500なんだけれど)録画サーバーもEPGStationに変更し、いろいろと設定していました。

何をしていたかというと、録画した番組をH265で圧縮するのに、CPUが貧弱なので、グラフィックボードのGPUを使ってある程度の速度を確保しながらのエンコードをしようと挑戦してました。

んで、現在の結論としては、H264のエンコードを考えなければ、保存用には向かないけど、大分良い感じだね。

という、元も子も無い(h264よりも同ビットレートなら画質が良いという理由でh265を選択している)結論に落ち着きました。

ってか、H264でも十分保存できるなぁと思ってしまったのが、運の尽き。かもしれません。

とまぁ、そういうことで、EPGStationにはH265_nvencのエンコードを実装するのを諦め、ある程度貯まってきたら、パワーのある、メインPCでTMPEGEncを使って圧縮することにします。

自動で保存するほどの設定でH265圧縮するには、サーバーのCPUを良いのにするしか無いかな。