たまにブラウザ上の動画が乱れてちゃんと表示できていないのに気がついた。
モザイクのようになっているというか、斜めに段ずれしているというか。
原因はよくわからないが見られないのは一部の動画だし、まぁ見られないなら見られないでいいやと放置していた。
でもさすがになんか気持ち悪いので対処法を探ってみました。
動画が乱れる症状と原因
いまいち状況を把握していなかったのであらためて確認。
youtubeやvimeo、twitterなんかの動画は問題なく表示される。
どうやら imgur の gifv 再生に問題が発生しているようだ。
試しに Firefox Quantum(58.0.2)、Firefox ESR(52.6)、Chrome(64)、Safari(11.0.3)で確認してみると、Safariのみ問題なく表示・再生された。
その他は全滅。
同じように画面が乱れている。
そもそも「gifv」とはなんぞや?
GIFVs have the high quality of a video mixed with the simple functionality of a GIF. This means they
- load quickly
- loop forever
- and have no sound–just like a GIF!
- All GIFs over 2MB will be converted to GIFV on upload. You can upload GIFs up to 200MB.
(imgur help「What is GIFV?」より一部引用)
アップロードされたアニメーションGIFを、よりサイズの小さいWebMやMP4形式に自動変換して表示するもの、らしい。
つまりはより早くより軽く、気軽にアニメーションGIFをあつかえる仕組みといったところか。
実際 gifv ファイルをのぞいてみると普通にタグが書かれたhtmlファイルであることがわかる。
High Sierraのグラフィックドライバ関連のバグを疑っていたけどどうやら違うらしい。
単にブラウザ側が適切に処理できていないのが原因なようだ。
imgurの画面が乱れた時の対処法
Firefoxでの設定
Firefoxメニュー → 環境設定 → 一般 → パフォーマンス において、
- 「ハードウェアアクセラレーション機能を使用する(可能な場合)」にチェック
- URLバーに「about:config」と入力し、
media.hardware-video-decoding.enabled を検索 - その値を false に変更
- Firefoxを再起動
Firefox ESRもこれに同じ。
Chromeでの設定
Chromeメニュー → 環境設定 → 詳細設定 → システム において、
- 「ハードウェアアクセラレーションが使用可能な場合は使用する」をオン
- URLバーに「chrome://flags/」と入力し、
Hardware-accelerated video decode を検索 - その値を Disabled に変更
- 「今すぐ再起動」をクリックしてChromeを再起動
これで問題なく表示される。
パフォーマンス改善も?
最近すこしyoutubeの動画がカクカクすることにも気づいていた。
720p 60fpsで再生しようとすると微妙にカクつく。つまりドロップフレームが発生。
以前は問題なく見れていたはずなのに。
さすがにハード性能の限界もあるし仕方ないかと思っていたら
なんとその現象が収まった。
つまりドロップフレームが発生せずに再生できている。統計情報をみても差はあきらか。
予想外です。
最近のハードなら問題ないのでしょうが、うちみたいに古い場合はハードウェアデコーディングさせない事で多少マシになる可能性も。
まとめ
たまにimgurのサービスを利用して貼り付けられた動画を目にする。
以前はちゃんと見れてたし、こんなことなかったのにおかしいなぁとは思っていた。
けどまぁ見れなきゃ見れないで、ねぇ。
いいかって感じだったけど。
でもてっきり High Sierra のグラフィックドライバ関連だと思い込んでいた。
サポート外のiMacに入れてるからかなぁなんて。(その可能性はまだ残ってるけど)
追記:AppleGVA.frameworkを置き換える
グラフィックス関連のフレームワークをSierraのものと置き換えることで問題を解決できるとの情報を得、実際に試してみました。
コメント