Pipelight

提供: ArchWiki
2015年11月22日 (日) 12:40時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

Pipelight は Windows でしか動作しないプラグインを Linux のブラウザで使えるようにする特殊なブラウザプラグインです。このプロジェクトでは Silvelight と DRM で保護された動画を視聴する機能などに主に焦点があてられています。Windows のプラグインを処理する Windows アプリケーションとネイティブの Linux ブラウザプラグインの間を埋めることで動作します。Windows アプリケーションはパッチが適用された Wine で動作するため、Pipelight を使うにはこのバージョンの Wine を使う必要があります。Pipelight は Firefox など NPAPI プラグインをサポートするブラウザで利用可能です。Chromium では動作しません。

ヒント: Netflix や Amazon インスタントビデオを視聴するためだけにこのページを開いた場合、Silverlight/Pipelight をインストールする必要はありません。Netflix の DRM 要件を満たす Widevine コンテンツ復号化プラグインが入っている、google-chromeAUR をインストールするほうが簡単です。Netflix の設定は HTML5 に設定してください。いずれは Firefox など (HTML5 のコードを実装する予定がある) 他のブラウザにもこのプラグインは移植されるはずです。

インストール

Pipelight はまだ公式リポジトリには入っていないため、AUR か、(Pipelight の開発者によってメンテされている) 非公式リポジトリの [pipelight] からインストールする必要があります。

AUR からインストール

Pipelight は AURpipelightAUR パッケージでインストールできます。

pipelight 非公式リポジトリからインストール

Arch Linux 用の Pipelight のビルド済みパッケージは pipelight 非公式リポジトリからインストールできます。このリポジトリは Pipelight の開発者によってメンテナンスされています。パッケージは既にビルドされているため、ソースから wine をコンパイルするのに無駄に時間を消費することはありません。64ビット環境を使っている場合は、まず Multilib リポジトリを有効にする必要があります。

ユーザーエージェント

Netflix などのサイトは Linux ブラウザでストリーミングするのを拒否するので、ブラウザのユーザーエージェントの文字列を変更してください。

動作するか確認する

このページ を見ることで正しくインストールされたか確認できます。また、about:plugins でプラグインを確認することも可能です。

Silverlight における GPU アクセラレーション

デフォルトの挙動

Silverlight アプレットには enableGPUAcceleration という名前のオプションが含まれていることがあり、ハードウェアアクセラレーションを使用するかどうか (つまり、動画の再生にグラフィックカードを使うか) をコントロールします。このオプションはウェブサイトの管理者の管理下にありますが、クライアント側から強制的にオプションを設定することも可能です (下を参照)。デフォルトでは、GPU アクセラレーションはカードとページがそれを必要とする認証済みのシステムでしか有効になりません。ここで、システムの確認は /usr/share/pipelight/hw-accel-default にある bash スクリプトで実行されグラフィックカードのメーカーが確認されます。このスクリプトは glxinfo ユーティリティに依存しています。glxinfo は mesa-demos パッケージに含まれています。Pipelight で正しくグラフィックの確認が行われるようにするにはこのパッケージをインストールする必要があります。

ハードウェアアクセラレーションの強制

enableGPUAcceleration オプションを自分で制御してデフォルトでハードウェアアクセラレーションを有効にするには、以下の手順に従って下さい:

Silverlight のための Pipelight 設定ファイルがない場合は、ユーザーのホームディレクトリにデフォルトの設定ファイルをコピー:

$ cp /usr/share/pipelight/configs/pipelight-silverlight5.1 ~/.config/

そして作成されたファイル ~/.config/pipelight-silverlight5.1 を編集して以下の行を:

# overwriteArg      = enableGPUAcceleration=true

次のように変更:

overwriteArg      = enableGPUAcceleration=true

グラフィックカードの検出を無効化

Pipelight は複数のメーカーのグラフィックカードでテストされています。動作すると認められたカードだけがホワイトリストに入れられ、デフォルトで Pipelight のハードウェアアクセラレーションが有効にされます。この挙動はハードウェアの確認プロセスを無効化することで迂回できます。ただし、最初に確認プロセスの出力をチェックすることを推奨します。mesa-demos をインストールして以下を実行:

/usr/share/pipelight/hw-accel-default
echo $?

0 が返ってくる場合、あなたのカードはホワイトリストに入っているカードであり、それ以外が返ってきた場合はホワイトリストに入っていません。その場合、検出を無効化することができます。まず Pipelight のデフォルトの Silverlight 設定ファイルをホームディレクトリにコピーして (上を参照)、次の行を:

silverlightGraphicDriverCheck  = /usr/share/pipelight/hw-accel-default

以下のように変更して下さい:

silverlightGraphicDriverCheck = /bin/true

カスタム変数

Wine-Silverlight と Pipelight パッケージで使うことができるカスタム変数を説明します:

  1. customprefix
    • (wine と衝突しないように) /usr ではなく /opt に Wine をインストール。
  2. _prefix
    • インストール場所を指定することができます。
  1. _prefix
    • インストール場所を指定することができます。デフォルトは /usr
  2. _wine
    • Wine-Silverlight 実行可能ファイルの場所です。

例えば、Wine-Silverlight を /opt にインストールするには:

  • wine-silverlight: customprefix=1 を設定してください。
  • pipelight: _wine=/opt/wine-silverlight を設定してください。
警告: 間違った設定を PKGBUILD でしたときはファイルを手動で修正する必要が生じます。

他のプラグイン

Pipelight は Adobe Flash Player や Shockwave Player など他のブラウザプラグインのために使うこともできます。利用可能なプラグインを全て表示するには、次を実行:

$ pipelight-plugin --help

プラグインをグローバルに有効化するには:

# pipelight-plugin --enable plugin

もしくはローカルで有効化するには:

$ pipelight-plugin --enable plugin

Mozilla Firefox でプラグインが表示されない

Firefox を実行しても有効にしたプラグインが about:plugins に現れないときは、Mozilla Firefox を起動する前に以下のコマンドを実行してみてください:

# pipelight-plugin --create-mozilla-plugins

トラブルシューティング

Chromium をアップグレードした後に Pipelight が動作しなくなる (バージョン35以上)

NPAPI のサポートは chromium から外されました。NPAPI をサポートするように自分でリコンパイルしたい場合、Michael Müller によるパッチがこのバグ [1] に付いています。元のパッチは: [2]

Firefox と AppArmor で Silverlight プラグインにエラーが発生する

AppArmor と Firefox を使っている場合、Silverlight プラグインのロード時にエラーが表示されることがあります。AppArmor のプロファイルを編集・作成してください。

動画の再生が速くて音声が流れない/品質が悪い

ノート: This solution is taken from this page at the Pipelight's LaunchPad page and editted to reflect changes in newer version of Pipelight.

音声の品質が悪かったり再生にラグが生じる原因の一つとして PulseAudio の使用が考えられます。Pipelight は wine を使って音声の再生を処理するので、音声の出力モジュールを変更することで問題が解決するかもしれません。PulseAudio の代わりとしては ALSA が適任であり、以下のようにして有効にできます。

まず、winetricks プラグインをダウンロード・インストール・実行してください。

$ wget -O ~/.wine-pipelight/winetricks http://winetricks.org/winetricks
$ chmod +x ~/.wine-pipelight/winetricks
$ WINEPREFIX=~/.wine-pipelight WINE=/opt/wine-compholio/bin/wine WINEARCH=win32 ~/.wine-pipelight/winetricks

選択: "Select the default wineprefix" -> "Change Wine settings" -> "sound=alsa"

これで問題が解決したかテストしてみてください (ブラウザを再起動して Silverlight の動画を開く)。問題が解決しない場合、wine で音声の出力デバイスを analog に変更してください。wine の設定ユーティリティを実行:

WINEPREFIX=~/.wine-pipelight WINE=/opt/wine-compholio/bin/wine WINEARCH=win32 /opt/wine-compholio/bin/winecfg

Audio タブを開いて Output deviceOut: HDA Intel - ALC1200 Analog に変更します。

ノート: 実際のデバイス名はシステムによって異なります。

PulseAudio が原因の場合はこれで動画がラグる問題が解決するでしょう。ただし pulseaudio-alsa をインストールしている場合、ALSA の音声は PulseAudio を通過してしまいます。それでも問題が解決しない場合、PulseAudio を再起動してみてください。再起動は次を実行することで行えます:

$ pulseaudio -k

GNOME 3/Firefox のフルスクリーン問題

GNOME 3 では、フルスクリーンの pipelight ウィンドウは firefox で正しくフォーカスされません。この問題は devilspie を使うことで解決できます:

まず、公式リポジトリから devilspie をインストールしてください。

~/.devilspie ディレクトリを作成:

$ mkdir ~/.devilspie

次に、以下のファイルを作成:

~/.devilspie/pipelight-fullscreen-firefox.ds
(if
    (and
        (is (window_class) "Wine")
        (or
            (is (application_name) "Adobe Flash Player")
            (is (application_name) "Microsoft Silverlight")
        )
    )
    (begin
        (focus)
    )
)

最後に devilspie が自動起動するようにします。以下のファイルを作成することで起動するようになります:

~/.config/autostart/devilspie.desktop
[Desktop Entry]
Name=devilspie
Exec=devilspie
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

Pipelight で中国語が全て豆腐化する

Silverlight は中国語のレンダリングに ”Microsoft Yahei” フォントを使います。中国語のレンダリングをするにはこのフォントのインストールが必須です (Windows OS などから)。

その他の既知の問題と解決方法は Pipelight FAQ に載っています。

PulseAudio を使っている場合に音が鳴らない

PulseAudio を使っていて Silverlight アプリケーションから音が鳴らない場合、wine で pulseaudio を使えるように libpulsepulseaudio-alsa をインストールする必要があります。64ビット環境では lib32-libpulselib32-alsa-plugins を使って下さい。使用するオーディオデバイスは WINEPREFIX="/home/username/.wine-pipelight" winecfg を使って設定できます。

Tips

1080p の動画の再生をテスト

次のページで 1080p のストリーミングをテストできます: http://www.iis.net/media/experiencesmoothstreaming1080p

参照