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

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

そのうち、業を煮やした一部のユーザーがGeckoでH.264再生を行なうためのアドオンとかプラグインを作るんじゃないかとか予想w

2010-04-08 18:36:57
@mitsugu_oyama

@saneyuki_s Geckoに?それはGeckoをポーティングしてNon Geckoにしないとだめじゃない?

2010-04-08 18:39:58
:tetsuharu @saneyuki_s

@mitsugu_oyama GeckoでというかFirefoxで、といいいましょうか、videoタグの問題を、アドオン形式でffmpegなどを使用できるようにして、なんとか再生しようとする人が現れてもフシギじゃないな、と。

2010-04-08 18:47:17
@mitsugu_oyama

@saneyuki_s audio要素やvideo要素等のDOM要素で再生するならpluginではだめですね。やはりGeckoにコンポーネントを追加しないと。object要素を使ったりembedで張り付けるなら現状のplugin方式となんら変わりないですし。

2010-04-08 19:04:13
@mitsugu_oyama

@saneyuki_s 私もGeckoの詳細を理解しているわけではないのですが、audio要素、video要素、つまりDOM要素として認識させるのであれば、

2010-04-08 19:11:13
@mitsugu_oyama

@saneyuki_s サードパーティのコンポーネントで実装するのであっても、結局はGeckoを経由せざるを得ないので、論理的にはGecko自体をそのコンポーネントに対応させる必要があるはずです。

2010-04-08 19:11:15
@mitsugu_oyama

@saneyuki_s ですからaudio要素、video要素をpluginで(ffmpegでもいいですが)対応させるにはGeckoそのものの再デザイン、コードの改変が必須になるかと。

2010-04-08 19:11:17
@mitsugu_oyama

@saneyuki_s ただ私も手持ちの少ない情報でtweetしているので、加藤さんや中野さん、その他のGeckoコミッターの方々から「いいかげんなことを言うな」とお叱りをうけるかもです (^_^;)

2010-04-08 19:14:00
@mitsugu_oyama

@saneyuki_s たしかAMOのどこかにGeckoのモジュール構成と各モジュールの管理モジュールに関する記述があったと思うのですが、ちょっと見付けられていません。

2010-04-08 19:20:21
@mitsugu_oyama

@saneyuki_s さすがにaudio、videoの各DOM要素がどのC++のクラスに実装されているかまでは、今はわかりません。Geckoをハックしないとw

2010-04-08 19:31:13
@mitsugu_oyama

@saneyuki_s でアドオンで様々なコーデックを再生するなら、やはりgstreamerが現実解かなぁ、と思うです。まだ調べてませんがjs-typesでいけるなら楽ですし、あるいはgstreamer XPCOMラッパーをJavaScriptで作るというのもありかも知れません。

2010-04-08 19:35:04
@mitsugu_oyama

@saneyuki_s ただしDOM要素として扱う方法がない。

2010-04-08 19:36:14
@mitsugu_oyama

@saneyuki_s 逆に言えば拡張ならばGeckoに囚われなくてすむので、AMOレビューを通過できないであろうことを前提で(w)、

2010-04-08 19:45:35
@mitsugu_oyama

@saneyuki_s ffmpeg、gstreamer、etcを利用することでvorbisやtheora以外のコーデックを再生可能にすることは技術的には可能でしょう。

2010-04-08 19:45:38
@mitsugu_oyama

@saneyuki_s それとコンテンツ内のvideo要素、audio要素にGecko非対応のコーデックが記載されていたら、拡張を使ってそれらのDOM要素からURIを取得、取得したURIを拡張側で再生、という方法も思いつきました。

2010-04-08 19:45:56
@mitsugu_oyama

@saneyuki_s あるいはコンテンツのDOM要素内にGecko非対応のコーデックを発見したら、拡張がURIの示すファイルのコーデックをvorbis、theoraに変換してoggコンテナに格納、保存、DOM要素のURIを書き換えてoggを再生、とか。

2010-04-08 19:49:11
@mitsugu_oyama

@saneyuki_s どちらにせよAMOレビューを通過できなさそうな邪悪な方法ですw

2010-04-08 19:51:14
@mitsugu_oyama

@saneyuki_s ちなみに邪悪というのはGecko的にではなく、AMOレビューチーム的にですw

2010-04-08 19:53:50
:tetsuharu @saneyuki_s

@mitsugu_oyama 前者はともかく、後者はパフォーマンス的にも、「そもそもそこまでやるなら、そのコーデックを対応しているのブラウザでページ開けよ」というレベルの黒魔術ですねw

2010-04-08 19:58:06
@mitsugu_oyama

@saneyuki_s まぁ、そうですねw 特に後者は変換の結果作成されたoggを、どうやってGeckoに認識させるの?という課題もありますし。ページをリロードしたら戻っちゃうんでw

2010-04-08 20:01:10
:tetsuharu @saneyuki_s

@mitsugu_oyama ローカルプロキシを建てて、期間指定で変換したoggをキャッシュさせるとかw そもそも変換の結果、ファイルの品質が劣化してしまいますし、マルチメディアコンテンツに対する手法としてはきついですねw

2010-04-08 20:04:11
@mitsugu_oyama

@saneyuki_s ローカルプロキシのアイディアは悪くないかもです。プロキシ側でoggへの変換とコンテンツの書き換えを行うというのは、これまでの方法よりは"技術的には"筋がいいと思います。が、問題はユーザさんが入れてくれるかどうかw

2010-04-08 20:07:49
:tetsuharu @saneyuki_s

@mitsugu_oyama 「ニコニコ動画のvideoデータをキャッシュする」ローカルプロキシなどは既にありますが、特定のサイト限定だから使うのであって、どんなサイトでも、となると、よほど酔狂なFirefox信者しか使わない気がw

2010-04-08 20:13:33
@mitsugu_oyama

@saneyuki_s saneyukiさん作のTAGでの動作を想定されてます?

2010-04-08 20:09:17