YouTube HD Suiteがうまく動かなくなっていたので久しぶりにアップデートしました。といっても、自動更新の機能を導入しているのでインストールしていただいている方達はすでに最新版に更新済だと思います。そして、なんと累計40万インストールを超えていました。更新分もカウントされてしまっているのでユニークユーザ数とは大きく離れているとは思いますが、これだけたくさんの人に使ってもらえるソフトウェアに携わっているのは嬉しいことです。
さて、今回のアップデートはYouTube側の仕様変更により、ダウンロード自体と、常に高画質再生という本スクリプトのメイン機能が動かなくなるというクリティカルなものだったので根本ロジックもいくつか直しました。詳しくは続きに書きますので技術面気になる方はどうぞ。
インストール、アップデートは下記URLからお願いします。
http://userscripts.org/scripts/source/39167.user.js
※Firefox+Greasemonkey、Safari+GreaseKit、Google Chromeで動作します。
get_videoが使えなくなった?
ここから技術的っぽいつぶやきになるので興味ない人はスルーでお願いしますw
今まで、ダウンロードはget_videoというAPIを叩いていたのですが、今月前半で利用できなくなってしまったようです。実は以前にも使えなくなったことがあったのですが、「asv=*」という謎のパラメータを追加することで使い続ける事ができていました。このAPIは「fmt=*」で任意の画質の動画が取り出せたので、iPod用や携帯用など、PC画面では使わないであろう画質についてもダウンロード可能なリンクを提供していたのですが、これが使えなくなったことで利用できなくなりました。
特にVGAサイズのMP4でちょうどiPodにちょうどよかった「fmt=18」が使えないのは残念に思っている方がたくさんいると思います。ボクは主にPCで見ますし、モバイル用には自分で変換しているのでいいのですが、ダウンロードしてそのままiPod(iTunes)に突っ込むって人には痛い変更かも。ってか、iPodってHD(720p)の動画って再生できないのかな?
fmt=画質が使えなくなった?
get_videoに加え、再生ページのURLに「fmt=*」を加えて任意の画質で再生できるパラメータも動かなくなっていました。これはユーザーさんから教えてもらったのですが、YouTube側がなぜこのような変更をしたのかはよく分かりません。代替として「hd=1」という高画質再生のパラメータを使うようにしました。720p以下の動画であれば存在している最高画質で再生してくれるのでほぼ同等の機能なのですが、1080p画質を持っている動画に関しては720p再生になってしまうようですでに要望がでています。個人的にはブラウザでストリーミング再生するのであれば720pまでで充分だと思っているので、それほど重要視していませんが、何か他に方法があるのであれば実装検討したいと思います。
まとめ
実は、12/11の更新の前に12/07くらいにも更新をかけてました。これは、新設されたNHK番組コレクションというチャンネルにアップされている動画がうまくダウンロードできない件に対応しようと思ったんですが、結局これは無理でした。このチャンネルにUPされているものは適切に著作権保護処理が施されており、ダウンロードURLが解析できずDRM付きのストリーミング再生のみ許可するような作りになっていました。
技術は進歩していくばかりですが、ボクのスタンスとしてはHTMLソースから簡単に類推できない範囲の動画までダウンロード提供するようなことはしないつもりです。それこそ違法って言われちゃいますし。
これからも可能な範囲で使い勝手の向上を図っていきたいと思います。
最近、何かと忙しくて自分の開発に時間を使えないのですが、ちょっとヤガーをやる気にさせてみるかとか、クリスマスも近いし労ってやるか、という人はボクのウィッシュリストの中からじゃんじゃんおごって下さいwダメかこういうのw
・yagerにプレゼント係