2022年6月10日金曜日

CentOS7.9.2009でDon't Starve Together Dedicated Serverを立ててみた

前振りです。

セールで66%引きの\503だったのでDon't Starve Togetherというゲームを買いました。
でも全然やる気が出ませんでした。

折角買ったのにつまらないな、と思っていると、なにやら独立してサーバが立てられるそうなので、CentOS7でやってみました。そういう手間が好きなので。
実際にやってみると、そこらへんに出回っている情報が古くて、そこかしこで齟齬が生じていることが分かりましたので、現時点(具体的な日付は当ブログの日時をご覧ください)での設置方法をメモしておく次第です。

今回使用したOS及びアプリのバージョンは以下の通りです。

Don't Starve Together Dedicated Serverのバージョン: 510124 LINUX 64-bit版
CentOSのバージョン: 7.9.2009

CentOSはGUIが無効にされています。

なお、現時点でも接続確認のみでゲームはプレイしていません。我ながら馬鹿です。

前準備その1 steamユーザを準備する

ValveさんとKLeiさんを絶対的に信用していない場合は、システムにsteamユーザを追加してください。

# useradd steam -d /home/steam

steamユーザになる
# su - steam

以下の記事は、上記を行っているものとして記述しております。

前準備その2 SteamCMD をインストールする

手順は以下の通りです。

1
2
3
4
5
6
7
$ mkdir /home/steam/steamcmd
$ cd /home/steam/steamcmd
$ wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz -O steamcmd_linux.tar.gz
 
$ tar zxvf steamcmd_linux.tar.gz
$ cd linux32
$ ./steamcmd

前準備その3 cluster_tokenを取得する

ゲームクライアントを起動してコンソールから次のコマンドを入力してください。ゲームクライアントはWindowsでも何でもいいです(Linuxである必要はありません)。

TheNet:GenerateClusterToken()

すると、Windows版クライアントの場合、 cluster_token.txt というファイルが以下のディレクトリに生成されます。

C:\Users\<ユーザ名>\Documents\Klei\DoNotStarveTogether\<数字の羅列>\

Documents\Klei\DoNotStarveTogetherの直下ではない点にご注意ください。

またはホームページから取得する方法もあるようですがやったことないので知りません。

以上で前準備は整いましたのでいよいよDedicatedサーバをインストールします。

手順その1 Don't Starve Together Dedicated Serverをインストールする

1
2
$ cd  /home/steam
$ ~/steamcmd/steamcmd.sh +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +force_install_dir dont_starve_together_dedicated_server +login anonymous +app_update 343050 validate +quit

※多くのサンプルでは上記の+loginよりも+force_install_dirを先に記述していますが、その場合は警告が出るので+force_install_dirを先に指定してください。

手順その2 一度起動してディレクトリのひな形を作成する

以下のスクリプトを~/start_servers.shとして保存、実行してください。
スクリプト中でリダイレクトしているテキストはサーバプロセスが出力しているファイルと同様なので不要なら/dev/nullに捨てて構わないでしょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/env bash
pushd . >/dev/null
STEAMHOME=/home/steam
DSTSVRDIR=$STEAMHOME/dont_starve_together_dedicated_server
DSTSVR_BINDIR=$DSTSVRDIR/bin64
DSTSVR_LIBDIR=$DSTSVR_BINDIR/lib64
PERSISTENT_STORAGE_ROOT=$DSTSVRDIR
CONF_DIR=conf
CLUSTERNAME=Cluster_1
LOGDIR=$PERSISTENT_STORAGE_ROOT/$CONF_DIR/$CLUSTERNAME/log
SVRPROC=dontstarve_dedicated_server_nullrenderer_x64
SVRPROCOPT=" -persistent_storage_root $PERSISTENT_STORAGE_ROOT -conf_dir $CONF_DIR -cluster $CLUSTERNAME"
 
if [ ! -e $DSTSVRDIR ]; then
  echo サーバがインストールされていない
  exit 1
fi
if [ ! -e $LOGDIR ]; then
  mkdir -p $LOGDIR
fi
 
cd $DSTSVRDIR
# サーバプログラムの更新を確認する
# dedicated_server_mods_setup.luaが上書きされるのを防ぐため、+app_updateオプションに対してvalidateを指定していない
$STEAMHOME/steamcmd/steamcmd.sh \
  +@ShutdownOnFailedCommand 1 \
  +@NoPromptForPassword 1 \
  +force_install_dir $DSTSVRDIR \
  +login anonymous \
  +app_update 343050 \
  +quit > $LOGDIR/app_update.log 2>&1
 
if [ ! -e $DSTSVR_LIBDIR ]; then
  mkdir -p $DSTSVR_LIBDIR
fi
if [ ! -e $DSTSVR_LIBDIR/libcurl-gnutls.so.4 ]; then
  # CentOS7にはlibcurl-gnutls.so.4が用意されていないためlibcurl.so.4を使用する
  ln -s /usr/lib64/libcurl.so.4 $DSTSVR_LIBDIR/libcurl-gnutls.so.4
fi
 
# メインと洞窟サーバを起動する
nohup ./$SVRPROC $SVRPROCOPT -shard Master > $LOGDIR/Master.log 2>&1&
nohup ./$SVRPROC $SVRPROCOPT -shard Caves > $LOGDIR/Caves.log 2>&1&
popd >/dev/null

手順その3 Dedicatedサーバを停止する

10秒くらい経ったら、以下のコマンドで停止してください。

 killall dontstarve_dedicated_server_nullrenderer_x64

正確を期すなら、Master.logを監視して、cluster_tokenがないので起動できないというメッセージを確認してから停止してください。

この一行のコマンドをstop_servers.shとして保存しておくと便利と思います。

手順その4 生成されたひな形に肉付けする

以下のディレクトリが生成されていますので、それぞれのディレクトリに必要な設定を行います。

肉付けが必要なファイルの説明は次のURLが詳しいです。
https://steamcommunity.com/sharedfiles/filedetails/?id=635281092

  1. ~/dont_starve_together_dedicated_server/conf/Cluster_1
    このディレクトリには先ほど取得したcluster_token.txtを配置してください。
    また、cluster.iniを生成して配置してください。
    cluster.iniの内容は以下の通りです。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    [GAMEPLAY]
    game_mode = endless
    max_players = 16
    pvp = false
    pause_when_empty = true
    vote_enabled = true
     
    [NETWORK]
    cluster_name = クライアントから見えるサーバー名を設定してください
    cluster_description = 何か夢とか希望とか書いてください
    cluster_intention = social
    autosaver_enabled = true
    offline_cluster = false
    lan_only_cluster = false
     
    [MISC]
    console_enabled = true
    ; サーバ用日本語modをインストールする予定なのでjapaneseと指定
    language_code = japanese
     
    [SHARD]
    shard_enabled = true
    bind_ip = 127.0.0.1
    master_ip = 127.0.0.1
    cluster_key = Cluster_1_tokuni_imi_ha_nai
  2. ~/dont_starve_together_dedicated_server/conf/Cluster_1/Master
    このディレクトリにはserver.iniというファイル名で以下の内容を記述してください。
    1
    2
    3
    4
    5
    6
    [ACCOUNT]
    encode_user_path = true
     
    [SHARD]
    is_master = true
    name = Master
  3. ~/dont_starve_together_dedicateCavesd_server/conf/Cluster_1/Caves
    このディレクトリにもserver.iniというファイル名で以下の内容を記述してください。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [ACCOUNT]
    encode_user_path = true
     
    [SHARD]
    is_master = false
    name = Caves
     
    [NETWORK]
    server_port = 10998

    また、 worldgenoverride.lua というファイル名で、中身が下記のファイルを作成してください。
    このファイルでDST_CAVEを指定して初めて洞窟とみなされますので、このファイルを忘れると森が二つあるサーバとなります。ただし、私はゲームとしては遊んだことがないので、それがどういう動作につながるのかまではわかりません。
    1
    2
    3
    4
    5
    6
    7
    return {
      override_enabled = true,
      preset = "DST_CAVE",
      overrides = {
        start_location = "default",
      },
    }
  4. MastarとCavesディレクトリの両方にmodoverrides.luaというファイル名で以下を記述してください。
    1
    2
    3
    return {
    ["workshop-1636779445"] = { enabled = true } -- 日本語化
    }
  5. ~/dont_starve_together_dedicated_server/mods
    このディレクトリには dedicated_server_mods_setup.lua というファイルがあるはずなので、以下の行を追記してください。ファイルがない場合は、どうせもともとコメントしかないファイルなので自分で作って構いません。
    なお、このファイルはSteamCMDで本サーバアプリをvalidateすると消されてしまいますのでそのあたりは別途コピーを保管しておくなりして料簡してください。
    1
    ServerModSetup("1636779445") --日本語化mod
  6. ここまでで設定はおおむね完了したので、~/start_servers.shでDedicatedサーバを起動してください。
    ゲームクライアントを起動し、オンラインにしてから clustar.iniで定義したcluster_name でサーバを検索すれば接続できる状態になっているはずです。
あとはsystemdで起動できるようにしたりファイアウォールやルータの設定(udp,10999)、logrotateの設定などを行えばおしまいです。

以上、だれの参考にもならない文章ですが、それでもここまでお読みいただいてありがとうございました。

2022年5月18日水曜日

従来型G Suite、無償のまま存続可能へ

色々呼び方があるようで、従来型G Suiteのほかにも、無償版G Suite、Legacy G Suite、はたまた"料金のかからない従来の G Suite"とGoogleさん自身は様々に和名を定義しておられるようですが、要は2012年まで申し込めた「無償で独自ドメインが使えるGmailが使えるサービス」の件です。

このサービスは今年2022年の年頭、1月に廃止されることが発表され、有償版のGoogle Workspaceに移行するか、Gmailが使えない無償版の「Google Workspace Essentials Starterエディション」に移行するか、使用をあきらめるように案内されてきました。
しかし、Google Workspace 管理者ヘルプによりますと、この度、将来的には何らかの制限が加えられるかもしれないが、手続きを踏めばGoogle Workspaceに移行せずに、現在のまま継続して使用することが可能になりました。

手続きというのは、Googleさんに「この従来型G Suiteは非営利目的で個人的に利用しています」ということを伝えることです。といっても、具体的にはボタンというかブラウザ上のリンクを踏むだけです。
早速手続きを終えた後、管理コンソールから確認すると以下のように表示が変わります。
「詳細」をクリックすると以下の画面になります。「個人での利用: 料金のかからない従来の G Suite を引き続き利用」にチェックマークがついていることが確認できます(手続き前はチェックマークの部分が手続き画面に遷移する右向き矢印になっていました)。

なお、すでにGoogle Workspaceに移行した人は、管理コンソールから手続きができません。その場合はサポートに連絡しなければならないそうです。

Google Workspaceに移行する場合も、今回発表された無償版G Suiteのまま使い続ける場合も、いずれも8月1日までに手続きが完了していない場合はアカウントが凍結されます。

まさか無償のまま継続して使用できるようになるとは思ってもみませんでした。
素直にうれしいです。Googleさん、ありがとうございます。

2022年3月25日金曜日

椅子に座ると尾骨が痛い

最近は尾てい骨といわずに尾骨というらしいですね。

結論: 表題の件は、こういうクッションで解決しました。
以上です。

以下、出会うまでの恥の記録です。

もう10年ほどになるでしょうか、ある時、見る見るうちに体重が60kgから30kgほどに一気に落ちてしまいました。現在でもあばら骨が浮いていたりして骨と皮みたいなくせに、(脂肪がないので)腹筋が割れて見える体たらくです。

こうなると、横向きに寝れば浮き出た肋骨がマットレスに当たって痛いし、仰向けに寝ると今度は尾てい骨が当たって痛みます。

寝ている場合は寝返りで何とかなりますが、椅子に座ったときは尾てい骨が座面に当たっている状態で上半身の体重がのしかかります。これが実に痛くてたまりません。これから逃れるすべは椅子から立ち上がるくらいしかありません。

一日軽く14時間くらいは座っていることがざらにある生活ですので、さすがに何か工夫をしなければ、と思いました。

尾てい骨がイタイ、椅子、みたいな文言で検索すると、やれ整体がどうだの骨がずれてるだのああだのこうだのという検索結果ばっかりなので、何の役にも立ちませんでした。

最初に思いついたのは椅子の上に円座を敷くことでしたが、椅子の上で使うとクッション部分が尾てい骨にしっかり当たってしまい、痔でもないので肛門を保護しても何の意味もないことが見えていたので試しもしませんでした。

そこでまず試したのは厚めの座布団を敷いたり複数枚敷いたりして、座面を柔らかくしてみましたが、これでは痛むまでの時間が若干伸びるだけで、解決になりませんでした。

次に試したのは、尾てい骨が宙に浮くように、腿で座ることです。これは座布団を二つ折りにして腿の下に敷いて高さを確保しました。

しかし、これもうまくいきません。上半身の体重をモロに受け止めるべき臀部も宙に浮いているため、長時間座っているとかなり腰に来るのです。

ただ、何もしない場合に比べれば確かに長い時間、尾てい骨は痛まなくなりますので、座布団を折って座っているためにすぐ破れたり、椅子の上の座布団の位置が滑ってすぐにずれてしまうのをごまかしつつ、これで何年も我慢して過ごしてきました。

ところが最近になって、ある別件の要件の商品を探していたところ、本当にたまたまこの記事冒頭のクッションの画像が目に入りました。

その瞬間、これだ!と思いました。ここまで中心近くまで深く切り込みが入っているなら座る際に尾てい骨の位置合わせをする必要もなさそうだし、お尻に当たる背中側のクッションは厚めに見えるので椅子の座面に尾てい骨が届いてしまい当たる懸念もなさそうです。

本来の要件そっちのけで目に入った商品を即注文してしまいました。

こんな形状のクッションがあるなんて知ってから後、暇な時に改めて探してみると、類似品がピンからキリまであるわあるわ。一部界隈ではU字型クッションなんてジャンル名までついているのですね。
こんなにあるのに何年も出会えなかったとはなんて間抜けで愚かだったのかと思います。

入手してからふた月ほど経ちましたが、上半身の重さをおしりでしっかり支えつつ尾てい骨の痛みは一切ないので、お尻そのものが痛むまでずっと座っていられるようになりました。

以上、恥の記録とさせていただきます。

ここまでお読みいただいてありがとうございました。

2022年3月21日月曜日

フレンチプレスやメッシュドリッパーで淹れた後のコーヒー粉の処理

普段コーヒーを飲むなら、インスタントやペーパーフィルターでドリップすると、楽しておいしいコーヒーが飲めて満足なのですが、いかんせん、コーヒーの風味の重要な要素である脂分を味わうことが難しい飲み方です。

そこで、メリタ製のアロマフィルター(ペーパーフィルターにオイルを通すための穴が開いています)を使用するのも手ですが、ちょっと時間があるときなどは、時間と分量だけ守っているだけで何も考えなくていいフレンチプレスを使うと、手軽にコーヒーオイルも含めて味わうことができます。

ステンレスメッシュフィルターでも同様に、淹れる際のお湯の注ぎ方がちょっと技巧が必要ですが、こちらもコーヒーオイルを楽しむことができます。

しかし、フレンチプレスやメッシュドリッパーは、淹れるときはいいのですが、淹れ終えた後の掃除が格段に面倒くさいのが玉に瑕です。

ペーパーフィルターを使用していませんから、コーヒー粉を廃棄するのも手間がかかります。

そのまま下水に流すと覿面に詰まると思います。

三角コーナーに普段から不織布やストッキングタイプの水切りネットを使用している場合はそのままそこに捨ててしまって終了ですが、そうでない場合は、コーヒー粉のために改めて導入しようとすると、不織布やストッキングタイプの水切りネットは割とお高いので、結構ランニングコストがかかります。

そこで、私がお勧めするのが、裏ごし器、または、粉ふるい器です。

タンバリン型のこし器の例

流し台に置いて粉を流しだす先として使用するので、置いたときに安定しやすいタンバリン型やカップ型などで、かつ、水を流しても溢れてしまわないよう、口径や深さを広く深くとれる形状をお勧めします。(この理由により、いかに大型の茶こしでも、やや面倒と思います。)

コーヒー粉を排出する際に水を勢いよく流せるので、流しだす回数が減り、水の節約になるからです。材質はステンレスが扱いやすいと思います。

ステンレスメッシュの細かさは、お使いのフレンチプレスやメッシュドリッパーと同等程度であれば十分です。

某100円ショップで売られているステンレス製こし器が110円で直径が13.5cmで高さが5cm程度のタンバリン型で、粉の挽き具合が中挽きならお漏らしもないメッシュの細かさなので、気に入っています。

これだと、コーヒー粉がこぼれないので、キッチンペーパーやティッシュを敷く必要もなく、水流で紙がずれる心配をしなくていいのもメリットです。水気が切れたらコーヒー粉だけゴミ袋に捨てればごみ処理が終わるので重宝しています。

粉を捨てる際に少し水気が残っていてへばりついてしまっても、どうせごく少量なのですぐ乾きますから、乾いた後にゴミ袋の上で優しく払ってやればすぐに落ちます。

余談ながら、ベトナム式コーヒードリッパーのお手入れの場合にも便利かと思います。

以上、たわごとでした。

ここまでお読みいただいてありがとうございました。

2022年1月22日土曜日

ついにG Suite legacy無償版 G Suite(Google Apps の従来の無償版)が2022/7/1をもって終了へ

初っ端から恐縮ですが、以下タワゴトです。

表題の件、ついに来るべきものが来てしまいました。

メールによる案内はまだ来ていないのですが、メディア各社による報道で数日前に知りました。

こちらのGoogle Workspace 管理者ヘルプによりますと、7/1終了とタイトルに記しましたが、実際には5/1で終了します。

但し、5/1までに有料の Google Workspace サブスクリプションにアップグレードし、かつ支払情報を登録した場合は7/1まで無償で利用が可能ということだそうです。

思えば2011年に発生した東日本大震災における計画停電のため、UPSではカバーしきれない停電時間を、せめてメールサーバだけでもなんとかならないかと思って知ったサービスでした。

それ以来11年もの間、無償で利用させていただいて、感謝の念に堪えません。加えて、無償利用の期限以降も、料金さえ払えばこれまで通り、という点でも感謝です。移行、できません!!とか、移行できます、ただしこれまでのデータは全部チャラ!!、とか結構平気であるので、これはありがたいことだと思っています。

実は、有料化したら震災前の体制に戻せばイイヤという目論見で、すべて機材やサーバソフトウェアなどの準備は常に整えてあり、DNSのMXレコードの振り向け先を変更するだけにはしてはあるのですが、やはり11年という年月は長かったようです。

特に、私だけの事情だけでも、独自ドメインのメールアドレスといっても、GoogleさんからするとGMailの単なる1メールアドレスに見ているようで、例えばこのBloggerさんの登録情報を確認してみると、Google Appsで作成したメールアドレスが、がっちりGMailアカウント扱いされてしまっていました。

まだすべてを調べ切れていませんが、Googleさんのサービスにおいて、この「GMailアカウント(扱い)」ってのが結構重要な意味を持っている場合があるような気がします。

更に確認してみると、その他Google Play Developer ConsoleだのGoogle Cloud Consoleだのその他アレコレで契約メールアドレスを変更することがそもそも行えるのかどうかもわからない状況となっています。多分させてくれないサービスはいくつか出るだろうなとは思っています。

Android端末も、地味に困るのかなという感じです。

こういった数ある事情が、メンバーの数だけあるので、仮に移行するならばよほど慎重に行う必要がありそうです。

それに、GoogleさんのGMailの迷惑メールへの対応能力が素晴らしすぎて、自前で管理するメールサーバに戻したとして、情熱をもって管理しきれるのか、ということも考えなくてはなりません。

ま、要するに、見事にロックインというわけです。

2004年から使っているメールアドレスを、Googleさんにゆだねたまま安易に11年もの間、甘えてきたツケを支払う時がやってきたわけです。

自業自得ですね。

このままGoogleさんにお願いした場合、最安でも一ユーザ毎に税込み年額一人当たり\8,976円。無論人数分かかります。

自前での管理に戻す場合、まさかThunderbirdを今更皆にインストールしろ、なんていえません。WebメールはRainLoopでいいとして、カレンダーツールは?、あれは?、これは?、アップデートの監視は?、セキュリティの監視は?、トラブル対応は?、SPAMの対応は?、サーバが死んだら代替は?(新サーバ導入までの一時的運用ならGoogle WorkspaceかOutlook365でいいかも)

何の利益を生み出さないのにこの価格や労力を支払うことが、果たしてどうなんだという結論もあるかもしれません。その場合は、このドメインを(メール用には)捨てるという決断もありうるかもしれません。

今のところどうなるかわかりませんが、それにしても、本当にG Suite legacy無償版 G Suiteの提供は実にありがたかったです。

選択肢は多いので、ゆっくり考えたいと思います。

ゆっくり過ぎて5/1を過ぎても、お金さえ払えばこれまで通り、という点で大変安心です。
安心しすぎて、結局居心地がよくて支払い続けることになりそうな予感・・・

このような駄文をここまでお読みいただいてありがとうございました。

2022年1月15日土曜日

CentOS 7.9.2009上でHandBrakeCLI を1.2.2から1.5.1へ更新

気が向いたので更新してみました。

/usr/local/src/HandBrake-1.5.1に展開して作業する前提です。

目標はバッチ処理用CLIコマンドの生成です。

なお、HEVCとAACに関係しないにもかかわらずビルドの障害となるものは特に無理をして使えるようにするつもりはありません。

とりあえずビルドしてみます。

1
2
3
4
5
6
7
8
$ ./configure \
        --disable-gtk \
        --enable-x265 \
        --enable-fdk-aac \
        --disable-numa \
        --disable-nvenc \
        --disable-vce \
        --verbose

すると

1
ERROR: minimum required cmake version is 3.16.3 and /usr/bin/cmake is 2.8.12

早速cmakeが古すぎるとかでお冠です。
そこでcmakeをビルドします。ちなみに、HandBrake1.2以前からのアップデートの場合はnasmも必要になります。
さて、cmakeのビルドに必要なパッケージをインストールします。
1
2
3
4
5
6
7
8
# yum remove cmake
# yum install openssl-devel \
        keyutils-libs-devel \
        krb5-devel \
        libcom_err-devel \
        libselinux-devel \
        libsepol-devel \
        libverto-devel

無論、removeせずにalternativesでも何でもいいです。configureオプションにcmakeの場所を指定できないのが残念です。
$ wget https://github.com/Kitware/CMake/releases/download/v3.22.1/cmake-3.22.1.tar.gz -O cmake-3.22.1.tar.gz
ダウンロードしたソースを/usr/local/src/cmake-3.22.1に展開して作業します。
$ ./bootstrap 
$ make
# make install

/usr/local/bin/にcmakeができたので、改めてhandbrakeをビルドしたいところですが、その前にcontrib/ffmpegのビルドに失敗しますのでconfigureの前にcontrib/ffmpegのビルドオプションを変更して置きます。

/usr/local/src/HandBrake-1.5.1/contrib/ffmpeg/module.defsを編集して
--enable-libopus(49行目)を--disable-libopusに
--enable-libvpx(54行目)を--disable-libvpxに それぞれ変更してください。

なお、
libvpx-devel-1.3.0-8.el7.x86_64
libvpx-1.3.0-8.el7.x86_6
opus-1.0.2-6.el7.x86_64
opus-devel-1.0.2-6.el7.x86_64
がインストールされていてもcontrib/ffmpegのビルドが失敗しますが、これらはlibhbでも必要とされていますのでインストールが必要です。

ビルドに必要なコマンド及びライブラリのパッケージ名は以下の通りでしたのでインストールします。
1
2
3
4
5
6
7
8
9
10
11
# yum install \
         meson \
         ninja-build \
         libvpx \
         libvpx-devel \
         opus \
         opus-devel \
         turbojpeg \
         turbojpeg-devel \
         libvpx-devel \
         speex-devel
上記のパッケージ群をインストールしたら、改めてconfigureしてbuildします。
すると、
1
2
3
4
5
6
./libhb/libhandbrake.a(hb.o): 関数 `hb_read_preview.constprop.2' 内:
hb.c:(.text+0x5ba): `tjDecompressToYUVPlanes' に対する定義されていない参照です
./libhb/libhandbrake.a(hb.o): 関数 `hb_save_preview' 内:
hb.c:(.text+0x13c0): `tjCompressFromYUVPlanes' に対する定義されていない参照です
./libhb/libhandbrake.a(hb.o): 関数 `hb_read_preview' 内:
hb.c:(.text+0x1a90): `tjDecompressToYUVPlanes' に対する定義されていない参照です

とか抜かしてコンパイルに失敗します。
CentOS7のturbojpeg パッケージが古すぎるのですかね。

今回のケースではHEVCにもAACにもかすりもしないので、関数を呼び出している2か所をコメントアウトして、戻り値を格納する変数に!0を代入しておきます(この機能が必ず失敗終了するようにするため)。
/usr/local/src/HandBrake-1.5.1/libhb/hb.c の545行目と2441行目の二か所です。
tjAllocとかtjDestroyとかも退屈なら削ってもいいんでしょうが、私は超どうでもいいので古いturbojpegパッケージを入れたままにしてあります。

編集が終わったら、再度makeを続行しますと、HandBrakeCLIのビルドが完了です。

後は目障りなdevelなどのパッケージを削除して終了です。
お疲れさまでした。

HandBrake1.2.2に搭載のHEVC encoder version 2.9は今回の更新でHEVC encoder version 3.5+1-f0c1022b6となりましたが、同一オプションで同一ファイルをエンコードすると、エンコード速度は2fpsほど上昇しましたがエンコード後のファイルサイズが10%ほど増えてしましました。

超やっつけで申し訳ございません。

お読みいただいてありがとうございました。

2021年12月17日金曜日

今更 No Man's Sky をやってみた。放浪中に見かけた船備忘録編。

No.1
メモ種別: 外来種の宇宙船
星系: エチュズク・フク
銀河: ユークリッド
遭遇場所: 宇宙ステーション
ゲームモード: 共同探検#1 REDUX
外見・ポータルアドレス・性能:


備考:
2021/11/25遭遇。
名称が切れていますが「クチマル・オブ・ザ・ディパーチャー」です。
多少宇宙ステーションで待機する必要があった気がします。

No.2
メモ種別: 外来種の宇宙船
星系: ネグピング
銀河: ユークリッド
遭遇場所: 宇宙ステーション
ゲームモード: 共同探検#2 REDUX
外見・ポータルアドレス・性能:




備考:
2021/12/15遭遇。
宇宙ステーションに一番最初に飛来する機体ですのですぐ確保できます。
超コンパクトです。