共有メディアでは、レンダリングエンジン「WebKit」で Web のコンテンツを表示します。
WebKit
WebKit は、Mac や iOS の Safari で使用されている HTML のレンダリングエンジンです。
それらと同じ表示機能を持つものが、セカンドライフビュアーの中に入っています。
セカンドライフビュアーでは WebKit を直接扱うのではなくて、QT4 の QTWebKit を介して WebKit を利用しています。
Qt Project
QtWebKit
LLQtWebKit
http://wiki.secondlife.com/wiki/LLQtWebKit
Qt4 自体は Qt 4.5 の段階で Cocoa に対応しているのですが、
Qt 4.5.3: What's New in Qt 4.5
http://doc.qt.digia.com/4.5/qt4-5-intro.html
QTWebKit の描画には旧来の QuickDraw が利用されています。
Flash Player は 11.8 の時点で、この QuickDraw での描画を“レガシーなコード”として切り捨てました。
Bug#3597462 - media streaming with FlashPlayer in SecondLife viewers (SL viewer, Firestorm): video screen stays black, but sound is ok
https://bugbase.adobe.com/index.cfm?event=bug&id=3597462
このため Flash Player 11.8 以降がインストールされている環境では、セカンドライフビュアーの内蔵 Web ブラウザで、Flash コンテンツの表示が出来なくなってしまいました。
これが、Mac 版セカンドライフビュアーで Flash のコンテンツが見れない原因です。
2 年前に、この Qt の Flash の問題を修正したという記事はあるのですが、
Qt Support Weekly #26 – Flash Support on Mac | Qt Blog
Qt 4.8.x でも、なぜかこの内容は反映されていないようです。
[#QTBUG-32931] Latest Flash Player for OS X not working with Qt 4.8.n applications. - Qt Bug Tracker
https://bugreports.qt-project.org/browse/QTBUG-32931
セカンドライフビュアーで使用されている現在の Qt Webkit バージョンは、4.7.1 です。(Second Life 3.7.22 (297128) 時点)
このため、セカンドライフビュアーの WebKit では、Flash のコンテンツの描画が出来ない状況が依然として続いています。
Qt は現在、バージョン 5 に移行しています。
Qt5 では、この問題は解決しています。
(この写真は、Qt5/QtWebKit で私が作成したテストプログラムのものです。YouTube の Flash の動画を再生しているところです。)
また、HTML5 ビデオにも対応していますので、最近の Flash ビデオを使わない動画の配信でも、問題ありません。
じゃあ、Qt5 にしたら解決するんじゃない?というのが当然浮かぶと思うのですが…、、、
リンデンラボは現在、これまでの WebKit から Chrome ベースの「Chromium Embedded Framework」(CEF)へ、内蔵 Web ブラウザのレンダリングエンジンを変更するという方針転換を行っています。
chromiumembedded - A simple framework for embedding Chromium-based browsers in other applications. - Google Project Hosting
これ自体は悪いことではないと思うのですが、
[#OPEN-218] Change web implementation to Chrome Embedded Framework - Second Life Bug Tracker
という風に、完成にはまだまだほど遠い…という感じです@@
Qt5、CEF、どちらに進んでも Flash の問題は解決するはずなのですが、残念ながら現状は、時間が掛かる方が選択されてしまっている状態で、Mac ユーザの悩みはまだまだ続きそうです…><
ツイート |
0 件のコメント:
コメントを投稿