Windows XP上のFirefox 49でのh264ビデオサポートの有効化

FirefoxがWindows XPでh264ビデオをサポートしたことがない理由、または歴史への遠足



当初、Mozillaは独自の特許で保護されたh264形式のサポートを拒否し、オープンコーデックの使用を促進しました。次に、最新のWebでh264がサポートされていない場合、Windows XPでは利用できないWindows Media Foundationコンポーネントを使用して実装されていることが明らかになりました。 シスコがオープンでライセンスされたクリーンなOpenH264コーデックを提供したとき、手遅れでした-メーカーのためにサポートされなくなったOSのためにWMFを使用して作業コードを書き直そうとする人はいませんでした。



しかし、多くの(私を含む)がいまだにさまざまな理由でこのOSを使用しており、最高の(私の謙虚な意見では)Firefoxブラウザーでh264のビデオの表示を拒否されるべきではありません。



待たなかったところからの助け



Firefox 48にアップグレードした後、私は突然、h264のビデオがうまく機能していることに気付きました。

DRMビデオの再生に焦点を合わせているAdobe Primetimeプラグインのおかげで、ちょっとした調査でこれを可能にしました。



プロセスエクスプローラーを使用して取得した以下のスクリーンショットは、ビデオからページを読み込んだ後に表示されるプラグインコンテナープロセスが、現在のユーザーのプロファイルのeme-adobe.dllファイルを使用することを示しています。







Firefoxプラグインの設定に入って、そこでAdobe Primetimeを見つけ、それを無効にするとFFがh264の再生を停止し、この勝利の責任者が彼であることが証明されました。

しかし、私の喜びは長くはありませんでした。



彼らは再びすべてを壊した



次回Firefox 49にアップグレードしたとき、悲しいことにh264が再び再生されないことがわかりました。 プラグインのリストにAdobe Primetimeが見つかりませんでした。プロファイルにそのファイルが見つかりませんでした。



インターネットを検索しているときに、 Vistaより下のOSでAdobe Primetimeを非表示にするための提案の議論に出会いました。 そこから、このプラグインはWindows XPを公式にサポートしておらず、構成によっては安定性の問題が発生することがわかりました。 しかし、私は問題ありませんでした!



バグトラッカーには、XPのPrimetimeプラグイン表示の問題に対する「修正」へのリンクがありました。 そのコードに基づいて、これらの変更の有害な影響をロールバックする修正を行いました。



訂正



更新 :PSでより簡単で正確な方法が指定されているため、ファイルを編集する必要はありません。 修正の以前のバージョンは、歴史的な目的のために残ります。

ブラウザーのルートディレクトリからomni.jaファイルを解凍し、そこで/jsloader/resource/gre/modules/GMPUtils.jsmファイルを見つけ、任意の16進エディターで開いて、そこのバイトを置き換える必要があります



6973506C6174666F726D416E6456657273696F6E41744C656173740700000077696E0300000036
      
      









 6973506C6174666F726D416E6456657273696F6E41744C656173740700000077696E0300000035
      
      





したがって、NT 6.0ではなく、NT 5.0以降のカーネルでプラグインが動作するようにします。 修正後、ファイルをomni.jaにパックする必要があります。 通常のパラメータでのアーカイブはここでは機能しません。 コンソールを使用する必要があります



 zip -qr9XD omni.ja *
      
      





元のファイルを置き換えた後、すべてが再び機能しました。



プラグインを使用したビデオ再生のサポートも有効化する必要があることに注意してください。config:trueに設定する必要があります。



 media.gmp.decoder.enabled
      
      





h264がOpenH264で動作することを期待して、この設定を長い間オンにしていました。 その後、YouTube、Vimeo、オンラインブロードキャストサービスなど、どのサイトでもh264でビデオを楽しむことができます。



画像

(仮想マシンのクリーンOSでテスト)



Windows XPでPrimetimeプラグインのサポートを返すようBugzillaリクエストしましたが、何も終わらないことがわかります。

私はロシア語(あなたが気づいていない場合でも)でさえ縛られているので、リクエストの説明を修正するのを助けることを提案します、そして、英語でさえ私の説明の明瞭さは完全に失われます、それはさらにFirefoxの将来のバージョンでこの問題の公式の修正の可能性をさらに減らします。



あとがき



HEXエディターとアーカイバーを台無しにするのが面倒な人のために 、更新後に修正済みのomni.jaファイルをダンプするYandex.disk上のディレクトリへのリンク添付します。 これまでのところ、現在のバージョンから1つのファイルがあります。



妄想(私自身)のためのメモ
Firefoxのプラグインは、ページにアクセスできない分離プロセスで実行されるため、クローズドソースプラグインを使用しても何も問題はありません。 修正したファイルをダウンロードすることをお勧めしますが、上記で自分で修正する方法についても説明します。



異なるアーカイバ、バージョン、およびデフォルトの圧縮パラメータが使用されるため、バイナリ比較で同じバージョンのFFでも、取得したバイナリomni.jaファイルは私のバイナリと異なる場合があります。


ご清聴ありがとうございました!



PSアップデート



Bugzillaは、プラグインをアクティブ化するためのよりシンプルで正しい方法を提案しました。 about:config:で設定を作成するだけで十分です。



 media.gmp-eme-adobe.forceSupported
      
      





そして、trueに設定します。 また、既存のパラメータmedia.gmp.decoder.enabledをtrueに設定する必要があります。念のため、パラメータmedia.gmp-eme-adobe.visibleおよびmedia.gmp-eme-adobe.enabledを確認してください。デフォルトでは有効になっていますが、十分ではありませんかどうか。 これにより、バイナリファイルパッチなしでプラグインをアクティブ化できるため、新しいバージョンを投稿しません。



All Articles