So-net無料ブログ作成
RSS [RSS1.0] [RSS2.0]
共謀罪を含む改悪組織犯罪処罰法は
【「共謀罪」法 衆参両院議員の投票行動(東京新聞 2017/6/16)】

Internet Explorerで見るとUstreamが真っ黒

 2016/9/29にUstreamのチャンネルをInternet Explorer 11(以下、IE)で見ようとしたらライブ映像が真っ黒だった(参照)。毎日見ているチャンネルで、前日の同じ時間は問題なかった。以前も同じことがあった(2016年5月28日のツイート)。前回は問題のあるフリーウェアをインストールしたことでIEに異常が生じた可能性があったので、そのことを中心に原因を探ってフリーウェアとは無関係だと推測した(参照)。結局は原因が分からないまま、しばらくしたら改善した。今回は、IEの状態は前日と同じである。Ustreamの側に何らかの変化があったと考えるのが妥当だろう。そこで、ユーザーの側で対処する方法がないか探った。この記事を書いた翌日にはUstreamの側で改善しているかもしれないが、何度も同じことが起こりそうなので記録しておく。

 私がUstreamの真っ黒状態を確認したのは自作の埋め込み動画だったが、Ustreamの公式ページで見ても次のように真っ黒だったことを確認した。

UstreamのチャンネルをIEで見ようとしたら映像が見ると真っ黒
(クリックすれば拡大)

 Firefoxで見れば問題ない。同じ問題に遭った人は他にもいて、EdgeやChromeでは問題が生じてないらしい。どうやら真っ黒になるのはIEを使って見た時だけらしい。丸一日の試行錯誤の末、次のような情報を見つけた。

エミュレーション ツールを使うと、さまざまなドキュメント モード、ユーザー エージェント、画面サイズ、画面解像度、GPS の位置座標で、Web ページがどのように動作するかをテストできます。
(中略)
IE のみで発生し他のブラウザーでは発生しないエラーをデバッグする場合は、ユーザー エージェント文字列の変更を最初に試してみることをお勧めします。ユーザー エージェント文字列は、基本的には、IE 自体を異なるバージョンまたは別のブラウザーとして識別するように、IE に命令する方法です。
フロントエンドやバックエンドのスクリプトが、使っているブラウザーを検出する場合があります。また、コード内でブラウザー検出を使っていない場合でも、サード パーティの JavaScript ライブラリやサーバー側のスクリプトを使ってブラウザー検出を行うことができます。
ブラウザー検出の問題点は、Web ページの機能のスケール バックや変更を行うためにブラウザー検出が使われる場合があることです。このような機能のスケール バックや変更は、機能検出を使って検出したブラウザーの実際の機能ではなく、スクリプトの開発者が想定するブラウザーの機能に基づいて行われる可能性があります。このため、予期しない動作が発生する場合があります。これは、Microsoft Internet Explorer 6 を対象としたコードが IE11 では異なる動作をしたり、お使いのブラウザーで完全にサポートできる機能がスクリプト開発者の想定が原因で機能しない可能性があるためです。
ユーザー エージェント文字列の変更によって問題が解決された場合、ブラウザー検出が原因である可能性があります。
ブラウザー、画面サイズ、GPS の場所をエミュレートする (Windows)

 実際、この情報を見つける前に「F12開発者ツール」(キーボードのF12を押して表示)の「エミュレーション」タブで「ユーザーエージェント文字列」の所を「既定」から「Mozilla Firefox」や「Google Chrome」に変えたらライブ映像が表示された。上の引用は開発者ツールの「エミュレーション」の使い方を探していた時に見つけたものである。

「F12開発者ツール」の「エミュレーション」タブ
(クリックすれば拡大)

 上に引用した日本語を読んでもIEで見た時にUstreamの映像が真っ黒になった原因は分かりにくいのだが、要するにUstreamのスクリプト開発者がIE11では機能しないコードを使っていて、ブラウザ検出でIE11を検出してもIE11用にコードを変更するようなスクリプトになっていないから問題が生じたと解釈した。間違っているかもしれないし、スクリプトのどの部分に問題があるのかは調べてない。

 さて、これで問題が解決したと思ったのだが、この「F12開発者ツール」はエミュレーション後に閉じると「ユーザーエージェント文字列」が「既定」に戻ってしまう。標準でこれを固定する方法がないか探したのだが見つからなかった。そこで、「ユーザーエージェント文字列」を変更したままに使い続けられるソフトを探したら見つけた。ググった結果、【IEのユーザーエージェントを変更したい 拡張ツールで便利なのない?】を見つけた。ここで紹介されてるリンク先の【Bayden Systems - UAPick】を確認したら「System Requirements Internet Explorer 8, 9 or IE10/IE11 (Desktop mode only) 150kb disk space」と書いてある。使用中のIE11でも動作しそうなのでインストールして確認した。

「アドオンの管理」ウィンドウ
(クリックすれば拡大)

メニューバーの「ツール」メニュー
(クリックすれば拡大)

「Select User-Agent string」ウィンドウ(デフォルト)
(クリックすれば拡大)

 IEのメニューバーの「ツール」メニューの中に「Set UA String」というメニューがあるので、選択すると「Select User-Agent string」ウィンドウが現れる。ここで注意が必要である。「Select User-Agent string」ウィンドウがIEの後ろに隠れたりすると、再表示させるのに一手間かかる。最適な方法は分からないが、私は「タスクマネージャー」を使って再表示させた。
 さて、インストールした直後は「UA」欄にIEのデフォルトのユーザーエージェント文字列が入力されている。私の場合は「Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko」だった。変更するには「Templates」のセレクトメニューから選択して「Reuse this UA string for new Windows」にチェックを入れて「Save Changes」ボタンをクリックすれば良い。「Reuse this UA string for new Windows」にチェックを入れないと、IEを閉じて再起動したら「F12開発者ツール」と同様にデフォルトに戻ってしまう。変更したユーザーエージェント文字列を継続して利用するのなら、「Reuse this UA string for new Windows」にチェックを入れるのを忘れてはいけない。デフォルトに戻したければ、次回にチェックを外して「Save Changes」で保存すれば良い。「UA」欄がどんな文字列であれ、IEを再起動した後はデフォルトに戻っている。単に文字列を確認した場合もチェックを入れずに閉じる(保存する)と次回からはデフォルトに戻ってしまうので注意が必要である。

 「Select User-Agent string」ウィンドウで「Templates」のセレクトメニューから選択すれば、該当するユーザーエージェント文字列が「UA」欄に入力されるのだが、私はどれを選択したら良いか分からなかった。そこで、実際に使っているFirefoxのユーザーエージェント文字列を入力して保存することにした。Firefoxのユーザーエージェント文字列はJavaScriptのnavigator.userAgentを使えば確認できるらしい。

JavaScript:
今のユーザーエージェント文字列:<script>document.write(navigator.userAgent);</script>
結果:
今のユーザーエージェント文字列:

 私が使っていたFirefoxのユーザーエージェント文字列は「Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0」だったので、これを「Select User-Agent string」ウィンドウの「UA」欄に入力して保存した。

「Select User-Agent string」ウィンドウ(Firefox49.0に変更)
(クリックすれば拡大)

ユーザーエージェント文字列の変更確認

 さて、Ustreamの仕様変更か何かが原因でIEで見た場合にライブ映像が真っ黒になっていても対処できるようになった。では、いつまで「ユーザーエージェント文字列」を変更したままにしておけば良いのだろうか。変更したままだと、Ustream側が改善しても気付かない。5/28に起こった真っ黒現象の時は、改善前も後も、Ustream側から何の報告も無かったように思う。今回も何の報告も無しに改善されるのかもしれない。「ユーザーエージェント文字列」を変更したままIEを使い続けた状態で、「ユーザーエージェント文字列」がデフォルトでもライブ映像が正常に表示されるようになったことを確認するにはどうしたら良いかが、今の私の悩みである。

追記(2016/10/1):
 午前7:30 に確認したら、UstreamのチャンネルをIEで見るとライブ映像が真っ黒で正常に表示されてない現象は無くなっていた。Ustreamの公式ページにもツイッターのUstreamのアカウント@Ustreamにも報告は無い。


タグ:不具合 ustream
nice!(0)  コメント(0)  トラックバック(0) 
カテゴリー:サイトを見て
共通テーマ:パソコン・インターネット

読者の反応

nice! 0

sonet-asin-area

コメント 0

コメントを書く 

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。
captcha

トラックバック 0

トラックバックの受付は締め切りました