Gecko(Firefox)で、ネイティブサポートしていないコーデックを再生できるようにできないかの談義

Gecko(Firefox)で、ネイティブサポートしていないコーデックを再生できるようにできないかの談義
h.264 gecko Firefox アドオン Mozilla HTML5
3548view 3コメント
このまとめをお気に入りにして応援しよう!
0
:tetsuharu @saneyuki_s
そのうち、業を煮やした一部のユーザーがGeckoでH.264再生を行なうためのアドオンとかプラグインを作るんじゃないかとか予想w
@mitsugu_oyama
@saneyuki_s Geckoに?それはGeckoをポーティングしてNon Geckoにしないとだめじゃない?
:tetsuharu @saneyuki_s
@mitsugu_oyama GeckoでというかFirefoxで、といいいましょうか、videoタグの問題を、アドオン形式でffmpegなどを使用できるようにして、なんとか再生しようとする人が現れてもフシギじゃないな、と。
@mitsugu_oyama
@saneyuki_s audio要素やvideo要素等のDOM要素で再生するならpluginではだめですね。やはりGeckoにコンポーネントを追加しないと。object要素を使ったりembedで張り付けるなら現状のplugin方式となんら変わりないですし。
@mitsugu_oyama
@saneyuki_s 私もGeckoの詳細を理解しているわけではないのですが、audio要素、video要素、つまりDOM要素として認識させるのであれば、
@mitsugu_oyama
@saneyuki_s サードパーティのコンポーネントで実装するのであっても、結局はGeckoを経由せざるを得ないので、論理的にはGecko自体をそのコンポーネントに対応させる必要があるはずです。
@mitsugu_oyama
@saneyuki_s ですからaudio要素、video要素をpluginで(ffmpegでもいいですが)対応させるにはGeckoそのものの再デザイン、コードの改変が必須になるかと。
@mitsugu_oyama
@saneyuki_s ただ私も手持ちの少ない情報でtweetしているので、加藤さんや中野さん、その他のGeckoコミッターの方々から「いいかげんなことを言うな」とお叱りをうけるかもです (^_^;)
@mitsugu_oyama
@saneyuki_s たしかAMOのどこかにGeckoのモジュール構成と各モジュールの管理モジュールに関する記述があったと思うのですが、ちょっと見付けられていません。
@mitsugu_oyama
@saneyuki_s さすがにaudio、videoの各DOM要素がどのC++のクラスに実装されているかまでは、今はわかりません。Geckoをハックしないとw
@mitsugu_oyama
@saneyuki_s でアドオンで様々なコーデックを再生するなら、やはりgstreamerが現実解かなぁ、と思うです。まだ調べてませんがjs-typesでいけるなら楽ですし、あるいはgstreamer XPCOMラッパーをJavaScriptで作るというのもありかも知れません。
@mitsugu_oyama
@saneyuki_s ただしDOM要素として扱う方法がない。
@mitsugu_oyama
@saneyuki_s 逆に言えば拡張ならばGeckoに囚われなくてすむので、AMOレビューを通過できないであろうことを前提で(w)、
@mitsugu_oyama
@saneyuki_s ffmpeg、gstreamer、etcを利用することでvorbisやtheora以外のコーデックを再生可能にすることは技術的には可能でしょう。
@mitsugu_oyama
@saneyuki_s それとコンテンツ内のvideo要素、audio要素にGecko非対応のコーデックが記載されていたら、拡張を使ってそれらのDOM要素からURIを取得、取得したURIを拡張側で再生、という方法も思いつきました。
@mitsugu_oyama
@saneyuki_s あるいはコンテンツのDOM要素内にGecko非対応のコーデックを発見したら、拡張がURIの示すファイルのコーデックをvorbis、theoraに変換してoggコンテナに格納、保存、DOM要素のURIを書き換えてoggを再生、とか。
@mitsugu_oyama
@saneyuki_s どちらにせよAMOレビューを通過できなさそうな邪悪な方法ですw
@mitsugu_oyama
@saneyuki_s ちなみに邪悪というのはGecko的にではなく、AMOレビューチーム的にですw
:tetsuharu @saneyuki_s
@mitsugu_oyama 前者はともかく、後者はパフォーマンス的にも、「そもそもそこまでやるなら、そのコーデックを対応しているのブラウザでページ開けよ」というレベルの黒魔術ですねw
@mitsugu_oyama
@saneyuki_s まぁ、そうですねw 特に後者は変換の結果作成されたoggを、どうやってGeckoに認識させるの?という課題もありますし。ページをリロードしたら戻っちゃうんでw
:tetsuharu @saneyuki_s
@mitsugu_oyama ローカルプロキシを建てて、期間指定で変換したoggをキャッシュさせるとかw そもそも変換の結果、ファイルの品質が劣化してしまいますし、マルチメディアコンテンツに対する手法としてはきついですねw
@mitsugu_oyama
@saneyuki_s ローカルプロキシのアイディアは悪くないかもです。プロキシ側でoggへの変換とコンテンツの書き換えを行うというのは、これまでの方法よりは"技術的には"筋がいいと思います。が、問題はユーザさんが入れてくれるかどうかw
:tetsuharu @saneyuki_s
@mitsugu_oyama 「ニコニコ動画のvideoデータをキャッシュする」ローカルプロキシなどは既にありますが、特定のサイト限定だから使うのであって、どんなサイトでも、となると、よほど酔狂なFirefox信者しか使わない気がw
@mitsugu_oyama
@saneyuki_s saneyukiさん作のTAGでの動作を想定されてます?
残りを読む(14)

コメント

:tetsuharu @saneyuki_s 2010年4月8日
teramakoさんから「XBLではどうか」との指摘があったので追加。
:tetsuharu @saneyuki_s 2010年4月9日
誰でも編集できるようにしているので、関連するものがあれば勝手に追加しても大丈夫です。
Piro/Linuxコマンド操作解説マンガ連載中 @piro_or 2010年4月9日
embedに置き換えるというのはだいぶ本末転倒な感じがしますね。プラグイン不要、DOMで細かく制御できる、canvasなど他の技術と連携できる、あたりがvideo/audioの存在意義だと思うんですが、embedで代替する場合DOMでの制御以外は実現できなさそうですので。
ログインして広告を非表示にする
ログインして広告を非表示にする