雑記」カテゴリーアーカイブ

広告を除去してそろそろ手じまいかかな…

さすがにこのサイト(+blog)を維持するのは無理

とにかく今現在の仕事が忙しいので何をするにも時間がない状態でした。サーバの維持でも使用料の値上がりがかなり厳しく、元々「広告費で稼いでサーバを回しながら有名になっていく」の予定だったのですが、結局この十数年でこのサイトによって稼げたのは数万円程度ということで、そちらの方でもかなりの赤字を出している状態に陥っています。あとはインボイスの影響ですね。あれのせいで広告収入でもインボイス、といわれる羽目になって広告を出すことと管理の手間が全く合わなくなってしまったため解除しています。広告を解除したことで記事の内容だけになってしまいとても寂しいサイトになってしまいましたね。

 

いろいろと体制を縮小していきます

このサイトも近いうちに閉じてしまおうかと考えています。今は使用料を支払って間もないですので維持はしますが、次のタイミングで更新を停止してしまう予定です。WindowsModePatchについては消えると個人的には惜しいものですので誰か引き継ぎ手がいればソースコードを渡して管理してもらいたいな~とは思います。が、過去のゲームをやると言ってもそこまで古いゲームでもなければゲームのウィンドウ化の問題点や解像度変換の問題はないでしょうし、古すぎるゲームなら需要はあるのかもしれませんが、ちょっとそれを維持できるだけの自分のリソースがないので…。

また、Stable DiffusionなどAIを使う方法などいろいろとやっていることはあり、記事にできなくはないのですが、やはり毎日の生活が維持できなくなるのでもう無理という結論です。IT系の仕事でしっかりと稼げればよかったのですが、その方面からは全く仕事の案件などはなかったので…。難しいものですね。

 

ということで、今回はここまでにしておきましょう。

PHPのバージョンアップなどで機能更新

どうも気がつかない間にサーバの一部プロセスがダウンしていたようで、blogにアクセスできなかったりした模様で…。

 

メンテナンスにより機能向上を図る

サボっていたメンテナンスを行いました。具体的には

  • PHP7.4→PHP8.2への入れ替え
  • WordPressの更新
  • その他サーバプログラムの入れ替え

となっています。PHP8.2への入れ替えがメインですね。

 

PHPのバージョンアップをするときにはWordPressのプラグインの動きを確認しよう

PHPのバージョンアップを行うとセキュリティが向上したり動作速度が向上するのはよく言われているのですが、バージョンアップによりWordPressが動かなくなる、という問題もよくある現象です。この場合は動かないプラグインを一時的に無効化すること(管理画面が開くなら無効化処理を行う。管理画面すら開かないのであればpluginsディレクトリにある対象のプラグインのディレクトリ名を変更してしまうのが早い)で対応して、動かないプラグインを削除するか同じ機能を持ったプラグインを入れなおす作業が必要です。

問題なのはどのプラグインが動かないかを調べること、ですね。管理画面すら開かなくなった場合がかなり厳しいですが、その場合はWebサーバ側のログからエラーが出ているプラグインを調べたり、ターミナル上で直接phpを動かしてみることでFatal Errorが出ているプラグインの名前を見てみたり、phpのエラー表示設定を一時的にWebブラウザ側に見えるようにしてエラーを確認する、などが必要になります。この作業も慣れないとと難しいかもしれません。

 

次は生成系AIを使ってみるか…

メンテナンスも終わったので今の自分の流行についてです。生成系AIがトレンドになっていますので自分も使ってみようということでOpenAIのアカウントを取得してみたり、画像生成のためにStableDiffusionWebUI(Automatic1111)を入れていくつかのモデルを入れてみたり、OpenAIのAPIを使うと有料なのでどうにか自分のPCでできないか、と思いtext-generation-webuiを入れてみたりしています。

ちなみにStableDiffusion WebUIもText Generation WebUIもある程度の速度で動かすにはメモリがたくさんあるGPUが必要ですので注意してください。これらのAIを動かすためにPCのパーツの一部入れ替えをしています。具体的には

  • PCのGPUをGeForce RTX 3060(12GB)に入れ替え
  • PCのメインメモリを48GBに増強

としています。AIを動かすときにはある程度強力かつメモリがあるGPUがあればCPUの速度はそれなりでも動かせますが、この2点だけはしっかりと増強しておかないとまともに動かせない可能性が大きいです。こうしておけば上の2つであれば動かせると思います。使用感などに関しては時間があれば書いていきたいと思います。

 

スマホのスペックによる動画再生できる形式の差を調べてみる Xperia 5 III & moto g52j 5G編

あることを考えていてDSDVを使って電話番号を2つ持ちにしようかと思い、キャリア側で購入したXperia 5 IIIを補助スマホに、DSDVができるちょっと安めのスマホであるmoto g52j 5Gをメインスマホにしようかと思いデータを移行しているときに気がついた現象。「あれ?moto g52j 5G側での動画再生でハードウェアを利用できないものがいくつかあるような気が・・・」というところから始まっています。

 

簡単に比較してみよう

というわけでちょっと比較してみました。ハードウェアを利用できるかどうかはMX Playerを使ってHWで再生できるかどうかで調べています。

  Xperia 5 III moto g52j 5G
XviD 640×480 × ×
DivX 1280×720
H.264 1920×1080
H.264 10bit 1920×1080 × ×
H.264 3840×2160 ×
H.265 1920×1080 ×
H.265 3840×2160 ×

 

つまり、こういうことがいえるわけです。

moto g52j 5Gは解像度が4Kレベルの動画やH.265などの上位のコーデックを用いるとハードウェアを利用して動画再生ができなくなるという現象が起こる。Xperia 5 IIIはある程度高解像度の動画や上位のコーデックでもハードウェアを使って再生できる。

 

普通に使っている限りは問題は出ないが・・・

Youtubeなどの動画も普通に見ている限りはそんな高解像度ではないですので何も問題はないのですが、例えばVRなどは高解像度ですのでスマホで再生するとなると再生支援が追いつかなくなりまともに見ることができなくなる、という現象が発生します。今回別件でVR動画にもチャレンジしていたのですが、VR動画を再生すると妙にかくかくして再生がおかしいな、と思い調べてみた結果がこれでした。

 

VR動画をスマホで見る場合はスペックに注意

あまり表には出てこないスペックだとは思いますがこういう情報も必要になることがあるようですね。しっかりとしたSoCが積まれている端末で再生してください。といってもその辺がわからない人も多いと思いますのでその場合は「その手の情報が書いてある端末」か「単純に高性能がうたわれている端末」を購入するのが無難という結論に至りそうです。はい。

 

カーナビでYoutubeを見る方法を探してつけてみようと思った Anycast導入編

ということで、カーナビでYoutubeを見るためにHDMIを使った接続をしてみよう、ただし480pなどの解像度もサポートされているようにしたい、ということで値段も手頃なAnycastを導入してみることにしました。ここからはかなり技術の話になりますので難しい表現が出てくるかもしれません。

 

Anycastの購入

つまりこれですね。

ただし、ある理由で購入には踏み切りづらいものがあります。というのも、

  • そもそも中国製で信頼していいのか悪いのか不明
  • 購入するサイトや発送元によっては互換品や偽物をつかまされる可能性がある
  • 正式な型番が何かが書かれていない場合があり、手元に届いたときに初めて型番がわかることがある

というものです。こればっかりはどうすることもできないかな、と思います。とりあえず上の画像のリンクで購入した場合は「私が購入した場合」はこれになりました。

Anycast M18 Plusd

「Anycast M18 Plus」というものです。安定版がM9 Plusだったのでそれになるのかな~と思ったらこれでした。M9 Plusより新しい世代ですので性能がよいことを期待しましょう。あと、金額も(現在は)2,200円ほどですので怪しげなサイトでもない限りはほしい場合は買ってみてもよいような気はします。自己責任ですが。

 

Anycastとは

ここで、Anycastについて確認しておきましょう。単純にいうと「Wi-FI経由でHDMIの信号を受信する端末」だと思えばよいです。現段階でスマートフォンと画像を送受信する場合は

  • Miracastを使う(Androidの場合)
    • AirPlayを使う(iOS系の場合)
    • GoogleHome経由でChromecastに接続する(Android,iOSともに可能)

といったものがあります。Anycastはこの全てに対応している…型番があります、というところです。型番によっては対応してないものがあったり、これらの接続の待ち受けを手動で切り替えたり、4Kまで対応していたりしていなかったり、とかなりブレがあります。なのでそこまで考えて購入するのであれば型番を指定できるサイトを使うべきかな~というのが実情です。

 

Anycastに接続してみる

使っている端末がAndroid系なので、Miracastの機能を使って接続してみました。セットアップなどは次のようになります。

  1. Anycastに付属のケーブルを接続する
  2. AnycastのHDMI端子をディズプレイなどに接続する
  3. AnycastのUSB端子を電源に接続する
  4. しばらく待つとディスプレイに待機画面が表示される
  5. スマートフォンの端末などでWi-Fiを有効にするとAnycastの端末が見える(待機画面に端末名が表示されている)ので、そのWi-Fiに接続する
  6. パスワードを入力する(初期パスワードから変更した場合でも待機画面に表示されているパスワードを入力すればよい)
  7. Wi-Fiを接続した端末でブラウザを開き、待機画面に表示されているIPを直接入力する
  8. 設定画面が表示されるので必要な設定を行う(特にこの後でカーナビに接続する場合は画面解像度の設定を忘れないこと)
  9. Wi-Fiの接続を切断する
  10. 画面を表示したい端末の設定からMiracastの機能を検索して接続する
  11. 画面に端末の画面が表示される

という流れです。ちなみにMiracastに相当する機能の名前は端末によって異なるらしく、Xperia系では「スクリーンミラーリング」、Zenfone系では「PlayTo」という名前になっているようです。

 

端末によってAnycastで動画再生をしたときの状態がかなり異なる

どちらかというとこの話が今回のメインです。まず、Miracastの機能は端末のパワーをかなり使うらしく、多少古い端末だったり、解像度が高めに設定されていると送受信が間に合わなくなり、音が飛んだり画像が飛んだりしてしまいます。ある程度力がある端末でやりましょう。

そしてAnycastが「スマートフォンなどの端末の画面を表示するもの」、ということから来る悲しい性質があります。その性質とは、次のようなものです。

  • Anycastの出力はアスペクト比が16:9を想定している(480p、720pなど)
  • 端末のアスペクト比が16:9でない場合、Anycastはレターボックスやピラーボックスにより、多少表示領域を削っても元の端末のアスペクト比の表示となるようにする
  • ここに(例えば)16:9の動画を表示しようとすると端末側はレターボックスやピラーボックスにより端末の画面に合うように表示する
  • ところが、Anycast側にはすでに端末の画面を表示するためのボックスが入っているため、動画が画面全体に表示されず、中央に少し小さめに表示されてしまう

おまけにカーナビの画面側のアスペクト比も16:9でない場合はレターボックスとピラーボックスが何段階にも挿入されて動画が中央に小さく表示、という現象が発生してしまうことが発覚しました。

簡単にどうにかできる方法としては「端末自体が16:9のアスペクト比のものを使う」です。こうすれば少なくても端末からAnycastの段階で画面が小さくなることは防げるので多少ましになります。

ちなみにこれが検証段階でわかったので、Youtube用の端末も用意する必要もあることを考えて、(私の中では)現役を引退していたZenfone3が復活する、という事態になったわけです。何じゃそりゃ…

 

Youtubeでの検証はまだ

適当なデータ通信用SIMを契約して入れてあげれば完成なのであとは処理能力との釣り合いがどうなっているか、というところですか…。

 

カーナビでYoutubeを見る方法を探してつけてみようと思った 考察編

というわけで、様々なサイトでやり方が紹介はされていますが、カーナビでYoutubeを見てみよう、という話です。正確にはカーナビでYoutubeやモバイル回線を使わないでスマートフォンに入っている動画をカーナビ上でうまく見られないか?というところから始まっています。ただし、このサイトは技術的な要素も大きく説明していますのでご注意を。

 

簡単な方法から準備に品物がいる例まであるが…

一応前提条件としては

  • Youtubeを見るための端末は用意されている
  • 端末はモバイル回線に接続可能、テザリングも可能、HDMI出力も可能
  • カーナビ側にはHDMI入力やRCA入力、USB入力、Bluetooth接続が可能

という条件はつけておきます。この条件がないと下の方法のいくつかができませんので気をつけてください。

 

音声(音楽)だけならかなり簡単

というか、ほとんどのカーナビは運転中に安全機能として映像を映すことができないような仕掛けになっていますので、後部座席にいる人(主に子どもを想定)に見せることがこの話の前提になってきます。運転中に動画を見ると集中力がそちらにとられて運転がおざなりになり事故を起こす可能性が非常に高くなりますので。

まずは音声(音楽)だけです。音声(音楽)だけならそれほど難しくはありません。その場合はBluetooth接続でBluetooth Audioモードにすればたいていは終わりです。それ以外の入力を使うとピットインしての作業が必要になってくると思います。

 

映像も見たい人向け

やっと本題です。可能性がある方法としては

  • USB接続する(Apple CarPlay、Android Autoなど)
  • HDMI出力をRCAコンバータを通してRCAで入力する
  • 端末のHDMI出力とカーナビ側のHDMI入力をつないでHDMIで信号を送る
  • Wi-FI経由で映像を飛ばしてHDMIに変換して入力する(AppleTV、FireTVStick、Anycastなど)

なんですが、これがまた知識がないとかなり難しいです。

 

USB接続を使った方法はかなり知識が必要

というか、前提条件として「CarPlayやAndroid AutoにYoutubeを見る機能はどこにもない」ということなんです。つまり、この方法はすでに破綻しています。無理にやろうとすると特別なAndroidが入った端末をUSBで接続することでYoutubeを見られるようにすることなのですが、買う端末の種類や使い方がわからない人は怖すぎて無理があると思います。常にテザリングをしないとだめですからね。

 

RCA接続も初期投資が大変

そもそもRCA接続するための端子はカーナビの裏側にあることがほとんどなので、一度裏側にアクセスして線を接続する必要があります。結局一度ピットインして作業する必要がありますし、変換のための機材が必要になってきます。調べた限りだとこれが有効でしょうか。

BeatSonicの「IF36」というもので、HDMI入力をRCA出力に変換するものです。車用品らしく、電源も12Vから直接とれるようになっています。もちろんこれだけではなく電源端子からとるような細工をしたり、RCAケーブルをカーナビに接続したりするので一度カー用品店に相談する必要はあると思います。それが終われば普通に見ることができそうです。

 

HDMIでもちょっとした細工が必要

HDMIの場合はカーナビ側の前提条件を確認する必要があります。ここ数年間で発売されたカーナビにはHDMIの入力に前提条件がある場合が多く、それが「入力の画像解像度として受け入れ可能なものが480pしかない」というパターンです。

で、これの何が問題かというと「Youtubeを見るための端末がある程度高性能(もしくは逆にかなり古い)でない限りはHDMIの出力解像度として480pをサポートしていない」ということが考えられるからです。この場合、HDMI出力にそのままつないでも映像を見ることができません。

実際、私が自分のカーナビと端末(スマートフォン)がこの状態で、スマートフォンの画面が横長になっていると16:9の出力モードを持っていなかったり、持っていても1080pしかない、なんてパターンがかなりあります。ということで、直接接続だけだとうまくいかないパターンがかなりあるということは認識しておいてください。そうなると考えられる方法は、

  • HDMIコンバータを通して解像度を強制的に固定させる
  • 480pを出力できるHDMI出力器にWi-Fi等で接続して映像送信をする

となってしまいます。それぞれ見ていきましょう。

 

HDMIコンバータは…うまくいくのか?

商品的にはこれが可能のように見えるのですが、試していません。

BeatSonicの「IF33A」です。本来はHDMIの信号を2つのディズプレイに送信するためのもので、フロントモニタとリアモニタに送る、という機能がメインです。が、これの副機能として「送信するときの解像度を720pや480pに強制的に固定する」機能があります。この機能を利用してHDMI入力に入れてしまおう、という発想です。

まあ、電源が12Vからとるようなケーブルになっていますのでシガーソケットからとるように細工するには手間がかかりますし、値段もそれ相応なのでやっぱり初期投資が必要です。さらには今のスマートフォンから入力させたら本当に480pにできるのか?がわからないのが痛いです。他の人のレビューを見ている限りはできそうな気はするのですが…

 

無線接続を考える

ということで、最後のWi-Fi経由で接続する方法です。この辺になってくるとほかのサイトに解説を譲った方が早そうですね。とりあえず欠点だけ先に書くと

AppleTV:100V電源端子が必要なのでシガーソケットからの変換などが必要。少し大きい。Android系は不可。

FireTVStick:Wi-FI接続が必要なのでテザリングやWi-Fiルータが必要。ネットからの動画は見られるがスマートフォンに入れてあるコンテンツは直接見られない。

Anycast:種類がありすぎ+説明書がわかりづらいなど初心者には難しい。接続が安定せず切れることがある。iOS系から接続しようとするとWi-Fiルータに接続する必要がある。買うサイトを間違えると変なものをつかまされるかも。

ということで、どれも一癖二癖あるのが実情です。もちろん、このサイトは技術系なのでAnycastに挑んでみようと思います。はずれをひかないように注意して試してみたいと思います。