YouTube 音ズレ解消ツールのウェブサイトを公開しました!
YouTube 音ズレ解消ツールのウェブサイトを公開しました!
日本語版
英語版
現時点でChrome拡張版と、FireFox Add-on版の合計のアクティブユーザー数は凡そ250人。ニッチなツールにしてはなかなか健闘していると思います。
ご利用者の9割は日本国外の方で、シンガポールとドイツのユーザーさんから5つ星でレビューコメントを頂きました。せっかく英語版のサイトもできたことですし、もう少し海外でのプロモーションも頑張ってみようと思います。
YouTube 音ズレ調整 Firefox Add-on版も公開しました
YouTube 音ズレ調整 Firefox Add-on版がやっと承認を通って公開できました!長かった。。
詳細とChrome拡張版は以下の以前記事をご参照ください。
Chrome版は 2016/10/16のリリース以来、31ヶ国で3週間に合計107回インストールして頂きました。ありがとうございます。
実は私としては絶対に便利に使っていただけると思っていた Amazon 1-Click防止ツール の利用者数があっという間に頭打ちになってしまった一方、このニッチなアドオンがまだまだ利用者を伸ばしているので分からないものです。。
ちなみにインストールしていただいた方の80%以上は日本国外の方です。このブログ以外はほとんどプロモーションしていないことを考えると、もうちょっと日本からのインストール数が伸びても良いのではないかとも思いましたが、、、
それもそのはずこのブログ、1日5PVぐらいしかアクセスありませんので宣伝効果はほぼありません。つまり今この記事を読んでいていただいている方は物凄くレアな存在です!本当に来ていただいてありがとうございます。
10月末にはてなブログから「おめでとう!月間PVが100を超えました!」というお知らせが来た時は物凄く複雑な気持ちになりましたよ。
今回のAdd-onはJavascript1,000行程度とそれなりの規模の上に、YouTubeという外部サービスのライブラリを使っていたため、1度はすぐに却下されて更に再審査に2.5週間もかかりました。ここまで待ってまた却下されたら一体いつ公開できるのかと心配していたところ、承認連絡が来た時は思わず乙女のように「きゃっ」と小さく歓声をあげてしまいました。日本国内外で長年数多くの巨大プロジェクトを手がけてまいりましたが、やっぱり自分の心を込めた作品への思い入れに規模の大小は関係ないですね。そしてモノ作りの喜びは、夢中になってダンボールを切ったり貼ったりしていた幼稚園児の頃から、ほとんど現場から遠ざかった今に至るまで、少しも変わることはありません。
と、綺麗にまとめたところで、いや実際のところ嫌な事ばかりの業界で今日も月曜からうんざりしきって今からビール飲むところなんですが、しかしモノ作りに携わるということは私にとっては最高の癒やしであり、やはりこの業界に来てよかったのだと最近になってやっと本当に思えるようになりました。
何かやたらしんみりしてしまうのは1日5PV程度という事実をはてなブログのお知らせで思い知らされてから初めて書く記事なのと昨日 西原理恵子の切ない本 (※アフィリエイトじゃないので安心して踏んでくださいね)を読んだせいなのですが、実は1週間ほど前からChrome拡張経由の日本国外からのアクセスが5PVほど上乗せされてきているので、そろそろ英語版の紹介ページでも作ってプロモーションしてみようかなと思っています。
YouTube 音ズレ調整 Chrome拡張を公開しました
はじめに
YouTubeのオーディオタイミングを調整して音ズレを解消できるChrome拡張を公開しました!これは個人的に本当に欲しかったので作りきれて良かったです :-)
YouTubeのオーディオタイミングを0.1秒単位で調整して音ズレを解消できます。
音ズレしたビデオの視聴、音声遅延のあるワイヤレスオーディオ機器のご利用等にお役立てください。
1. YouTubeの視聴画面でツールアイコンをクリックすると、オーディオタイミング調整スライダーがYouTubeの動画の下に表示されます。
2. スライダーを動かして音と映像が合うようにオーディオタイミングを調整します。
※ Firefox Add-on版も現在審査完了待ちのため、あと1週間ほどで公開できるはずです。
開発の経緯
開発のきっかけは、2016年3月発売になったSonyのSRS-HG1というアクティブスピーカーを購入したこと。
なおSingaporeでは高いので、日本に一時帰国した奥さんに一番安かった楽天で買ってきてもらいました :-)
元々は大人気の Bose Soundlink2 を買うつもりだったのですが、この同価格帯のスピーカー、Bluetooth・有線に加えて、Wi-Fi (DLNA、Google Cast) に対応しているんです!
しかも世界最小のハイレゾ対応スピーカー、イコライザーでの調整が可能、バッテリーの持ちが12時間と、Bose Soundlink2の購入を考えている方には是非比較検討してほしい超おすすめ商品です。
Google Cast対応は本当に本当に、便利で便利で毎日再生しては喜びを噛み締めているのですが、残念ながらこのスピーカーには有線でも音声遅延があるという欠点があります。これが理由で低評価をつけている方も少なくありません。
スピーカーが遅いなら音を早くすればいいじゃないの!
音楽メインなのでほぼ気にしていなかったのですが、やはりGoogle Castが使える以上、YouTubeのビデオを見ながら良い音で音声を聞いてみたい。。
そこでスピーカーが遅いなら音を早くすればいいじゃないの!とマリーアントワネット的(?)発想で作ることにしたのがこのツール。YouTubeではそもそも音ズレしているビデオを見かけることも珍しくありませんし、これはぜひ作ってみようと思い至りました。
そして期待したとおりSRS-HG1からタイミングピッタリのYouTubeの音声が出てきた時は、ちょっと感動してしまいました。。。
開発メモ
まだまだ改善したい部分はあるのですが、とりあえずは今回苦労した点の開発メモなど。
YouTubeはシングルページアプリケーションである
Amazonでの1-Clickボタン誤クリックを防ぐChrome拡張 - Hirox Lab でもAmazonのシングルページのアーキテクチャに手こずりましたが、なんとYouTubeもシングルページアプリケーションでした。まあ最近私が立ち上げた新しいサービスも全てシングルページアプリケーションなのですが。
しかし本当に大変だったのはAmazonとは違って検索ページだけではなく、再生画面等含めて全てシングルページだったこと。そのため別の動画への移動はもちろん、検索画面への移動などでも全く画面更新イベントが走らないので、画面ごとの機能の初期化処理などで何かと工夫を強いられました。
処理イベントが多い
再生、ストップ、ポーズ、音量変更、速度変更、キューイングなどなど、処理イベントがとにかく多い。状態の種類も非常に多くて、読込前、バッファ中、再生中、ポーズ中、キューイング中のほか、広告表示中、閲覧不能(削除された動画など)などなど様々。実装そのものも大変でしたが、UXの観点からこれらどこまでどう対処するのか考えるのは大変でした。
音声処理のパフォーマンスチューニング
これが一番大変でした。開発期間の半分はここに費やしたはず。。。
通信などの関係で必ず発生する映像と音声のタイミングのずれを、どこまで高い精度を確保しつつ、どういう基準で許容するのか。何をトリガーにタイミング調整を行うか。通信速度が低いなどの理由でそもそも調整困難な場合などは、どうそれを検知してどうコントロールするか。
具体的には1.8秒以内に3回以上、0.18秒超の誤差が発生した場合は一瞬止めて調整を図る、1.8秒以上音声のバッファリングが終わらない場合は一瞬止めて調整を図る、などなど色々しています。微妙な調整でむしろ精度が悪化したり、タイミングの衝突で全く再生できなくなることも珍しくありませんでしたが、最終的には大分スムーズに十分な精度で再生できるようになったかと思っています。
まとめ
このツールのお陰でSRS-HG1のある生活を本当に楽しめるようになりました!
また、わざわざYouTubeで音ズレのあるビデオを探してきて音をあわせてみたのですが、やっぱり観る気持ちよさが全く違います。
今回はUI/UXにかなりこだわった結果、中々使いやすいものが出来たと思っていますが、まだまだ改善したい部分はありますので、少しずつ手を入れていきたいと思っています。
Amazon 1-Click を一時的に無効化して誤クリックを防止する拡張を公開しました(Firefox, Chrome)
Amazon 1-Click を一時的に無効化して誤クリックを防止する拡張の Firefox Add-on版を公開しました。
以前ご紹介したChrome拡張版は以下です
Chrome版公開のときの記事は以下
以下、おまけで開発メモなど。
Chrome拡張をFirefox Ad-onに再利用
2015年末から、Google Chrome・Opera向けに書かれたWebExtensionはそのままか、小規模な変更だけでFirefox・Microsoft Edgeでも動作するようになりました。偉い!
「小規模な変更」とは具体的にはブラウザによって若干異なるWebExtension APIのサポート状況の違いの調整です。今回はChrome拡張で使っていた sync storage がFireFoxではサポートされていなかったため local storage に変更しましたが、あとはそのままFirefoxでも動きました。こうしたプラットフォーム間の互換性の確保は実際にはかなり杜撰な事が少なくありませんが、、、これは本当に簡単でした。改めて偉い!
なおChromeとFirefoxの詳細なWebExtension APIの違いは以下で確認できます。
デベロッパー登録とアドオンの公開申請
ということで早速、以下の説明に従いChrome拡張の公開のときと同じくデベロッパー登録をしてアドオンの公開申請をしました。
developer.mozilla.org
Chrome拡張の公開の時との大きな違いは以下2点です。
- デベロッパー登録料なし(※ Chrome拡張は有料、この記事の時点で US$5)
- 公開までには人手によるコード審査とテストをパスする必要あり
アドオン公開申請1度目: 2日後にリジェクト
2016/09/13に1度目の公開申請をしましたが、その2日後にリジェクトされてしまいました。まだ承認待ち件数80超で突然リジェクトされたので、順番に関係なく明らかにリジェクトのものはすぐリジェクトしたりするようです。
リジェクトの理由は、Google Analyticsのスクリプトを内部で使っていることでした。使うならiframeで使ってくれと。
We do not allow the Google Analytics script to be included in the extension, you need to use a content iframe to include GA.
Further information: https://blog.mozilla.org/addons/2016/05/31/using-google-analytics-in-extensions/
更に「カスタマイズされたjQueryを使わないように」という指摘がありました。Bowerで取り込んだjQueryを使っていただけなのですが、何か誤解されたようです。これは残念でしたが、取り敢えずBowerによる管理は諦め、直接DLしてきたjQueryを読むように直しました。
アドオン公開申請2度目: 10日後に審査通過!
2016/09/16再度申請をして、2016/09/26にようやく承認されました。奇しくも私の誕生日でした!ちなみに奥様は帰国中で、久しぶりの一人きりの誕生日でした!
申請時の承認待ち件数は100件程度でしたが、週に2, 3度まとめて数十件減るだけでなかなか進みませんでした。。
なお審査対象者から「map fileは一応入っていたが、レビューの妨げになるので今後はソースをminifyしないように」というコメントが入っていました。実際エクステンションでminifyする理由はほぼありませんしね。Gulp/Gruntを使っているととりあえずuglifyしてしまうだけの話で。
まとめ
ということでだいぶ待たされはしましたが、大した手間もかけずFirefox Ad-onも公開できました!既にChrome拡張を公開している方は是非試してみて頂ければ。
シンガポールで中秋節(ミッドオータムフェスティバル)
多民族都市国家のシンガポールでは様々な国・宗教の催し物がありますが、やはり7割を超える中華系のイベントは一際盛り上がります。
今日は近隣のコンドミニアム合同の中秋節(ミッド・オータム・フェスティバル)のイベントに参加してきました。
日本のお月見と同じ時期の催しで、月餅(Moon Cake)を食べてランタンを灯して過ごします。
ファンクションルームで月餅やお茶、果物が振る舞われます。
基本的な月餅は味も形も日本のものと同じですがかなり大きいので、このように切り分けて食べるのが普通です。そして高い。これで1つ2,000円ぐらい。高級食材をふんだんに使った月餅などもあり、高級ホテルでは1つ10,000円超のものも売っています。
こちらは大人気の「ドリアン」月餅。一度妻が試食で知らずに食べて、卒倒しそうになっていました。。ドリアンって高いんですが、食べられないって言ってもシンガポリアンってやたら食べさせたがるんです。むしろ食べられないというと、喜々として勧めて来るんですよね、、、
配られたランタンをもって散歩。
帰り際に気づいたのですが、イベントの内容に「ポケモン狩り(Poke Hunt)」が!気づかなかったのですがどこかでやってたんですね。シンガポールでも Pokemon Go は大人から子供まで大人気です :-)
Amazonでの1-Clickボタン誤クリックを防ぐChrome拡張
Amazon 1-Click 防止のChrome拡張を公開しました。
Amazonで安心してお買い物を楽しみましょう!
本ツールはAmazonの1-Clickボタンを置き換えて、誤クリックによる購入を防止します。
※ 本ツールのご利用により発生したいかなる損害についても補償は致しません。ご了承いただける方のみご利用ください。<主な機能>
- 1-Clickボタンが「1-Clickボタンを表示」ボタンと置き換わります
- 「1-Clickボタンを表示」ボタンを押すと元の1-Clickボタンが表示されます
- アイコンクリックで機能のON/OFFを切り替えることが出来ます
似たようなものもあるにはあったのですが、納得行くものがなかったため自作しました。
それもそのはず、AmazonさんのサイトはHTMLコードが中々に汚い上に、商品検索ページがSingle Page Applicationだったり、非同期処理で1-Clickボタンが出てくる部分があったりと、一筋縄ではいきません。。。
ただ残念ながらこのツールも完璧という保証はできませんので、申し訳ありませんが本ツールのご利用により発生したいかなる損害も開発者は補償しないことをご了承ください。
開発のきっかけは私自身が先日誤って 1-Click ボタンを押してしまい、その場で注文が確定してしまったためです。仕事柄こういう間違いはあまりしないのですが、これは間違って押しても仕方ありません。
8月に始まったKindle Unlimitedをきっかけに最近Amazonのサイトを見る機会が大幅に増えました。しかし読み放題の対象書籍であっても「1-Clickで今すぐ買う」ボタンが表示されるため、私と同じように誤購入してしまう人はサービス開始当初から少なからずいるようでした。
誤購入を当てにしたと疑われる異常に高額な商品が出ていることも話題になりました。
しかも不親切なことにKindle本の購入をキャンセルしたい場合は、カスタマーセンターに連絡するしか方法がありません。更に怖いのは、「注文日から7日以内に限りAmazonの裁量にて返金」という曖昧な条件がついていることです。
Amazon.co.jp ヘルプ: Kindle本を返品する
つまり続けてキャンセルすれば悪質とみなされて返金を拒否される恐れがあるので、一度やってしまった私は慎重にならざるをえません。
なお以下の1-Click OFF設定時の表示の通り、Amazonの1-ClickはKindle書籍等のデジタル購入品では無効にできないのです。
もちろん本当はAmazonさんに対応頂ければ一番良いのですが、この デジタル購入品で1-Clickが無効に出来ない問題自体は数年前から指摘がありながら、未だ対応されていません。
しかし最近、商品ページの「読み放題で読む」の場所が若干改善されていたりと、全く対応が行われていないというわけでもないようです。
また私のKindle本返品依頼に応じてくださったカスタマーセンターの方の対応はとても親切で丁寧でした。誤購入してしまったら多少手間でも迷わずカスタマーセンターに連絡してみましょう。