Chromeのタブを録画するためだけの拡張機能
blog Chrome Extension
3ヶ月ほど前に Chrome 拡張機能をリリースしました。
Instant Tab Recorder - Chrome Web Store
先日確認したところ利用者数が 100 ユーザーを超えていたので、記録のために記事にしたいと思います。
技術的な Tips は Zenn に記事を投稿しているので、技術面に興味がある方と似たような事をしたい方はそちらを参照してください。
Chrome 拡張機能でタブを録画する際の Tips - Zenn
簡単な紹介
タイトルに記載の通りですが、簡単に拡張機能を紹介します。
Chrome のタブで表示している Web サイトを録画することに特化した拡張機能です。
開発、保守コストを抑えるために、それ以外の機能は敢えて 実装していません 。
例えば以下のようなものです。
- デスクトップ全体の録画
- 理由: 権限の取得や映像ソースの選択といった煩わしい操作が必要で、瞬時に録画を開始できないため
- 複数の映像ソースの合成
- 理由: そういった高度な処理をしたい場合は OBS など優秀なツールがあるので、拡張機能として実装する利点が少ない (少なくとも自分にとっては必要ではない)
- 録画した映像の編集
- 理由: 動画の編集ツールには優秀なものが数多にあり、それらの足元にも及ばない中途半端な機能を実装しても、実装保守コストが嵩むだけで無駄になってしまうため
やること、やらないことを決めるのはリソースの限られている個人開発では大切なことです。
これはマネタイズを考えていない無償のソフトウェアなので、保守が大変になって私が開発を止めてしまうリスクをコントロールする必要があります。
やることを明確にしているので、その範囲についてはかなりこだわりを持って実装しています。
例えば…
- 拡張機能のボタンを押した瞬間に録画が開始する (ポップアップ等は一切なし)
- ウィンドウサイズを指定したサイズにワンクリックでリサイズ
- 十分実用可能なデフォルト設定
- 設定による細かい調整
- 映像のみ録画、音声のみ録音に対応 (昨日リリースしたばかりの v1.0.6 で対応!)
- 映像、音声、それぞれビットレートの指定が可能
- 録画解像度の指定が可能
- MIME Type の指定が可能 (コンテナ、コーデック)
こだわりが刺さった方には是非体験して頂きたいです。
N番煎じ
もっと高機能な拡張機能がたくさんあるのに、なぜ似たような拡張機能を作って公開したのか?という疑問が聞こえてきそうなので答えておきます。
これは、私が主に仕事で Web アプリケーションを開発する都合上、操作を動画で残して共有するという用途で使いたく開発しました。 もちろん、技術も好きというモチベーションもあります。
Chrome Web Store で配布されている拡張機能はセキュリティ、プライバシーの観点から信用できないものが多いと感じています。少なくとも開発者が無名の場合、無償で配布されているのにコードが公開されていない拡張機能は信用していません。
具体的なリスクを挙げると、業務において公開される前の機能やコンテンツが写った録画が漏洩したとなれば一大事です。
加えて、個人の PC でいくつか同様の拡張機能を試しましたが、単純に使いにくかったり、多機能故に不具合があり(GitHub に Issue が立っている)、それも中々直らなかったりといった問題があり、見送りました。
私のことを信用できる方は仕事で使っていただいても構いませんが、MIT ライセンスに基づきいかなる保証も提供できませんのでご了承ください。
具体的なリスクとしては、私に悪意がなくとも依存ライブラリに不正なコードを注入されるというサプライチェーン攻撃の餌食になることは否定できません。(OSS の性質上、そのような保証は誰もできないと思います)
ユーザー傾向
どのような方にどのような設定で使われているのか、一部紹介します。
Chrome Web Store Developer Dashboard
Chrome Web Store Developer Dashboard で直近1ヶ月の統計情報を見ることができます。
低コストで開発したく (多言語対応が面倒だったので) UI の言語は英語のみ対応していますが、日本でのインストール数が多いですね。次いで、米国、インドという結果になっています。
言語別のインストール数は日本がトップで、次いで英語ですね。恐らくインドの方もブラウザの設定言語は英語なのでしょうか。
OS 別のインストール数では Windows が最も多いですが、手元に Windows で動作確認する環境がないので OS 固有の不具合があったらすみません。そういえば ChromeOS ってまだ使われているのですね。
Sentry
個人や閲覧しているサイトを特定できない形で、使用状況を Sentry で収集しています。 (Opt-out 可)
直近1ヶ月間の使用状況 (統計データ) を見ることができます。
左から2つについては使用されているブラウザとそのバージョンですが、Edge が3分の1を占めていることに驚きました。 ここ何年も Windows を使っていないので知らなかったのですが、Edge で公式ストア以外からの拡張機能のインストールを許可することで Chrome Web Store からもインストールできるようです。
MIME Type についてですが、デフォルト設定が圧倒的に多く変更しているユーザーは僅かでした。ブラウザが対応していない MIME Type は指定できない事と、自由入力であるが故にある程度動画のコンテナやコーデックについて詳しくないと設定が難しいのかもしれません。
私は最近 video/mp4
を使用しています。設定しやすいようにプリセットを設けて選択できるようにするなど改善を検討します。
続いて audio ビットレートですが、こちらも圧倒的にデフォルトの 256Kbps が人気です。
次いで 360Kbps ですが、そんなにハイビットレート要ります…?その次は 128Kbps でした。
video ビットレートは、デフォルトで width * height * 8 bps
になるようにしています。なのでダントツで多いのはデフォルト解像度 (1920x1080) で録画した時のビットレートとなっています。
2つ目は 720x480 で録画した時のビットレートになりそうです。
最後に録画解像度についてですが、初めてデフォルト値以外がトップに来ました。ちなみにデフォルト値の 1920x1080 は3位となっています。
何故かというと、初期設定では録画解像度を用いずタブのサイズを自動的に録画解像度として扱う (拡大縮小せず1倍で録画する) 挙動となっているためです。
このように使用状況を取ることで洞察が得られ改善項目が見つかることがあるので、ご協力頂いている方には感謝しています。
公開後にあったこと
Chrome Web Store レビュー
海外の方から肯定的なレビューを頂けたことが地味に嬉しかったですね。
最近生成 AI が流行っているので人間によるレビューである確証はありませんが、サクラのレビューを購入するサービスに課金をした覚えはなく、無害なレビューだったので人間だと思うことにします。
2件頂いたので紹介します。
※レビュー は「すべての言語」を選択すると表示されます。
興味深いのは、どちらのレビューも一度褒めてから改善要望を書いている所ですね。
偏見かもしれませんが、経験上日本人のレビューは否定から入る傾向があるように思います。
自分もレビューを書くときは肯定から入るように意識しようと思いました。
上から1つ目のレビューに関しては仰る通り!と思ったので、すぐに実装しました。
2つ目のレビューに関しては、技術的には可能かもしれないですが残念ながらやらないこととして決断しました。何故2タブで録画しようと思ったのか謎ですが、そういったニッチなユースケースもあるのかもしれません。
営業メール
海外のフリーランスの方から、以下のようなメールを頂きました。(抄訳)
Chrome 拡張機能エキスパートの◯◯です。 INSTANT TAB RECORDER にはポテンシャルを感じました。
キャンペーンや SEO により認知度、ダウンロード、ユーザーエンゲージメントを向上させることで、 1週間で1,000アクティブユーザーに到達し、レビューを獲得できる可能性があります。
拡張機能のパフォーマンスを向上させるために協力しましょう。 ◯◯からご連絡ください。
無償配布で広告も無いので、利益は1銭も得ておらず (今後も得られる見込みは無く) SEO にかけられる予算はありません。
個人開発で利益を目的としていないことは少し調べたら分かる気がするのですが、いくらで依頼が貰えると思ったのでしょうか。 テンプレ文だと思うので、恐らく数打てば当たる戦略で機械的に送っているのでしょう。
こんなメールが来るのかと、少し面白い体験でした。
今後について
利用者が増えても利益にはならないのですが、増えた方が開発のモチベーションは高いかもしれないですね。
特にプロモーションの予定はありませんが、営業メールにもあるように次は 1,000 人を目指しましょうか。
欲を言うと GitHub の Star も欲しいですね。
この拡張機能を使ってくださっている方へ
この拡張機能では次のことはしないと心に決めています。
- 広告を挿入すること (私が個人的にインターネット広告が嫌いだからです)
- 有料化すること (寄付やスポンサーを募ることはあるかもしれません)
- OSS をやめること (開発が終わる時までソースコードを OSS ライセンスの下で公開し続けます)
なので、安心して(?)ご利用ください。
今後とも宜しくお願いします。