「鯖」カテゴリーアーカイブ

旧鯖の終了

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

旧鯖は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:出力ファイルの名前、適当にどうぞ。

Ubuntu 18.04.4 LTS にTV録画環境をインスト その2

タイトル通りです。忘れても良いように、メモとして残すだけなので、正確じゃ無いと思いますが、気にしないように。ココの内容を再利用する方は自己責任でお願いします。私は責任取りませんので悪しからず。

以下のソースコード中に出てくる「&」が「&」に置き換わってしまっているので、コピペするときは十分注意すること。

viでの痴漢コマンドは、

%s/&/&/g

でよかったはず・・・たぶん。バックスラッシュ必要だったっけな・・・・(汗

続きを読む Ubuntu 18.04.4 LTS にTV録画環境をインスト その2

Ubuntu 18.04.4 LTS にTV録画環境をインスト その1

TV環境だけじゃ無くて、wordpressなんかも入れるので、以下にリストを書いておこう。

  • wordpress
  • tt-rss
  • pukiwiki
  • syncthing
  • mirakurun
  • EPGStation
  • ffmpeg EVENC可能Ver
  • fail2ban
  • plex

不精者なので、bashファイルとしてソースをのせていくが、信じないで下さい、致命的なエラーが含まれているかもしれません。私は責任とれませんので、信用しないように。

Ubuntu 18.04.4 LTS にTV録画環境をインスト その2 に続く

QSV、NVENC、とはなんぞや。(エンコード関連)その1

久しぶりに、サーバーが不調になりまして、そろそろ物理的なサーバー交換を考えないといけないのかなと思っておりまして、それならば、エンコード関連も見直さないといけないジャマイカ。

ってことで、新サーバー候補の、ほこりをかぶったCore i5 2500を引っ張り出して、こいつは使えるのか、試行錯誤してるところです。

その途中で気になったのが、ハードウェアエンコードという言葉。

以前にサーバーを構築した際にもあったのですが、画質が悪くて選択肢にも上らなかったと記憶してますが、今現在はどうなんでしょうか。ということで、覚書としてここに残すことにしました。

続きを読む QSV、NVENC、とはなんぞや。(エンコード関連)その1

サーバー復活

あちこちにガタが来ているようです。諦めて、新しい筐体を準備しないといけないようですね。hddは定期的に交換してたんですが、マザーボードが疲れてきているようです。メモリもね。

ってことで、家中からかき集めてもう一台くみ上げて新しいサーバーにすることにします。

さて、何日かかるやら・・・・

自宅サーバーも安定したかな?

HDDの入れ替えとOSの入れ替えを行って10日ほどたちました.
特に不具合も見られないし,移行は問題なく終わったとみても良いかな.よしよし.久しぶりに問題も無く(?)終わりました.いいことだ.
そのぶん,やらなきゃいけない事が終わってないんだけどねえええええええええええ(人生がおわりそう?!)
まぁ,いいか,来年の4月にはubuntu14.04が出るはずなので,それにOSを入れ替えるのと同時に,このブログの基幹をBlognplusからwordpressに移行しようと画策中.ついでに,ローカルで動かしているpukiwikiをmediawikiにするかどうか.まぁ,高トラフィックになることはまず無いし.いっそのことwordpressの固定ページに全部纏めてしまうってのも手か.んじゃ,ついでに,clipbucketも統合できるか?いやいや,さすがに動画配信システムはWordpressの領域じゃ無いだろうなぁ.まぁ,この辺がまとまってくれれば,管理もだいぶ楽になるんですけどね.
さーって,来年度はどのプログラム言語に手を出すかw Qt辺りおもしろそうだな.クロスプラットフォームなんて魅力だなぁ.

HDD換装終了あああああああああああああああ

終わったああああああああああああ
予定では昨日の夜で終わるはずだったのですが,操作ミスで起動しなく無ったったwwww → 再インストールいってみよー Orz
 と言うこともあり,昨日はふて寝.今朝から本格的に作業をし始め,今最後の確認が終わったところです.まぁ,バックアップ設定がまだ残ってるから終りじゃ無いんですがね.そっちはcronを組めば終りなのですぐですし.
 改めて思うわ.rm(削除コマンド)って慎重にしないといけないよねwwww

バックアップ作業

さすがに,HDDお釈迦になるまえに,バックアップだけ取っておこうと思って,homeフォルダやら何やらのtarボールを作ったりしてたら,結局この時間だよ....週末勉強できなかったぜぇ.こりゃまずいな・・・・