web-dev-qa-db-ja.com

Firefox(Iceweasel)24でのH.264サポート

_Debian Wheezy_でFirefox (Iceweasel) 24を使用しています。 https://www.youtube.com/html5 にアクセスすると、ブラウザが_H.264_をサポートしていないことが表示されます

Chromeと同じURLにアクセスすると、_H.264_がサポートされていることが示されます

グーグルした後、私はこれに関するいくつかのdebianバグレポートを見つけました。 _H.264_が意図的に無効にされているようです。実際、Firefoxで_about:buildconfig_にアクセスすると、_--disable-gstreamer_でコンパイルされていることがわかります。

これが無効になっている理由がわかりません。これは技術的な理由ですか、それとも「ライセンス/フリーソフトウェア」の問題ですか

ブラウザで_H.264_を有効にする簡単な方法はありますか(独自のiceweaselパッケージを再コンパイルしない限り)?

誰かが状況とその理由を説明できますか?

編集:

必要なすべてのパッケージがインストールされています。

_gstreamer0.10-ffmpeg
libx264-123
libavutil51
libavformat53
libavcodec53
gstreamer0.10-plugins-good
chromium-browser
_
5
Martin Vegter

Iceweaselは24.5でGStreamerサポートを無効にしたようです (details) 依存関係の問題が原因です。

ここにはいくつかのオプションがあります。

  1. Libre以外のFirefoxをパッケージ経由でインストールします。それを行う方法については良い要約があります ここ -受け入れられた答えを見てください。

  2. ソースからIceweaselをインストールします。 alpertekはすでに非常に包括的にカバーしています。

  3. Debianの安定バージョン(wheezy)からテスト版または不安定版に切り替えます。新しいIceweasel(バージョン29+)パッケージは現在GStreamer 1.0を使用しているようであり、GStreamerサポートは changelog によって再度有効になっています。 pinning テストまたは不安定なリポジトリからのIceWeaselの新しいバージョンを検討することもできますが、依存関係の地獄にすぐに入ると思うので、お勧めできません。

6
James Hebden

これは最良の解決策ではないかもしれませんが、ここに私がiceweaselを再コンパイルした方法があります:

まず、ビルドの必須パッケージをインストールします。

Sudo apt-get install build-essential

次に、iceweaselのソースファイルを取得します。

apt-get source iceweasel

ソースファイルがダウンロードされます。解凍すると、iceweasel- [バージョン]フォルダーが作成されます。フォルダを入力します。 iceweaselのビルド依存関係をインストールします。

Sudo apt-get build-dep iceweasel

Iceweaselパッケージを再コンパイルするために使用するdevscriptをインストールします。

Sudo apt-get install devscripts

Gstreamを有効にしたので、gstreamの依存関係もインストールする必要があります。

Sudo apt-get install libgstreamer0.10 libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

以下のファイルで--disable-gstreamerオプションを--enable-gstreamerに変更します。

debian/xulrunner.mozconfig
debian/browser.mozconfig

結局、「環境シェルを検出できませんでした!」というエラーが発生しました。そのため、次の行を追加しました:os.environ ['Shell'] = '/ bin/bash'をpython/mach/mach/nixin/process.pyの直前の22行目に追加:os.environの「Shell」の場合:

これらの手順をすべて実行したら、次を実行します。

debuild -i -us -uc -b

すべてがうまくいけば、長い長いコンパイルプロセスの後、debパッケージが作成されます。 iceweasel、xulrunner、およびlibmojjs24dパッケージを削除し、新しく作成されたdebパッケージをインストールします。私にとっては:

Sudo dpkg -i iceweasel_24.7.0esr-1~deb7u1_AMD.deb
Sudo dpkg -i libmozjs24d_24.7.0esr-1~deb7u1_AMD.deb
Sudo dpkg -i xulrunner-24.0_24.7.0esr-1~deb7u1_AMD.deb

次に、iceweaselを再度開いたときに、about:buildconfigでgstreamを有効にする必要があります。

gstream enabled about:buildconfig

コメントで述べたように、about:config "media.gstreamer.enabled"でgstreamサポートを有効にします。

enable gstream at about:config

そして最終結果:

youtube as gstream enabled

それがうまくいくことを願っています!

3
alpert

あなたはFirefox 26にアップグレードしたいと思うかもしれません、そして私はFirefoxを意味します。 Mozillaは、MPEG-LA(MPEG/2/3/4を含むH.264の著作権者)との訴訟に巻き込まれています 少なくとも2010年以降 。おそらく、ライセンス契約に関してはIceweaselフォークがMozillaの重みを持っていないのかもしれません。おそらく、特許を取得したコーデックはIceweasel/Debianイデオロギーに反しています。

ところが ChromeとMPEG-LAは昨年決着した のようです。残念ながら、特許を積んだH.264コーデックに代わるオープンソースの代替手段であるWebMの採用は遅れています。それはすべてひどく混乱し、特許トローリングの混乱であり、これらのプログラムのエンドユーザーは多かれ少なかれチェーンの終わりにいるので、それが状況であり、貪欲がそれを引き起こした理由のほとんどです。

十分な歴史、今は修正のため(個人的にテストされていない、 'netで答えが見つかりました、注意して使用してください)、これはバグジラによると。 「公式ビルドでGStreamerを有効にする」は、2012年以降、明らかにバグとして知られています。

以下は、https://bugzilla.mozilla.org/show_bug.cgi?id=794282からの関心のある抜粋です。

Debian Firefox 24/25(Iceweasel)ビルドでH.264を有効にするには、インストールする必要があります

apt-get install gstreamer0.10-plugins-good gstreamer0.10-ffmpeg

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682917に従って、about:config "media.gstreamer.enabled"でgstreamサポートを有効にします

完全にパッチされたSlackware 14.1でFirefox 24.1を使用する= HTML5/Youtubeはここで動作します。 YMMV。

1
luunix

デフォルトでは、FirefoxはH.264をサポートしていません。代わりに、firefoxはシステムのデフォルトのデコーダーを使用してh.264エンコードされたHTML5ビデオを再生します。

必要なパッケージをインストールしましたが、Debianリポジトリーによって提供されるffmpegパッケージは、特許制限のためにH.264をサポートしていません

自由でないソースの追加と更新:-

echo "deb http://www.deb-multimedia.org squeeze main non-free" >> /etc/apt/sources.list
apt-get update
apt-get install deb-multimedia-keyring
apt-get update

デフォルトのffmpegを削除し、ffmpegおよびx264をインストールします

apt-get remove ffmpeg
apt-get install ffmpeg x264

より詳細な手順が ここ に示されています。

1
beginer