OBS Studio の browser source に スマホのカメラ映像を出す

OBSのブラウザソースは、Chromium Embedded Framework (CEF)で出来ているそうだ。ローカルファイルのHTMLをロードすることもできる。それを使ってAndroidスマホのカメラからの映像を表示しようと思った。WebRTCだ。 OBSのブラウザソースで表示したHTMLは、ボ…

Pythonでwindows apiを呼ぶ

呼ぶ = call ウィンドウサイズをどうかしたかった。 Jupyter と Python でwindows api 触れたら楽だね。pywin32と足りない分は自分でctypes使えばできる。 miniconda をインストールしたらもうpywin32も入ってた。 ウィンドウのサイズはスナップしたときとそ…

ウィンドウにしるしをつけようと思ったけどできなかった

OBS Studioのウィンドウキャプチャがウィンドウを見つける方法は、 タイトル 実行ファイル名 なるべく一致 (??) ということで、複数のChromeウィンドウがあったときに配信用と定めたものにキャプチャを限定できないか考えてみた。 タイトルは、ウィンドウタ…

twitchでスクリーンキャストストリーミングをはじめた

OBS Studio を使ってる。 配信用に設定したChromeを用意した。「ハードウェアアクセラレーションが使用可能な場合は使用する」がONになっているとOBSでウィンドウキャプチャができなかった。ユーザーディレクトリごと別に分けてしまって、"設定"画面で、ハー…

Vue.js v-for template の v-bind:key

virtual dom の nodeには一意のキーが必要 componentはnamespaceを作るけど、templateは作らない。 なので、例えば一つの.vueファイルの中で、

JavaScriptの時刻

moment.jsを使っとけばいいのだけれど、JavaScriptのDateがどういうものか調べた。 Dateオブジェクトは、UNIX epochからのミリ秒をデータとして持つ。 UNIX epoch = 1970 1/1 00:00:00 (UTC) 引数なしコンストラクタcallのときは現在時(UTC)。 ホストシステ…

JavaScript の Jupyter Notebook を Google Cloud Shell の Docker で 動かす

いつも通り、Google Cloud Shell での作業。 JavaScript で Firestore を使うのにあれこれ書いて試したかった。 Google Cloud Shell で Jupyter Notebook を Dockerコンテナとして動かす Jupyter プロジェクト公式のイメージが Docker Hub に置いてある。 ju…

Firestore local emulator に Firebase JavaScript SDK (Web) で接続する

admin SDK ではなくて、Webブラウザで使う firebase-js-sdk で firestore ローカルエミュレーターに接続する方法。 const db = firebase.firestore(); db.settings({ host: "172.18.0.1:18080", ssl: false }); Connect your app and start prototyping | Fi…

Firestore local emulator に Docker コンテナから接続する

$ firebase setup:emulators:firestore firebase.json { "firestore": {} "emulators": { "firestore": { "host": "0.0.0.0", "port": "18080" } } } "0.0.0.0"で全てのIPで待ち受けをして、リクエストのホスト名チェックも無効になる。 今回はgoogle cloud …

文字起こしと発声時刻で動画に文字を表示してみた

音声のフリー素材から静止画動画を作って、文字を発声のタイミングに合わせて画面に表示するやつ。ざっくりやってみた、オンラインでもないし全自動でもないけど。ffmpegとクラウドの音声認識サービスを使った。ポッドキャストやってる人はこんな感じで動画…

Google Cloud Shellのカスタム環境をGoogle Cloud Shellでcloudshell envコマンドを使って用意する

Google Cloud Shell は Cloud Registory に登録した Dockerイメージ をシェルとして利用できる。これをカスタム環境 [en]と呼ぶ。 カスタム環境の開発には Google Cloud Shell に予めインストールされているcloudshell envコマンドが便利。 cloudshell env …

monoランタイムとPaketを実行できるだけのdllをインストールしたGoogle Cloud ShellのDockerイメージを作った

Google Cloud Shell で F# スクリプトを書きたかった。Google Cloud Shellには .NET Core SDK がインストールされているのでdotnet fsiコマンドで F# の REPL が使える。 nuget パッケージを使うときに Paket があると便利だが、Paket の実行には mono が必…

vue-language-serverをvim-lspから使う設定をした

Vue Language Server Vue Language Serverはnpmのパッケージvue-language-serverとして公開されている vlsコマンドとして提供される Vue Language ServerはLanguage Server Protocolのサーバー実装 vim-lspをクライアントとしてvimから利用することができる …

Google Cloud ShellでClangのビルドをしようとしたけど時間がかかりそうだからやめた

2019年4月29日の時点で、google cloud shellにはclang-8がインストール済みだった。 知らずにソースコードからビルドしようとしたけどものすごく時間がかかりそうだったから断念した。 インストール済みだけどパスは通ってない。 export PATH=/usr/lib/llvm-…

JavaScriptのフォーマッターPrettierのVimプラグインをインストールした

vim-prettierは、デフォルトの設定ではprettierのデフォルトルールとは違う整形ルールを持つ。 vim-prettierは、デフォルトの設定では.prettierrcがあればその設定を優先する。 prettier prettier.io prettierのインストール プロジェクトローカルにprettier…

タイトルが付けられるならブログに書く

自然とタイトルが思い浮んでいないのならtwitterに書く。ブログに短かいエントリーを書いてもいい。題名というかキャッチフレーズ的なものをひらめいて、それから何かを思うことがよくある。ツイートにはタイトルが付けられない。

水泳の練習メニューを変えた

週3日、1回30分でクロールと平泳ぎ。 いままでは、 10分ゆっくりクロール 10分ゆっくり平泳ぎ 10分強めのクロール これから 5分以上のゆっくりクロール 5分以上のゆっくり平泳ぎ 10分以上の強めのクロール ゆっくりクロールは準備運動。 ゆっくり平泳ぎは、…

WSLのDebianでまず最初にnvmをインストールしようとしたらwgetでエラーになる

WSL(Windows Subsystem for Linux)のDebianをインストールした。まず最初にnvmをインストールしようとして、wgetをしたらtrusted host じゃないとエラーになった。wgetがどういう仕組みで信頼済みの認証局を知るのかわからないけど、そういうのはosとかが便…

4月7日土曜日にNagoya.cloud.first #2へ参加した

来栖川電算さんにピザとスシを食わせてもらった、ごちそうさまでした。 "見に来てみる枠"という成果発表が必須ではない参加者として行ってきた。 本当に皆さんもくもくとやっていた。 クラウド縛りの指すものがよくわからずに参加した。どうもawsとかgcpとか…

windows スリープ させない

Google Play Music に全部アップロードした Windowsがスリープしてしまう PowerShellでスリープ抑止(Win32APIの利用) SetThreadExecutionState function (Windows) $SystemRequired = [uint32]1 $Continuous = [uint32]"0x80000000" $signature = @" [DllI…

Amazon EC2インスタンスのログをCloudWatch Logsに送る方法が2017年12月から新しくなってた

いままではSSMエージェントのCloudWatchプラグインで送信していた。2017年末にSystems Manager がEC2から独立したのを機にCloudWatchエージェントというのが登場したようだ。 新発表 – Amazon CloudWatch AgentとAWS Systems Managerとの連携 – 統一されたメ…

at_hashのバリデーションに失敗するから対処した

azechi-n.hatenadiary.com 久しぶりに実行してみたら、アマゾン側のログインUIから戻ってきたときにエラーが出るようになってた。 こんなやつ OpenIdConnectProtocolInvalidAtHashException: IDX10348: Validating the 'at_hash' failed, see inner exceptio…

ASP.NET Core のWebサイトに組み込みのOpenID ConnectスキームでAmazon Cognito User PoolsのログインUIを統合する

Amazon Cognito User Poolsのアプリ統合で、OpenID ConnectっぽいエンドポイントとログインUIが利用できる。 ASP.NET Core Authentication のOpenID Connectスキームは、ASP.NET Core メタパッケージに含まれているビルトインの機能。 Webサイトでajaxを使っ…

iPhoneからLANのPCへ名前でアクセスするために一時的にDNSサーバーを動かす

iPhoneのWebアプリでも作って勉強しようと思った。開発には短い間隔で書いて確認の反復が大事。同じネットワークにいるデスクトップPCのWebサーバーへiPhoneからアクセスしたい。カメラ使いたいのでHTTPSでアクセスする必要がある。自己署名証明書やオレオレ…

Dockerで動かすASP.NET CoreとリバースプロキシをUnixドメインソケットでつないでみた

ASP.NET Coreの組み込みWebサーバーのKestrelはUNIXドメインソケット(UDS)で待ち受けができる、と知ったのでやってみた。 UNIXドメインソケットは同一ホストでプロセス間通信をするもの。リバースプロキシ(Webサーバー)とASP.NET Coreアプリケーションを同じ…

WebサーバーなしでLet's Encryptに証明書を発行してもらった

Webサーバーはまだない、とにかくLet's Encryptの証明書をとってみたかった。Route53にドメインはある。自分のWindowsパソコンを使う。インターネットからアクセスできるサーバーを用意したくない。 Dockerでcertbotを使ってDNS-01方式で証明書を発行しても…

20171112 「豊田市IT勉強会 第3会 もくもく会」へ行ってきた

この記事はScrapboxのページのスナップショットです1。 豊田市IT勉強会 第3回 もくもく会 - connpass 会場 http://mg-toyota.com/ マイカフェなの?マイカフェではないの? 静かだった ビジター 9:00-17:00 1000円 飲みものあり 自宅から車で1時間かからない…

VisualStudioでWebApp開発中にCtrl+F5を押して素のChromeを起動させる

デバッグの開始、デバッグなしで開始 Visual Studio 2017でデバッガをアタッチせずにWebアプリケーションを実行するにはCtrl+F5(「デバッグの開始」のショートカットキー)を押す。すると、ブラウザが開いてアプリケーションのアドレスにアクセスする。何も設…

AWS LambdaでAWSサービスのロングポーリングAPIを呼ぶときには使用するSDKの設定を確認するといい

既定の設定ではロングポーリングAPIでクライアントがタイムアウトしたうえに自動で再試行する。1回のAPI呼び出しでタイムアウトまで待機してさらに間隔を延しながら5回リトライするから数分に渡って制御が返ってこない状態になる。AWS Lambdaなどでは課金が…

へんなことをするとへんなとこではまる

Windows10。「ダウンロード」とか「ビデオ」とかのフォルダはShell Folderというらしい。 Shell Folderの場所を他のShell Folderと同じフォルダに重ねて指定するとなぜかエクスプローラーからアイコンが消えていく。 「デスクトップ」以外のフォルダを一つに…