「ブラウザプラグイン」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→Google ハングアウト: 削除) |
Kusanaginoturugi (トーク | 投稿記録) (→トラブルシューティング: 一部削除) |
||
198行目: | 198行目: | ||
== トラブルシューティング == |
== トラブルシューティング == |
||
− | |||
− | === Flash Player: 音が出ない === |
||
− | |||
− | Flash Player はデフォルトの [[Advanced Linux Sound Architecture|ALSA]] デバイス、番号 '''0''' にしか音声を出力しません。サウンドデバイスが複数ある場合 (サウンドカードと HDMI 出力のあるビデオカードがある場合)、使用しているデバイスの番号が異なっている可能性があります。 |
||
− | |||
− | 利用可能なデバイスとそれぞれの番号を表示するために、次を実行してください: |
||
− | {{hc|$ aplay -l| |
||
− | **** List of PLAYBACK Hardware Devices **** |
||
− | card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] |
||
− | Subdevices: 1/1 |
||
− | Subdevice #0: subdevice #0 |
||
− | card 1: DX [Xonar DX], device 0: Multichannel [Multichannel] |
||
− | Subdevices: 0/1 |
||
− | Subdevice #0: subdevice #0 |
||
− | card 1: DX [Xonar DX], device 1: Digital [Digital] |
||
− | Subdevices: 1/1 |
||
− | Subdevice #0: subdevice #0 |
||
− | }} |
||
− | この場合、HDMI 出力は {{ic|card 0}} でサウンドカードは {{ic|card 1}} になります。サウンドカードを ALSA のデフォルトにするには、ホームディレクトリに以下の内容で {{ic|.asoundrc}} ファイルを作成します: |
||
− | {{hc|~/.asoundrc| |
||
− | pcm.!default { |
||
− | type hw |
||
− | card 1 |
||
− | } |
||
− | |||
− | ctl.!default { |
||
− | type hw |
||
− | card 1 |
||
− | } |
||
− | }} |
||
− | |||
− | === Flash Player: 他のアプリケーションの音がなくなったり再生が遅延する === |
||
− | |||
− | Flash 動画の音が遅延したり、Flash によって他のアプリケーションの音が止まったりする場合、{{ic|snd_pcm_oss}} モジュールがロードされていないことを確認してください: |
||
− | $ lsmod | grep snd_pcm_oss |
||
− | 次のコマンドでアンロードできます: |
||
− | # rmmod snd_pcm_oss |
||
− | ブラウザを再起動して問題が解決したか確認してください。 |
||
− | |||
− | === Flash Player: 64ビット版で音が酷い(途切れる) === |
||
− | |||
− | 64ビット環境の Flash プラグイン 11 と {{Pkg|glibc}} の新しい {{ic|memcpy}} ルーチンには問題が存在しており (詳細は [https://bugzilla.redhat.com/show_bug.cgi?id&#;638477 Fedora のバグレポート]を参照)、MP3 ストリームの音が不安定になります。最新の回避方法は: |
||
− | * [https://forums.fedoraforum.org/showthread.php?t=258346 このスレッド] に書かれているようにして {{ic|memcpy}} ルーチンを置き換える。 |
||
− | * [[Arch User Repository|AUR]] から {{AUR|flashplugin-square}}{{Broken package link|{{aur-mirror|flashplugin-square}}}} をインストールする (これは Flash プラグインのハードウェアアクセラレーションが効くバージョンです)。 |
||
− | |||
− | === Flash Player: パフォーマンス === |
||
− | |||
− | Adobe の Flash プラグインには深刻なパフォーマンスの問題があり、特に CPU 周波数スケーリングを使っている時にそれは顕著です。CPU のワークロード全体を使わないというポリシーがあるために、周波数スケーリング governor が CPU の周波数を上げられません。この問題を解決するには [[CPU 周波数スケーリング|Cpufrequtils]] を見て下さい。 |
||
− | |||
− | === Flash Player: ウェブカメラの解像度が低い === |
||
− | |||
− | Flash でウェブカメラの解像度が低くなる (画像のピクセルが見える) ときは次のコマンドでブラウザを起動して見て下さい: |
||
− | $ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so <browser> |
||
− | |||
− | === Flash Player: マルチヘッドを使っているとフルスクリーン再生で黒いバーが現れる === |
||
− | |||
− | Flash プラグインには、マルチモニタを使っているとフルスクリーンモードが正しく動作しないという既知のバグが存在します。フルスクリーンの解像度を間違って認識するために、正しいモニターに表示しながら、フルスクリーンの Flash プレイヤーはまるでモニターが合計のディスプレイ領域を持っているようにサイズを変更します。 |
||
− | |||
− | これを修正するために、[http://al.robotfuzz.com/content/workaround-fullscreen-flash-linux-multiheaded-desktops ここ] に書かれている "hack" を使うことができます。上記ページのリンクからソースをダウンロードして、README の手順に従って下さい。 |
||
− | |||
− | {{Note|作者は NVIDIA の TwinView を使用すると言っていますが、ハックはどのマルチモニタ設定でも動作します。}} |
||
− | |||
− | === Flash Player: 古いシステムで動画が再生されない === |
||
− | |||
− | 旧式のシステムに Adobe Flash をインストールしたところ、動画を再生しても真っ黒になって何も起こらない場合、おそらくマシンの CPU が SSE2 をサポートしていません。次のコマンドを使って CPU フラグを見ることで確認できます: |
||
− | $ grep sse2 /proc/cpuinfo |
||
− | |||
− | 何も結果が返ってこないなら、Flash の旧バージョン (例えば 10.3 や 11.1) をインストールする必要があります。古いバージョンには脆弱性が存在する可能性があります。[[Arch User Repository|AUR]] から利用できる {{AUR|sandfox}} を使ってサンドボックス化させると良いでしょう。使用方法については [https://igurublog.wordpress.com/downloads/script-sandfox/ sandfox のホームページ]を見て下さい。 |
||
− | |||
− | Flash の旧バージョンはここから利用可能です: |
||
− | https://www.adobe.com/products/flashplayer/distribution3.html |
||
− | |||
− | {{ic|libflashplayer.so}} を {{ic|/usr/lib/mozilla/plugins/}} フォルダにコピーしてください。 |
||
− | |||
− | SSE2 を使わない最後のパッケージは {{ic|flashplugin-11.1.102.63-1-i686.pkg.tar.xz}} です。このパッケージバージョンを使う時は、{{ic|IgnorePkg = flashplugin}} を {{ic|/etc/pacman.conf}} に追加してください。 |
||
− | |||
− | === Flash Player: アップグレードしてもプラグインのバージョンが変わらない === |
||
− | |||
− | Firefox の場合はユーザーのプロファイルディレクトリに存在する {{ic|pluginreg.dat}} を削除してください。 |
||
− | |||
− | * Firefox を閉じる。 |
||
− | * {{ic|/home/''<username>''/.mozilla/firefox/''<profile_folder>''/}} を開く。 |
||
− | * {{ic|pluginreg.dat}} ファイルを削除する。 |
||
− | |||
− | Firefox は自動的にファイルを再生成します。''<username>'' や ''<profile_folder>'' は適切な文字列に置き換えてください。 |
||
− | |||
=== インストールしたプラグインが動作しない === |
=== インストールしたプラグインが動作しない === |
||
290行目: | 204行目: | ||
設定されていない場合は、再ログインするか、{{ic|/etc/profile.d/mozilla-common.sh}} を読み込んで同じシェルから Firefox を起動してください: |
設定されていない場合は、再ログインするか、{{ic|/etc/profile.d/mozilla-common.sh}} を読み込んで同じシェルから Firefox を起動してください: |
||
$ source /etc/profile.d/mozilla-common.sh && firefox |
$ source /etc/profile.d/mozilla-common.sh && firefox |
||
− | |||
− | === Gecko Media Player が Apple のトレイラーを再生しない === |
||
− | |||
− | Apple のトレイラーが再生できない時は、ブラウザのユーザーエージェントを次のように設定して見て下さい: |
||
− | QuickTime/7.6.2 (qtver=7.6.2;os=Windows NT 5.1Service Pack 3) |
2021年7月23日 (金) 22:53時点における版
ブラウザプラグインには使用しているプラグイン API によって2種類のタイプがあります:
- Netscape plugin API (NPAPI): 小型のブラウザで動作するプラグイン (Firefox は Flash Player プラグインだけをサポートしており、Chromium や Opera では動作しません)。
- Pepper plugin API (PPAPI): Chromium (Chrome) や Opera、Vivaldi で動作するプラグイン。
このページに書かれているほとんどのプラグインは NPAPI オンリーです。そうでない場合は特記します。
Flash Player
Adobe Flash Player
インストール
使用しているブラウザによってインストールするパッケージは異なります。
- NPAPI バージョンは flashplugin パッケージでインストールできます。
- PPAPI バージョンは pepper-flash パッケージでインストールできます。Google Chrome には初めから同梱されています。
アップグレード
Firefox を使用している場合、Firefox#Firefox によって認識されるプラグインのバージョンが間違っているを見てください。
設定
Flash Player の設定 (プライバシー設定やリソースの使用量など) を変更したい場合、埋め込まれた Flash コンテンツ (例えば Adobe の flash ホームページ) を右クリックして、メニューから設定を選択してください。
Flash の設定ファイル /etc/adobe/mms.cfg
を使うこともできます。Gentoo は注釈が豊富にある サンプル mms.cfg を提供しています。
VDPAU による動画デコードを有効にするには、以下の行を追加・アンコメントしてください:
EnableLinuxHWVideoDecode = 1
以下の行も追加・アンコメントする必要があるかもしれません:
OverrideGPUValidation = 1
マルチモニターでのフルスクリーンの問題
マルチモニターを使っている場合や仮想デスクトップを切り替えると、フルスクリーンの Flash ウィンドウのフォーカスが外れてしまうことがあります。そのような場合、Adobe の Flash プラグインは自動的にフルスクリーンモードを解除します。
残念ながら、この挙動はバイナリにハードコードされています。挙動を変更するにはバイナリの改造が必要です。
修正することができるのは NPAPI プラグインだけであり、修正方法は2つ存在します。
- flashplugin-focusfixAUR[リンク切れ: パッケージが存在しません] を使用する。
- 手動でパッチをあてる [1]:
- パッケージをインストールしたら、
libflashplayer.so
をバックアップしてください: # cp /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so.backup
- その後、ghex などのバイナリエディタを使ってファイルを改変してください。root 権限でファイルを開く必要があります:
# ghex /usr/lib/mozilla/plugins/libflashplayer.so
- バイナリエディタを使って
_NET_ACTIVE_WINDOW
という文字列を探してください。ghex ではウィンドウの右側に文字列が表示され、バイナリは左側に表示されます。検索機能を使えば簡単に見つかります。
_NET_ACTIVE_WINDOW
を発見したら行を書き換えます。行の長さを変えてしまってはいけません。例えば_NET_ACTIVE_WINDOW
を_XET_ACTIVE_WINDOW
に置き換えます。
- バイナリを保存して、プラグインを使用しているプロセスを全て再起動してください。
DRM で保護されたコンテンツを再生
Flash DRM コンテンツを見て下さい。
Shumway
Shumway はネイティブコードの助力を使わずに SWF ファイルフォーマットの忠実で効率的なレンダラを作る HTML5 技術の実験です (プロジェクトとしては死んでいます)。プラグインは Mozilla の github.io サイト から直接インストールできます。
Gnash
GNU Gnash は Adobe Flash Player のフリー (libre) の代替です。ブラウザプラグインだけでなく、デスクトップコンピュータや携帯デバイスのためのスタンドアロンのプレイヤーとしても利用でき、バージョン7までの SWF フォーマットに対応しています (バージョン8と9は開発中です)。また、ActionScript 2.0 を80%サポートしています。
AUR に複数のパッケージが存在します: gnash-gitAUR。
Lightspark
Lightspark は Adobe Flash のフリーな代替を提供しようとしているもうひとつの試みであり、新しい Flash フォーマットのサポートを目指しています。まだ開発途上ですが、人気のサイトをいくつかサポートしています。
Lightspark は AUR にある lightspark-gitAUR パッケージでインストールできます。
Java (IcedTea)
ブラウザの Java サポートを有効にする方法は2つあります: オープンソースの OpenJDK (推奨) と Oracle のプロプライエタリバージョンです。OpenJDK がなぜ推奨なのかはこれを見て下さい。
OpenJDK を使うには、IcedTea ブラウザプラグイン icedtea-web をインストールする必要があります。
Oracle の JRE を使いたい場合は、AUR にある jreAUR パッケージをインストールしてください。
詳細については Java を見て下さい。
Pipelight
Pipelight を見て下さい。
マルチメディアの再生
多くのブラウザは GStreamer フレームワークをサポートしており HTML5 の <audio>
や <video>
エレメントでマルチメディアを再生できます。GStreamer がサポートされているかは、ブラウザのパッケージの任意の依存パッケージを確認してください (webkit ベースのブラウザを使っている場合 webkitgtk2AUR または qt5-webkit を確認してください)。それぞれのプラグインの説明は GStreamer#インストール を見て下さい。
他のプラグイン
- Gecko Media Player — ウェブサイト上のメディアを扱う Mozilla のブラウザプラグイン、MPlayer を使用。
- https://sites.google.com/site/kdekorte2/gecko-mediaplayer || gecko-mediaplayer[リンク切れ: パッケージが存在しません]
- Rosa Media Player Plugin — Qt と MPlayer を利用するブラウザプラグイン。
- VLC Plugin — NPAPI ベースのプラグイン、VLC を使用。
Open-with Firefox 拡張
- Open-with アドオンをインストール。
about:openwith
を開いて Add... を選択。- ダイアログの中で動画をストリーミングできるプレイヤーを選択 (例: /usr/bin/mpv)。
- (オプション) プレイヤーに必要な引数を追加 (例: mpv の場合は
--force-window --ytdl
)。 - (オプション) 左パネルを使用してダイアログを表示する方法を選択。
- 動画が存在するページを開く、あるいはリンクを右クリック。サイトが対応していれば、プレイヤーが開くはずです。
上記の方法で youtube-dl などの動画ダウンローダーを使うこともできます。
youtube-dl
Watch with MPV をインストールすることで サポートされているサイト をお好きなプレイヤーで視聴できるようになります (デフォルトでは mpv)。音声ストリームだけのウェブサイトの場合 Additional player parameters に --player-operation-mode=pseudo-gui
を追加してください。
MozPlugger
MozPlugger は mozpluggerAUR パッケージでインストールできます。
MozPlugger はブラウザの中で多種のマルチメディアを表示できる Mozilla プラグインです。表示のために MPlayer, xine, Evince, OpenOffice, TiMidity などの外部プログラムを使用します。MozPlugger によって使用するアプリケーションを変更・追加するには /etc/mozpluggerrc
ファイルを修正してください。
例えば、doc
ファイルを開くのに MozPlugger はデフォルトで OpenOffice を使います。LibreOffice を使うように変更させるには、OpenOffice のセクションを見て下さい:
/etc/mozpluggerrc
... ### OpenOffice define([OO],[swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"]) ...
そして LibreOffice をリストの一番最初に加えて下さい:
/etc/mozpluggerrc
... ### LibreOffice/OpenOffice define([OO],[swallow(VCLSalFrame) fill: libreoffice --nologo --norestore --view $1 "$file" swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"]) ...
もう一つの例として、シンタックスハイライトを使うためにお気に入りのテキストエディタで (ここでは Kate を使います)、cpp
ファイルを開きたい場合、mozpluggerrc
ファイルに新しいセクションを追加します:
/etc/mozpluggerrc
text/x-c++:cpp:C++ Source File text/x-c++:hpp:C++ Header File repeat noisy swallow(kate) fill: kate -b "$file"
mpv が代わりに使われるようにデフォルトの MPlayer を変更するには、以下のように適切な行を変更してください:
/etc/mozpluggerrc
... ### MPlayer #define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,alsa,oss,arts,null -osdlevel 0 $1 </dev/null]) define(MP_CMD,[mpv -really-quiet $1 </dev/null]) #define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(-xy $width -wid $window $1)]) define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(--autofit=$width -wid $window $1)]) #define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(MPlayer): MP_CMD($1)]) define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(mpv): MP_CMD($1)]) ... #define(MP_AUDIO,[mplayer -quiet -nojoystick $1 </dev/null]) define(MP_AUDIO,[mpv -really-quiet $1 </dev/null]) #define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mplayer -quiet -nojoystick $1 "$file" </dev/null]) define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mpv -really-quiet $1 "$file" </dev/null]) ...
MozPlugger のオプションの完全なリストは このページ を見て下さい。
トラブルシューティング
インストールしたプラグインが動作しない
プラグインのパスが設定されていないのが共通の問題です。インストールした後 Firefox を起動する前にユーザーが再ログインをしていないときに発生します。パスが設定されていないかどうかテストしてください:
$ printenv MOZ_PLUGIN_PATH
設定されていない場合は、再ログインするか、/etc/profile.d/mozilla-common.sh
を読み込んで同じシェルから Firefox を起動してください:
$ source /etc/profile.d/mozilla-common.sh && firefox