Flash DRM コンテンツ

From ArchWiki
Jump to navigation Jump to search

Flash の DRM コンテンツを再生するには HAL が必要です。Google Play ムービー, Amazon インスタントビデオ, WatchESPN, Demand 5 (Channel 5 UK) などでそれは明らかです。DRM で保護されたコンテンツを HAL 無しで再生しようとすると、次のようなエラーが表示されます: an error occurred and your player could not be updated

DRM で保護されたコンテンツを届けるために、Flash は HAL デーモンやライブラリによって提供されている関数を呼び出します。Flash ベースのプレイヤーは未だに人気がありますが、HAL は既に非推奨となっており新しい環境では通常インストールされていません。そのような環境に HAL の必要な機能を入れるには、HAL の完全なパッケージをインストールして HAL デーモンを実行するか、または新しい UDisks デーモンを使用する修正済みの HAL ライブラリ"スタブ"をインストールします。

警告: NPAPI プラグインの flashplugin はバージョン 11.2.202.644 まで DRM をサポートしています。PPAPI の pepper-flash は DRM を全くサポートしていません。2017年5月時点では Flash DRM コンテンツを利用する方法は知られていません。

HAL パッケージを使う

AUR から halAUR パッケージをインストールしてください。halAUR の依存パッケージである hal-infoAUR を先にインストールする必要があります。

HAL デーモンの実行

HAL デーモンは hal.service によって管理され、systemctl で制御することができます。

もしくは、以下のスクリプトを使うこともできます。このスクリプトはキャッシュの消去も行います。

#!/bin/bash

## written by Mark Lee <bluerider>
## using information from <https://wiki.archlinux.org/index.php/Chromium#Google_Play_.26_Flash>

## Start and stop Hal service on command for Google Play Movie service

function main () {  ## run the main insertion function
     clear-cache;  ## remove adobe cache
     start-hal;  ## start the hal daemon
     read -p "Press 'enter' to stop hal";  ## pause the command line with a read line
     stop-hal;  ## stop the hal daemon
}

function clear-cache () {  ## remove adobe cache
     cd ~/.adobe/Flash_Player;  ## go to Flash player user directory
     rm -rf NativeCache AssetCache APSPrivateData2;  ## remove cache
}

function start-hal () {  ## start the hal daemon
     sudo systemctl start hal.service && ( ## systemd : start hal daemon
          echo "Started hal service..."
) || (
          echo "Failed to start hal service!") 
}

function stop-hal () {  ## stop the hal daemon
sudo systemctl stop hal.service && (  ## systemd : stop hal daemon
          echo "Stopped hal service..."
     ) || (
          echo "Failed to stop hal service!"
     )
}

main;  ## run the main insertion function

修正済みの libhal スタブを使う

HAL をまるごとインストールする代わりに、AUR から libhal ライブラリの修正版をインストールすることができます。廃止された HAL の代わりに近代的な UDisks デーモンを使います。この libhal は Flash でコピーガードのかかったコンテンツを再生するために必要な HAL の機能しか提供しません。HAL を必要とする他のプログラムでは、このスタブはおそらく機能が不足するので完全な hal パッケージを使うようにしてください。

UDisks と hal-flash のインストール

AUR から hal-flashAUR をインストールしてください。このパッケージは Udisks に依存しています。

UDisks の実行

libhal スタブはコールを UDisks に渡すので、DRM 保護された Flash 動画を再生する前に UDisks を実行する必要があります。

udisks2.service が起動していることを確認してください。詳しくは systemd#ユニットを使うを見て下さい。

Flash Player のキャッシュファイルを削除

パッケージをインストールしたら新しく起動するために、Flash Player のキャッシュファイルを削除してください:

$ rm -rf ~/.adobe/Flash_Player/{NativeCache,AssetCache,APSPrivateData2}

参照