言うまでもないが前提条件として U-NEXT に契約している必要がある。
2026-03-02
この情報がネットに少ないというか見つからないようなので、ここに書いてみる。
あらためて今回は FreeBSD 15.0 で確認しているが、14.x の時代から成功している。
14.x の時にちゃんと記録していなかったので、今回あらためて確認しているが、当時どうやって情報に辿り着いたかは記憶が曖昧な所もある。
が、当時のメモを見ると、当初 Firefox と Chromium のどちらも sh_6001 なるエラーが出ていて、U-NEXT のエラー 6001 のヘルプに、Firefox の場合は [ Widevine Content Decryption Module ]、がどうこういうのが出ていたようだ。
それを手がかりに、widevine FreeBSD で検索して出てきたいくつかのページのうち、以下を参考にさせていただき、それでいけた。
このページにあるように、U-NEXT というよりは、Netflix とか Spotify とか言っている。
それらは自分は契約していないので確認していないが、Netflix や Spotify でもいけるのではと思う。
Chromium で成功している。
残念ながら Firefox でやる方法は不明 (FreeBSD でいけるのかどうかも)。 (Firefox でも Android ならいけるんだが..)
といっても、今回も試行錯誤しながらになったので、途中で失敗したりしている。
以下の手順では、必要なパッケージを、主に ports からコンパイルしてインストールしているが、pkg install でバイナリパッケージをインストールしてもいけると思う。
chromium パッケージをインストールする。 (自分は portinstall -s chromium で ports からコンパイルしてインストールした)
portinstall とは、portupgrade パッケージに付属しているコマンドである。
linux-widevine-cdm パッケージをインストールする。 (自分は portinstall -s linux-widevine-cdm で ports からインストールした)
foreign-cdm パッケージをインストールするが.. (自分は portinstall -s foreign-cdm で ports からインストールした)
2026-03-01 現在、依存関係でコンパイルする linux_base-rl9-9.7 パッケージが has known vulnerabilities と出てコンパイルが止まったので、しょうがないので /etc/make.conf に DISABLE_VULNERABILITIES=yes を追加して、portinstall -sw foreign-cdm でやり直した。 (portinstall の -w とは、それまでにコンパイルした生成物を消去しないでコンパイル時間を節約するオプション。)
コンパイル・インストールが、kernel missing 64-bit Linux support とか Exec format error とかエラーが出て止まった。
後述の、方法その2 でも同様のエラーになったので、もう少し詳細なエラーログについてそこで触れる。
そこで /etc/rc.conf に以下の行を追記する。
linux_enable="YES" # Linux binary compatibility loaded at startup (or NO).
/etc/defaults/rc.conf に linux_enable="NO" の雛形が書かれている。
上記を追記後、reboot して、portinstall -s foreign-cdm をやり直すと、うまくいった。 (今度は portinstall -sw foreign-cdm ではうまくいかなかった)
ここまで来たら、さらに reboot した。 (そうしないとうまくいかなかった)
これで Chromium (chrome コマンド) を起動し、U-NEXT のウェブサイトに行くと、うまく視聴できた。
方法その1 とは物理的に違う環境で試している。 (FreeBSD/amd64 15.0 であるのはどちらも同じである)
こちらの方法も少し試行錯誤している。
chromium を ports からコンパイルしてインストールする。 (自分は portinstall -s chromium でやった)
その際、Depend on foreign-cdm to enable playback of DRM con... というチェックボックスが出るので (デフォルトでは OFF になっている)、ON にする。
これで、foreign-cdm が一緒にコンパイル・インストールされるようだ。
こちらも 2026-03-01 現在、依存関係でコンパイルする linux_base-rl9-9.7 パッケージが has known vulnerabilities と出てコンパイルが止まったので、しょうがないので /etc/make.conf に DISABLE_VULNERABILITIES=yes を追加して、portinstall -sw chromium でやり直した。
また、方法その1 でも少し触れたが、こちらも foreign-cdm がコンパイルされる際に、エラーが出て失敗するので.. (以下のような)
〜
===> foreign-cdm-20250224_1 depends on package: linux_base-rl9>=9.2 - not found
〜
===> Registering installation for linux_base-rl9-9.7 as automatic
Installing linux_base-rl9-9.7...
Cannot install package: kernel missing 64-bit Linux support
pkg-static: PRE-INSTALL script failed
ELF binary type "3" not known.
/bin/sh: /compat/linux/usr/sbin/ldconfig: Exec format error
ELF binary type "0" not known.
/bin/sh: /compat/linux/usr/bin/gio-querymodules-64: Exec format error
pkg-static: POST-INSTALL script failed
〜
===> Building for foreign-cdm-20250224_1
〜
ELF binary type "3" not known.
sh: /compat/linux/usr/bin/x86_64-redhat-linux-gcc: Exec format error
〜
** Listing the failed packages (-:ignored / *:skipped / !:failed)
! www/chromium (unknown build error)
(再掲のようになるが) /etc/rc.conf に以下の行を追記し、reboot して、portinstall -s chromium をやり直した。
linux_enable="YES" # Linux binary compatibility loaded at startup (or NO).
これで chromium に加え foreign-cdm もインストールされるが、linux-widevine-cdm はインストールされていない。
% pkg info | egrep cdm
foreign-cdm-20250224_1 CDM agent for Chromium
そのため U-NEXT のウェブサイトに行っても再生されない。
そこで、linux-widevine-cdm もインストールする。 (自分は portinstall -s linux-widevine-cdm でやった)
これで U-NEXT が再生されるようになった。
以前は Adobe Flash (昔は Macromedia Flash)
なるプロプライエタリなものが、本来オープンであったはずのウェブの世界で幅を利かせていて、それらが用いられたサイトを
Unix 系で見るのは苦労したものだ。
それが HTML5 が普及してきて、Flash
もサポートされなくなり駆逐されて、良くなった。
ではあるが、今度は
Widevine なるプロプライエタリなものが出てきて、また苦労するとは..
(今度は有料サイトとはいえ)
とはいえ、Widevine を FreeBSD で扱えるようにしてくれた先人たちに感謝である。