わたし、二番目の彼女でいいから。 1 感想文

一言でいうとイライラしました。だだ、世の中には摂取しても虚無しか得られないコンテンツが大半な中で、正負は兎も角感情を動かされたという意味で褒めています。

まず枝葉末節として、インテリキャラの癖に「同様に確からしいか議論せずに確率分布を定義するな」「バーナム効果とか確証バイアスを援用せずに血液型占いの話をするな」の2点。あと、1番目に好きな人の掘り下げが遅いのと、時系列が順ではなく回想多めな点で、web小説と商業小説の文化の違いを感じた。

で、本題として、主人公が優柔不断なのが嫌い。1番目と両想いが確定した時点で「諸々の障害を乗り越えて俺が幸せにします」くらい言って2番目捨ててくれ。"1番目を選びたいけど選べない"という思考実験の回答としてはナンセンスなんだろうけど、空想の中くらい強い男が見たい。2番目が可哀想ではあるけど、高校生の失恋くらい後からフォローできるでしょう。

あとはキャラデザで、目が離れてるのか小さいのか分からんけどしっくり来ないので、よう実の堀北鈴音とか君は淫らな僕の女王の川奈昴みたいな感じにして欲しい。ついでに、性格も無感情より気が強い女の方が好き。

以上、欲しいものリスト乞食の謝礼文でした。

高齢者見守りサービス検討

高齢者の見守りサービス20選+αを徹底比較! おすすめは? | みまもりプラスみたいに色々あるけど、そもそも団地の管理者から「安否確認の度に鍵を用意するのが手間だから家族で何とかして欲しい」と言われたのが発端なので訪問系は無意味で、ネット回線無い環境だけど大半の見守りサービスはネット回線要求してるっぽいから、 ならモバイル回線契約してネットワークカメラ置けば良くね?と思った。親の同意は知らん。

ネットワークカメラ

価格.com - TP-Link Tapo C200/R 価格比較 雑に安いので良いと思うけど、首振れた方が2部屋分見れそうなのと、カメラサーバーの仕様がメーカーによって違うのかなと思った。

ルーター

ShieldSquare Captcha スマホでも良いというか序に買い替えるのありだけど、再起動無しで使い続けるのは不安がある。ただ安いのでも1万円弱すると思うと買いたくねぇー

インターネット回線

固定回線高いからモバイル回線で良いかなと。IPアドレス変動だと困る説はあるけど、困るのは自前でZoneMinderとか建てる場合*1*2で、TP-Linkのサーバーとかは良い感じに追跡してくれるのかなと思った。根拠はない。

最初マイそくが良いかと思ったけど直近3日間で10GB以上のご利用があった場合、通信速度を最大32kbpsに制限する場合がございます。なので、カメラ見たい時だけ繋がればいいならpovo2.0、常時接続なら楽天モバイルかな。

暫く帰省する気はないので実際に買うのは当分先かな…

yt-dlpでYoutubeからダウンロードする

  1. 適当に作業用フォルダを決める。
  2. https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe をダウンロードして置く。
  3. https://github.com/yt-dlp/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zipをダウンロードして解凍する。*1
  4. 【解凍先】\ffmpeg-master-latest-win64-gpl\binの中身をyt-dlp.exeと同階層に置く。
  5. powershellから作業用フォルダに移動し
>.\yt-dlp.exe --remux-video mp4 https://www.youtube.com/watch?v=paw_eVC6ZcY
[youtube] paw_eVC6ZcY: Downloading webpage
[youtube] paw_eVC6ZcY: Downloading android player API JSON
[info] paw_eVC6ZcY: Downloading 1 format(s): 303+251
[download] Destination: 【歌枠】おひさしぶりに歌う~!!_Singing KARAOKE【ホロライブ_夏色まつり】 [paw_eVC6ZcY].f303.webm
[download] 100% of 2.69GiB in 08:04
[download] Destination: 【歌枠】おひさしぶりに歌う~!!_Singing KARAOKE【ホロライブ_夏色まつり】 [paw_eVC6ZcY].f251.webm
[download] 100% of 90.81MiB in 00:16
[Merger] Merging formats into "【歌枠】おひさしぶりに歌う~!!_Singing KARAOKE【ホロライブ_夏色まつり】 [paw_eVC6ZcY].webm"
Deleting original file 【歌枠】おひさしぶりに歌う~!!_Singing KARAOKE【ホロライブ_夏色まつり】 [paw_eVC6ZcY].f303.webm (pass -k to keep)
Deleting original file 【歌枠】おひさしぶりに歌う~!!_Singing KARAOKE【ホロライブ_夏色まつり】 [paw_eVC6ZcY].f251.webm (pass -k to keep)
[VideoRemuxer] Remuxing video from webm to mp4; Destination: 【歌枠】おひさしぶりに歌う~!!_Singing KARAOKE【ホロライ ブ_夏色まつり】 [paw_eVC6ZcY].mp4
Deleting original file 【歌枠】おひさしぶりに歌う~!!_Singing KARAOKE【ホロライブ_夏色まつり】 [paw_eVC6ZcY].webm (pass -k to keep)

--remux-video mp4はDaVinci ResolveやVrewがWebM非対応だったので付けた(WebMでもVrewに突っ込めば変換されたけど)。

.f303.webmとか.f251.webmの数字はフォーマットを表しているっぽくて

>.\yt-dlp.exe https://www.youtube.com/watch?v=paw_eVC6ZcY --list-formats
[youtube] paw_eVC6ZcY: Downloading webpage
[youtube] paw_eVC6ZcY: Downloading android player API JSON
[info] Available formats for paw_eVC6ZcY:
ID  EXT   RESOLUTION FPS │   FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR     ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb2 mhtml 48x27          │                  mhtml │ images                                    storyboard
sb1 mhtml 80x45          │                  mhtml │ images                                    storyboard
sb0 mhtml 160x90         │                  mhtml │ images                                    storyboard
139 m4a   audio only     │   40.33MiB   48k https │ audio only        mp4a.40.5   48k 22050Hz low, m4a_dash
249 webm  audio only     │   40.72MiB   49k https │ audio only        opus        49k 48000Hz low, webm_dash
250 webm  audio only     │   50.63MiB   61k https │ audio only        opus        61k 48000Hz low, webm_dash
140 m4a   audio only     │  107.03MiB  129k https │ audio only        mp4a.40.2  129k 44100Hz medium, m4a_dash
251 webm  audio only     │   90.81MiB  109k https │ audio only        opus       109k 48000Hz medium, webm_dash
17  3gp   176x144      8 │   65.53MiB   79k https │ mp4v.20.3     79k mp4a.40.2    0k 22050Hz 144p
160 mp4   256x144     30 │   85.77MiB  103k https │ avc1.4d400c  103k video only              144p, mp4_dash
278 webm  256x144     30 │   74.16MiB   89k https │ vp9           89k video only              144p, webm_dash
133 mp4   426x240     30 │  197.31MiB  238k https │ avc1.4d4015  238k video only              240p, mp4_dash
242 webm  426x240     30 │  153.09MiB  185k https │ vp9          185k video only              240p, webm_dash
134 mp4   640x360     30 │  361.36MiB  437k https │ avc1.4d401e  437k video only              360p, mp4_dash
18  mp4   640x360     30 │  446.45MiB  540k https │ avc1.42001E  540k mp4a.40.2    0k 44100Hz 360p
243 webm  640x360     30 │  269.70MiB  326k https │ vp9          326k video only              360p, webm_dash
135 mp4   854x480     30 │  670.57MiB  811k https │ avc1.4d401f  811k video only              480p, mp4_dash
244 webm  854x480     30 │  480.35MiB  581k https │ vp9          581k video only              480p, webm_dash
136 mp4   1280x720    30 │    1.15GiB 1419k https │ avc1.64001f 1419k video only              720p, mp4_dash
22  mp4   1280x720    30 │ ~  1.28GiB 1547k https │ avc1.64001F 1547k mp4a.40.2    0k 44100Hz 720p
247 webm  1280x720    30 │  930.17MiB 1125k https │ vp9         1125k video only              720p, webm_dash
298 mp4   1280x720    60 │    1.50GiB 1859k https │ avc1.640020 1859k video only              720p60, mp4_dash
302 webm  1280x720    60 │    1.49GiB 1848k https │ vp9         1848k video only              720p60, webm_dash
299 mp4   1920x1080   60 │    2.71GiB 3359k https │ avc1.64002a 3359k video only              1080p60, mp4_dash
303 webm  1920x1080   60 │    2.69GiB 3334k https │ vp9         3334k video only              1080p60, webm_dash

のIDと対応してた。既定だと-f "bv*+ba/b"を指定した扱いで最高品質のをダウンロードできるらしいが、動画と音声を分割ダウンロードしない*2と妥協品質(↑だと

22 mp4 1280x720 30 │ ~ 1.28GiB 1547k https │ avc1.64001F 1547k mp4a.40.2 0k 44100Hz 720p

のが選ばれるらしい。

その他出力ディレクトリやファイル名の変更などもできる。

以下読んだサイト wiki.archlinux.jp masayoshi-9a7ee.hatenablog.com gigazine.net torusblog.org bookyakuno.com

*1:[Note: There are some regressions in newer ffmpeg versions that causes various issues when used alongside yt-dlp.らしいが、Download FFmpegから落とした奴でも動いたので謎。

*2:-f "b" 既定の/bは個別のが利用不可の場合

ドロップ率推定の必要サンプル数見積もり

ハクスラモンスターズで、「アイテムLv(★)1024の装備あまりにも出なさ過ぎてブーストチケットがちゃんと聞いてるのか疑わしいのでドロップ率開示してくれ」という要望に対して、「実装に工数掛かるし、表示が間違ってた時の詫びがヤバいし、確率の意味分かってない奴からクレーム受けるのが嫌だし、ユーザーが統計取れば動作が正常かはすぐ明らかになる」と答えてたので、サンプル数どれくらい必要なのか考えてみた(ついでに統計周りでググった知識のリンク張っておくメモ)。

サンプル数計算(多分Wald法)

有意水準5%、推定確率と有効範囲を年1として0.00003805175%((1年が525600分・1周20分・4パーティ=1/420,480)でサンプル数計算・信頼区間計算・ドロップ率検定機に入れたら10,095,722。1000万週は記録する気にならないので諦め。

Wald法(正規分布

俺も統計学の授業で習った気がする方法だけど、正規分布へ近似しているので、サンプルが少数の場合に誤差が大きいらしい。ただ、上のリンクの95%信頼区間で欲しい区間を1%の時n=38,416になる奴を、後述のClopper-Pearsonの正確法(F分布)で計算したら0.92%だったので誤差は誤差かも。

Clopper-Pearsonの正確法(F分布)

正確というのは近似してないという意味で、古い方法らしい。有効範囲は(上側-下側)で良いとしても、試行回数の式への変形が分からん。

Sterneなどその他

上のPDFによるとSterne検定?が優秀らしくRで使えるらしいけど、オンライン実行環境だとexactciライブラリがなかったのでインストール面倒だからやめた。下のリンクのAgresti-Coull法(調整Wald法)/Jeffreys法は表記揺れなのか別手法なのか分からん。

【カスタム出力 (FFmpeg)】YouTubeでHEVC配信試したら20秒くらい遅延したので諦めた

追記: 28.0 Beta 1でOBS本体がHLS対応したので試したら、遅延5秒~10秒程度で済みました。

遅延の原因はHLSらしいけど、RTMPはHEVC非対応なので仕方ないね。最初15秒遅延くらいだったので、一旦配信止まった時にLiveまで追い付けてない気がした。

  1. ストリームキーを作成する。YouTubeライブ配信を開始→ライブ配信の設定→新しいストリームキーを作成 へ進む。ストリーミングプロトコルでHLS(高度)を選択、名前を適当に入れて作成。*1
  2. OBSをインストールする。↓のFFVCustom=preset=p7のように新形式プリセットを使うならGuide OBS Studio FFmpeg Upgrade · Xaymar/obs-StreamFX Wiki · GitHubを参考に差し替える(か自前ビルドする)。
  3. 録画タブを↓のように設定する。
[AdvOut]
TrackIndex=1
RecType=FFmpeg
RecTracks=1
FLVTrack=1
FFOutputToFile=false
FFURL=https://a.upload.youtube.com/http_upload_hls?cid=****-****-****-****-****&copy=0&file=playlist.m3u8
FFFormat=hls
FFFormatMimeType=
FFExtension=m3u8
FFIgnoreCompat=true
FFVEncoderId=173
FFVEncoder=hevc_nvenc
FFVCustom=preset=p7
FFABitrate=64
FFAEncoderId=86018
FFAEncoder=aac
FFAudioMixes=1
FFVGOPSize=60
FFACustom=
FFVBitrate=2000

FFURLは1で生成したストリームURLをコピペして末尾にplaylist.m3u8を付け足した奴。 もっと設定値あるけど、一旦デフォルトを尊重した。他の設定例は↓

以上。

上記のカスタム出力(FFmpeg)でURLを指定する方法以外に

  1. obs-tsukasaを入れる。*2
  2. UI/window-basic-settings.cppのconst char* streaming_codecs[]の//"hevc"のコメントアウトを解除してビルドする。*3

がありそうに思ったけど、1は「ストリームの状態 データなし」のままで使えず、2はビルド通らず、諦めた。

妥協案

そもそもは楽天モバイルを固定回線化する - 雑記光回線捨ててアップロード帯域が細くなった後でも高画質で配信したかった…1080pは静止画だと綺麗だけど、動きが激しい時のブロックノイズが酷い。

配信
配信は、FFmpeg差し替えるのが怠くなったので(new)の奴。1888kbpsは自動構成ウィザード結果を綺麗にした。
録画
録画は、https://developer-blogs.nvidia.com/wp-content/uploads/2020/07/jockey-video-codec-sdk-9-1-1.pngだとslowが一番重そうなので選択。CQPが良いらしいので文字が潰れない程度に34選択。他は既定を尊重。
映像
ケチって24FPS。音声64kbps。

蛇足だけど、

*1:アカウント接続はRTMPのキーを生成してるのか使えなかった

*2:【OBS】Open Broadcaster Software Part.9

*3:UI, obs-ffmpeg: Add support for other codecs by Xaymar · Pull Request #794 · obsproject/obs-studio · GitHubが当該コミット。最初StreamFXが隠してるのかと思ったけどAMF/NVENC H.265 (via FFmpeg) for Streaming on YouTube · Issue #627 · Xaymar/obs-StreamFX · GitHubプラグイン側でUIを弄るのは無理と知った。Discordで「Darkerium — 2021/09/15 But because it could confuse those who stream on other platforms, which don't support H.265, it should be visible only when YouTube is selected (or any other platform which supports it for that matter). Correct, but YouTube supports HLS as well, which allows for H.265.」「Matt | WizardCM — 2021/09/15 yeah we currently don't want too much youtube-specific code everywhere」というやり取りがあったので正式対応は相当先っぽい。

楽天モバイルを固定回線化する

レオパレスのLEONETがスタンダードプラン→ベーシックプランで1320円値上げなので何とか安くしたかった。で、最近の趣味が原神と遊戯王マスターデュエルなので「回線ゴミでも平気じゃね?最悪ネットカフェ行けばよくね?」となり、モバイル回線だけで生きていけそうなので設定方法とか比較したメモ。結論USBテザリング便利。

要件

必須

構成

元回線はちゃんと比較してないけど多分楽天モバイル最強。10GB/日以降が3Mbpsになるので、何したら10GB使い切るのか・3Mbpsで何ができないのか調べてなくて不安ではあるが、LEONETは事務手数料ないっぽいので最悪戻せばいいでしょう。

テザリング方式

結論:USB(私有PC向け)とWi-Fi(社給PCその他色々)を併用する。開発者向けオプション→デフォルトのUSB設定→USBテザリングで、ケーブル抜き差し毎に手動で有効化しなくてもテザリングできるようになった。

テザリング方式はWi-FiBluetooth・USB・Ethernetの4種だが、EthernetはAndroid11からなので手持ちのRedmi Note 9S非対応・Bluetoothは何か上手く設定できなかった。 USBテザリングは高速・安定・省電力で、普通にPC⇔スマホ付属のType-A to Type-Cケーブル⇔スマホで繋いで設定したら、テザリングと充電を同時にできてるっぽいので最強。充電しながら有線LANでテザリングできるType-C用イーサネットアダプター - ケータイ Watchが売られてるから普通はテザリングと充電の同時利用不可かと思ったらそうでもなかった。EthernetはUSB端子がないゲーム機や家電向けらしい。

複数台をUSBテザリングするならUSBテザリング対応ルーターが必要っぽいが、Wi-Fiテザリングも同時に使えるっぽいので俺はサブ機はWi-Fiで済ませる。USBテザリング対応ルーターじゃなくてただのUSBハブだとテザリングできないのかはちょっと気になった。

バッテリーは消耗品だと思うことする。他の懸念は現状ないので様子見。

pixivランキング作品を自動で壁紙にする【Android】

Muzei Live Wallpaper - Apps on Google Play

Pixiv for Muzei 3 - Apps on Google Play

の2つを使う。Muzeiが壁紙を切り替えるアプリで、もう片方がpixivから絵をダウンロードするMuzei拡張機能。両方OSS*1*2。後者の類似品はSearch · Pixiv Muzei · GitHubで多数見つかるけど、一番☆が多かったので。

Muzeiの設定

初回設定的な画面あった気がしたけど忘れたので、普通にアイコンから起動して設定する。

Muzei

Customize GesturesのView Artwork DetailsはPixiv for Muzei 3だと無効っぽかった。エフェクト無効と絵切り替えは使わないのでNoneにした。 https://play-lh.googleusercontent.com/GqoVbkm93SdknUBmEOU8tcZfkdjEEfGp30vz4AC1isf3YmTwQ_NdIenD89hHmPFx1PU=w2133-h1041-rw

Sources

Pixiv for Muzei 3をチェックする。右上の時計アイコンからinterval等を選ぶ。 https://play-lh.googleusercontent.com/zd-03mAlYARgKkaMhdz_tSeleZk-6b7JZlkeTHBDzhhHOMt_mUsdKu_YqmkH-ZrTUJSS=w2133-h1041-rw

Effects

BLUR(ぼかし)・DIM(明暗)・GREY(彩度)、多分。 HOME SCREENのBLURだけ最弱にした。 https://play-lh.googleusercontent.com/trFkyIw3pbHtJyo5_daNDonIsL6_l1IYCtgE1xDI-aEoh51SLIbB7B40QEs9BE6kE9E=w2133-h1041-rw

Pixiv for Muzei 3の設定

Muzei→SourcesのPixiv for Muzei 3のSETTINGSか、普通にPixiv for Muzei 3のアイコンから起動して設定する。

MAIN

R-18ランキングはログインしてても見れないっぽい? Update modeで(Login Required)の奴を選択&Feed NSFW filter levelのR18チェック でR18絵出てきたけど、Daily ranking&NSFWだと更新しても一般ランキングからしか出てこなかった。まあブラウザからでもR-18ランキングは要ログインなので、扱いが面倒なのかもしれない。気が向いたらソースコード読んで確認する。 https://play-lh.googleusercontent.com/hq4l55JQSH8CLuci7BiXwk3uBDoziz7rOAJ9G_hzn6pZAnMOvcEhSTTWfucwwWKT_vM=w2133-h1041-rw

ADVANCED SETTINGS

キャッシュが残ってると古い絵も適用されるっぽいので、Automatically clear cache at 1 AM dailyは有効にした。 https://play-lh.googleusercontent.com/d9L3png1U2q4pxRUMdNy-oFaii9XhfVx0IdQr6-Gyow4Ojz7S7O1PXu0F6b6do0G31o=w2133-h1041-rw

余談

GitHub - upbit/pixivpy: Pixiv API for PythonKivy - Wikipediaで自作しようとしてたら↑が見つかって、先駆者居るもんやなって思った。理想としては、ホーム画面毎に別画像の割り当てと、R18ランキングが欲しいけど、自作する程ではないかな…