ニコニコ動画をHTML5で見るbookmarklet


性懲りも無くニコニコネタです。

iPadでも結局Flashが搭載されなかったこともあって、最近Flashの代替手段としてHTML5がやけに押されているので、ものは試しでニコニコ動画FlashプレイヤーをHTML5で構成したプレイヤーに置き換えるbookmarkletを作ってみました。iPhone/iPadのvideoタグの動作がマシになってれば、iPhone/iPad上でも動くかもってな期待込みで。

使い方は、下記のbookmarkletニコニコ動画の再生ページ(http;//www.nicovideo.jp/watch/*)上で実行するだけです。実行すると標準のFlash製プレイヤーを、HTML5+javascriptで構成したプレイヤーに置き換えます。

javascript:(function(){var e=document.createElement("script");e.src="http://labs.isidesystem.net/nicoh5/nicohtml5.js";document.body.appendChild(e);})();

動作条件として、アップロードされた動画がh.264の形式であることが条件です。また、ブラウザについてもh.264をvideoタグでサポートしている必要があります。こちらの環境ではmacsafari4とchrome5、Windows XPのchrome4で動作を確認しています。


上が本家のFlash版プレイヤーで下が今回作成したHTML5版のプレイヤーです。mpeg4でアップロードされている動画は大体再生できるんですが、これまで再生できたのに再生できなくなる事もあって、結構不安定。コメントの再現性もあまり良くないですが、動画の方はFlashに比べれば結構滑らかに動きます。初代macbook air+safariだと、Flash版ではカクカクだった画像の動画が、HTML5ならヌルヌル動くあたり、ジョブスが「Flashビデオは遅い」と言ってしまうのもまぁ、わかります。(もちろん本家プレイヤが機能豊富すぎるというのもありますが)HTML5版プレイヤーの上下にニコ割枠とコメント入力欄がありますが、これはただの飾りですので機能しません。(^^;

動画URLの取得やNGリストの取得はXMLHttpRequestで行っていますが、コメントサーバは別ドメイン(msg.nicovideo.jp)となるため、今回はJSONPで取得できるよう、GAE上にコメントプロクシを作成し中継しています。動画情報を取得する際に得られるthread_idというパラメタを渡しますが、セキュリティ上は特に問題ないと思います・・・(自信なし)。

また、デフォルトではコメントはcanvasを用いて描画していますが、ついでにdivタグでコメントを再現するバージョンも作りました。このバージョンのbookmarkletは以下になります。(速度的にあまりメリットはありません)

javascript:(function(){NicoHTML5_OverlayType="dom";var e=document.createElement("script");e.src="http://labs.isidesystem.net/nicoh5/nicohtml5.js";document.body.appendChild(e);})();

とりあえず、卒論と卒論発表が終わった勢いで作ってしまいましたが、ドワンゴ内でもHTML5製プレイヤーを作っている様(http://twitter.com/kawango/status/8668680800)なのでそちらに期待。

一応、今回作成したソースコードは、コメントプロクシ含め、github上に置いておきます。

2010/5/17 追記

ニコニコ動画の動画取得用のAPIが、www.nicovideo.jpからflapi.nicovideo.jpにリダイレクトされるようになったため、Ajaxを用いた動画取得が出来なくなった模様です。

これといった解決策も思い当たらないので、今のところ当ブックマークレットは利用できません。ご了承ください。

2010/5/28 追記

とりあえず再生までに2手間ほど増やすという(ユーザが動画URL文字列コピー&ペースト)超暫定的措置でとりあえずAPI変更に対応。こんな面倒くさいことしなくても済むようにするには、flapi.nicovideo.jpがXHR2に対応してくれるとか期待するしかないかなー、と。(本家のHTML5対応が一番なんですが)

あと、iPadではiCab Mobileを利用してAPI対応させたモジュールを開発してくれた方がいるようです。iCab Mobileを持っている人はこちらを使った方が幾分か簡単です。

http://www37.atwiki.jp/icabmobilemodule/pages/20.html

MacBook Airが来た

そういうわけで先日USのAppleStoreで注文したMacBook Airがようやく今日届きました。結局関税は2700円だったので、購入にかかった費用はだいたい113,000円ということになります。

Appleから転送業者のgooppingまではそこそこ順調だったんですが、goopingへの支払いがカードのつもりが振込になっていて、発送が数日遅れたり、gooppingを出荷して実際に海を渡るのに1週間かかったりしたため、結局注文から半月以上かかってしまいました。支払が遅れてなければだいたい2週間位だったかと思います。goopping自体はもう少しシステムが分かりやすければ良いんですが、質問等へのレスポンスは早かったので比較的好印象。送料もう少し高くても良いんでほかの運送業者使えるとなお良いんですけどね。

整備済み品なので、Apple製品でおなじみの美しいパッケージでのお出迎えはありませんが、製品自体は新品同様。ちゃんとフィルムで保護されて傷一つなく、アルミなボディがとっても美しいです。

しかし軽い。ここしばらくMacBook Proを毎日持ち歩いていたこともあって、この軽さは驚異的です。R3の方が実際のところは軽いんですが、重さが上手く分散されているためかあまり重さを感じません。それに、この重さにフルキーボードで13インチ液晶でMacなんだから、R3よりちょっと重いのなんて全然我慢できます。

MacBook Proと比べると、やっぱり薄さは一目瞭然。というかよくこのでかいマシンを持ち歩けてたなぁ、と自分で自分を褒めたくなります。今後は研究室にはMacProがあるので、自宅母艦として使う感じですかね。(mac miniは遊び用)

とりあえず今は一通りセットアップ終えて、MacBookProから必要なデータを移しつつ作業を行ってみたりしています。結構ファンがうるさかったり、USBポートへのアクセスが悪い(ちょっと太いUSBメモリとか刺さらない)以外は概ね満足。ファンがうるさいのはcoolbook導入して多少緩和しましたし。

もうじきWWDCなので、多分新しい何らかのMacBookの発表があると思いますが、まぁ11万円でUSキーボードのAirが買えた、ということでそんなに悪い買い物ではなかったんじゃないかな、と思います。Airの新型出るかもわからないですし。

とりあえずこのAir君には最低2年は頑張ってもらいたいところです。

Apple Store(US)で整備済み品のMacBook Airを注文してみた

先日購入したhp mini 2140があんまり夢見心地が良くなかったので、早々に手放して普通にMacBookを購入する事にしました。

最初はユニボディのMacBookを買おうと思ったんですが、2.0kgはやっぱり重い。USキーボードで買おうとするとAppleStoreしか選択肢がなく、定価近くかかるし。mini 2140を手放したとはいえ少し足が出てしまってるので、安く手に入れたい。

そういうわけで安く手に入れる方法として、この記事をみて個人輸入を検討してたのですが、調べてみるとアメリカのApple Store整備済み品の初代MacBook Airが$999とかなり安い。整備済み品でもAppleの保証は1年付くし(アメリカで買って日本で有効かは知らない)、なんといってもUSキーボードでこの値段。これは買うしか無い。

早速、上の記事と同様に、代行業者をgooppingにして購入。アメリカのAppleStoreでは日本の住所のクレジットカードは使えない、とあちこちで書かれてたのでちと不安だったんですが、大昔にジャスコで作ったイオンカード(Visa)で普通に決済できました。

現在、gooppingの配送センターに到着して発送待ち中。ちなみに予想される合計金額は

   本体+消費税 ¥104,625 ($999.00 + $68.43 $1=¥98)
 + 国際送料      ¥5,870
 + 関税           ¥3000位?
 ------------------------------------------
               ¥113,495

とまぁ、日本で初代MacBook Airを特売で買うのと同じ位?で購入できるかな、という感じ。いろいろ含めるとそこまで得ではないですね。時間かかるし。

ともかく、来週中に届くのwktkしながら待ちたいと思います。

moVbile経過

とうとう申請して1ヶ月経ってしまいましたが、依然として公開できそうな気配もなく。(^^;

実は3.0対応後、現在までに3回ほどreject喰らいまして、現在4度目のトライとなっています。

rejectの内容はまぁ単純で、不適切なコンテンツが含まれている、というもの。R-18タグや不適切と見られる単語が含まれる動画を排除したりしてるんですが、釣り動画がかなり厄介で。reviewerに釣り動画なんて分かろうはずも無いですし。そういうわけで、怪しそうな単語が入ってる動画は根こそぎ排除する様になっています。(本家アプリでR-18見られるじゃんというツッコミは、reviewerには通用しないので我慢)

もう1つ、3回目で新しく出たrejectの理由が3G回線で帯域食い過ぎ、というもの。まぁこちらは想定してたので、3G利用時にはかなりビットレート抑えて配信するように変更して、現在再申請中です。

もういい加減面倒なのでcydiaで行こうかとも思ったりするんですが、1個くらいはAppStoreに出してみたいし、今はiPhoneをJBしてないのもあって若干躊躇しています。

まぁ、今は本家があるから見られない訳でもないし、ノンビリやろうかなという感じです。

moVbile進捗

他にやる事が多かったのであんまり時間を取れなかったんですが、とりあえず3.0修正付けてもう一度審査に出しました。

機能的にはあんまり変わってないので特筆すべきことは無いんですが、内部をかなりいじったため、プレーヤ部分のコードがぐちゃぐちゃに。(^^;そのうちリファクタリングが必要だなー。

moVbile一旦取り下げ

Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告 | TechCrunch Japan

上のニュースを見て、そういえば3.0でのテストを行っていないことに気付きました。早速、SDK落としてきてやってみたところ見事に再生部分で強制終了。(^^;;;;

そういうわけで、このまま審査しても確実に落とされるので一旦取り下げます。今のやり方だと仕様変更に弱すぎるので若干アプローチを変えてみてもう一度審査に持ち込もうかと思います。

hp mini 2140

osxが動いたら嬉しいな、という夢を見たんだ。

ただ、今のところ、

  • CPUファンが動かない
  • スリープ移行できない
  • 有線LAN使えない
  • 日本語キーボードが英語キーボードとして認識される(まぁ、これは英語キーボードにする予定なので無問題)

という特に上2つのきつい問題があるので、常用はちと難しい。ただまぁ、そのうち何とかなると思ってるので楽観的だったり。

とりあえず思ったよりサクサク動いているので、早いところmacbook proを持ち歩くという地獄から脱却したい。