PC関連のチラ裏

自分用(素人)

KeyToKeyが便利そう

こんにちは。2023年にもなり、私はようやくWin8.1からWin11に移行することとなりました。今日8.1のサポートが切れるそうですね。本当ギリギリです。
いうて録画サーバは未だにWin7なのですが。サポートが切れた瞬間に使えなくなったり不具合まみれになるわけでもなし・・

Windows11では従来のソフトだとマウスクリックの連射ができなくなってしまっていたので、ゲーム用にWindows11用のマウスクリック連射機を探していました。
Win8.1ではLunatic Mouse(2.1.1)を利用していたのですが、Win11だと連射が止まらなくなる事象あり。仕方なく別ソフトを探しましてXMouse Button Control(2.19.2)を試したのですが、これもNG。Lunatic Mouseと同様(ただし頻度が低い)ですが、こちらはWin8.1でも連射が止まらなくなりました。どちらも選択肢としては不可。

そしてKeyToKeyというソフトに辿り着いたのですが(人に教えていただいた)、設定が難しい&汎用性がかなり高そうでしたので、設定を自分用に保管。
すごく・・・難しいです。けど色々とこのソフトにまとめられそう。KeyToKeyで設定しきれればJoyToKey等も必要ないかもしれない(わからないけど)

中央ボタンを押している間のみ左クリック連射

中央ボタンは反応しないケースがあるようなので、その場合は環境設定から、マウスの入力の監視方法を「ポーリング」にしておく。実行を許可するアプリを設定するのもアリ・・
ただその場合、マウスがアプリ上にあってもアクティブでないと動作しないので、ゲームの場合は注意。

スクリーンショット撮影

 

アクティブウィンドウやデスクトップのスクショを取るアクション。他のソフトの方が簡単にできるとは思いますが・・
"@"で連番が作れるそうですが、@を利用すると0埋めで桁合わせができないので、ループで連番指定。
Date.GetDateなどの書式もよくわからないし、メソッドの概念とは何ぞやという、初心者向けのドキュメントが不足していたり分からないことが多すぎてかなり手探りでしたが、とりあえずでできたやつ。C#わかりません・・

Pixel3がfailed to load/verify boot imagesから何故か復帰した

中古で入手したボロいPixel 3があるときロック解除できなくなり、再起動したらFastboot ModeのDevice-State:error!で止まるようになりました。
以下がその画像です。

_人人 人人_
> 突然の死 <
 ̄Y^Y^Y^Y ̄

  • ROM: Google公式ROM (SP1A.210812.016.C1)
  • リカバリ: TWRP (twrp-3.6.0_11-0-blueline.img)
  • Magiskでroot済、Xposedなし、サブ機未満の利用でそんなにアプリ沢山入れていない。

時系列

  1. 中古品購入後、上の条件のインストールで8ヶ月間は問題なく動作。
  2. LINEを使おうとしてLINEのアイコンを押して放置していたら、いつの間にか画面が落ちている。
  3. 正常なコードでロック解除を試みるも不可。(あたかも誤ったコードを入れたときの反応)
  4. 再起動
  5. 上の画像のようになる。リカバリ(TWRP)も起動せず。
  6. FastBoot Modeのまま放置して完全放電
  7. 完全放電のため、画面点かなくなってから48時間近く放置
  8. 電源ボタン押しながら充電ケーブルを挿入して起動するも、症状変わらず。何度か試したけど不可
  9. 充電してからPCで作業しようと考え、半日ほど充電。
  10. ボタンメニューからPowerOffして2,3日放置
  11. 電源オンしてみたら何故か起動。

PC使ってTWRPのimgファイルをインストールせず直接起動させれば、リカバリインストールせずともストレージの様子をワンチャン見れるんじゃないかと考えていたのですが、試そうとしたところ起動してくれました。何故起動したのか本当にわからない。
この症状に陥ってから再度ROM焼きすればまた正常に利用できるのかどうかもわからない。試す前に復活したので。

特にデータを弄らず原因不明で復活したということは、何らかのアナログな理由である可能性が高いのでは・・・再発は全然あり得そうな。
とりあえずすぐにTWRPでバックアップ取りました。ストレージ暗号化されているので、セキュリティのロック機能を一度オフにするのを忘れずに。

参考


2023/2/11 再発症。これから同様の方法で復旧を試みます。

2023/2/15 完全放電(多分)→充電(適当に長時間放置) で息を吹き返しました。何故かわからん。

久しぶりにDVDのVOBをエンコした

DVD映像なんて軽く10年以上は触ってない気がしますが・・・自宅に保管されていた骨董品のようなDVDの映像を見たくなり、これを最近立てたDLNAサーバに突っ込みたくなりました。
適当にエンコしとこうと思ったらハマった点をメモ。想定できそうな再生機器はPC, Android, Viera。ほぼViera(2021年モデル)用。

残す形式はmkv

PS3 Media Serverを立てていた身としては、市販品がmkvを読んでくれることに軽く感動しましたが、Vieraは問題なさそうだったのでmkvで保管することにしました。mp4でもよかった(むしろ好ましいかと思った)んですが、Vieraで字幕が表示できなくて諦め。もうmkvの方が互換性ある世界ってマジか。

  • 映像: H.264

    もうとっくにH.265の時代だけど、一応まだデータ容量(圧縮率)より再生互換性・再生負荷の方が大切かなぁと・・
    aviutlでの画質系フィルターは、SharpenResizeでノイズリダクションかけずにシャープ気味リサイズのみ。以下はx264guiexの自分用コマンド(下部に出てくるやつ)。プリセットはmedium,none,high、何年も前に適当に実写用で設定したのを流用しているだけで、良い感じかは不明。

     --crf 19 --qcomp 0.8 --rc-lookahead 250 --aq-mode 2 --psy-rd 0.8:0.1 --keyint -1 --b-adapt 2 --me umh --direct auto --ref 4 --trellis 2 --cqm jvt
  • 音声: AAC

    後述する方法で分解&再結合したVOBのAC3を、そのままエンコせずにコンテナに入れたら、Vieraでシークできない場合がありました(できる場合もあった)。再エンコした方が良さそうでした、そして再エンコするならAACかなぁ。エンコーダはqaacでTrue VBR。もうNeroAacEncの時代じゃないんですねぇ

  • 字幕: idx+sub

    idxの中身をテキストエディタで弄ってmkvにそのまま入れることができる。トラックごとならmkvextractで再抽出可能。
    抽出はVobSubのVobSub ConfigureからIFOを読ませる。vobsub.dllやDVobSub.axが存在しなくて起動しない事象が発生したけど、SysWOW64からProgram Filesの方にdll,axをコピーして実行ディレクトリを変えた。system32で変なことせんといてもろて・・

    最新のMP4Boxを使ってみたらMP4にidx+subを入れることができ、PCでは字幕表示できたのですが、Vieraでは表示できませんでした。最新のMP4Box(GPAC version 2.0)、実行ファイルがzipで配られてないっぽいのも不満。mkvで事足りる環境になってきたので、もう使わないかも。

言語選択によって(映像埋込の字幕等により)映像が変わる

そのままVOBをaviutlやDGIndexに投入すると、言語1映像→言語2映像→1→2→・・のように同じシーンが交互に繰り返される部分がある。普通にエンコすると交互のシーンはそのまま繰り返されてしまう。

  1. VOBをひとまとめにする。(以下は例)
    copy /b VTS_01_1.VOB + VTS_01_2.VOB + VTS_01_3.VOB VTS_01all.VOB
  2. ひとまとめにしたVOBをVobEditでDemux(VOB IDを選ぶ)。VOB IDの切り替わり毎にVOBがバラバラになるので、ログと実際の映像を見ながら、例えば言語1のストリームだけを抽出する(言語2のVOBファイルを退避or削除する)。
  3. (沢山ある場合は)バラしたVOBを再結合するコマンドを作成。以下の内容のbatにまとめたいVOBを投入する。引数は計8191文字までらしいのでファイルパス長い場合は注意。
    SET command=copy /b %~nx1
    
    :LOOP
    shift
    if "%~x1"=="" goto FIN
    SET command=%command% + %~nx1
    echo %command%
    goto LOOP
    
    :FIN
    echo %command% newVOB.vob>command.txt
  4. ↑で作ったコマンドを実行。
  5. newVOB.vobを元にして普通にエンコする。(単言語の音声ストリームを抜き出す場合も、両言語ともnewVOB.vobからでよかった)

その他

  • aviutl 拡張編集のインタレ解除や24fps化は、綺麗にできたか(フレーム送りで)確認した方がいい。拡張編集の横軸を最大拡大すると、1メモリが1フレームになるので、必要な場合はそれで音声を位置調整。
  • TVのノイズリダクションは優秀なので、ソースからは大して弄る必要ない。素人が似非アプコンをやろうとするよりは、情報量をできるだけ減らさずに残して、テレビにノイズリダクションさせた方がマシ。(それはそう)
  • 再生時のidx+subの位置調整

    レターボックスの黒帯削除等でクリッピングしていると必要。VieraでもPC(MPC-HC←)でもですが、idx内の設定項目のうち位置調整に使えそうなものは、sizeかscaleくらいしか反映されていない印象。少なくともorgやalignは弄っても違いが発生したように見えなかった。
    sizeをクリッピングの分だけ減少させれば元々の位置に設置できると思いきや、VieraとPCで表示位置に微差があった。結局は再生して確認するしかない。

  • mkvtoolnix・・・改めて、便利すぎ!

参考文献はメモするの忘れました

自動機内モード制御の代替でMacroDroid

中古のオンボロNexus6P(Havoc-OS, Android10)を自宅内オンリーで主に動画を流す用で利用しているのですが、通信可能状態でスリープさせるとバッテリーが猛烈な速さで減ります。もちろんスリープさせてなくても減ります。
常に充電しないと使い物にならないものの、バッテリーを労わりたくもあるので、Battery Charge Limitを入れているのですが、Battery Mixを見ていると設定範囲(90%-80%幅)で猛烈にバッテリーを消費しており、常にホカホカです。電源から抜いて放置すると6時間もかからずにバッテリーを使い果たして電源が切れる問題児です。

結果的には機内モード(Wifi等も切断)にしておくことで大幅にスリープ中のバッテリー持ちが改善しました。
Wifi ONで機内モードにしても効果的ではなかったので、セルスタンバイの問題ではない気がします。機内モードで大幅にスリープ中のバッテリー持ちが良くなるのは"あるある"とはいえ、原因は残念ながら不明。
90%-80%幅でスリープ中の充電+放電の1サイクルにかかる時間が約40分だったのが、約6時間にまでなりました。熱もスリープ中はヒエヒエなので安心。


で、機内モードをどう自動化しようかという話ですが、かつては自動機内モード制御+Airplane Mode Helper(要Xposed)で同じことをしていたことがありました。ただボロいNexus6P君にXposedなんて入れたくない。
色々探しましたがHelper無しで使える同様のアプリが見つからなかったので、マクロ系アプリを利用してみたところ、思った以上にアッサリできてしまった。

動作完璧です。
TaskerとMacroDroidを試しましたが、無料で済むのでMacroDroidで。ひどい広告の出方をしますが、設定が済んだらアプリを開くこともないでしょう。いや全然Tasker買ってもいいんだけど・・・
Taskerはroot無くてもアシスタントアプリ指定だけで動きますが、MacroDroidはroot与えておかないとトースト表示が何度も出て煩わしいですroot与えてもトースト表示出ます(白目)。

Youtube映像をログインしてダウンロードする(年齢制限有等も)

ウェブサービスのy2mateを使ってyoutubeの動画をダウンロードしてましたが、年齢制限された映像(いうてyoutubeなので大してエッチでもない)を落とせなかったので、PCを使って自前で落とせる方法を探しました。

用意するもの

使い方

  1. youtube-dlとffmpegを同じフォルダに入れておく
  2. Chrome拡張が入るブラウザでログイン後、Get cookies.txtでyoutubeのクッキーを出力 例:z:\youtube.com_cookies.txt
  3. (任意)手に入る映像や音声の一覧表示
    youtube-dl.exe https://www.youtube.com/watch?v=ほにゃらら -F --cookies z:\youtube.com_cookies.txt
  4. 指定したフォーマットをダウンロードする
    youtube-dl.exe https://www.youtube.com/watch?v=ほにゃらら -f (↑で調べたDLしたいフォーマットの数字) --cookies z:\youtube.com_cookies.txt
    或いは無条件で最高画質最高音質を入手してffmpegでmp4にする
    youtube-dl.exe https://www.youtube.com/watch?v=ほにゃらら -f bestvideo+bestaudio --merge-output-format mp4 --cookies z:\youtube.com_cookies.txt

気づいた点など

  • -u, -pでログインする方法は400のエラーが出るため、cookieを使う方がいい。バグっぽい
  • ログイン不要で見れる動画はyoutube-dlでもログイン不要。
  • -Fのフォーマット一覧で(best)が付いてるものが品質最良とは限らない。最良の場合もある。
  • DASHのフォーマットは落とすのめっちゃ遅い。DASHを落とすとタイムスタンプが配信日時になる。
  • Get cookies.txtはyoutube-dl用(githubにリンクがあるもの)じゃないと不可

参考


日本語で検索してもPCよわよわ一般人向け(自分がつよいとは言ってない)の情報で氾濫しており、細かい問題点は解決しないことが多い・・・英語で検索するしかねぇ・・・

2022/10/28追記
32bit版のffmpegの在処: https://rwijnsma.home.xs4all.nl/files/ffmpeg/?C=M;O=D
今はyoutube-dlは開発進んでないらしくforkしたのがあるらしい