Raspberry Pi 4 Model B 8GB で PLEX PX-BCUD を使用

Raspberry Pi 4 Model B 8GB で PLEX PX-BCUD を使用してみました。

OS

OS は Raspberry Pi OS (旧 Raspbian) ではなく Ubuntu を使用しました。2020 年 7 月の時点では Raspberry Pi OS は 32bit 版しか提供されておらず、 64bit 版はベータのテストバージョンです。一方、Ubuntu は公式に Raspberry Pi 4 向けの 64bit 版が提供されています。また、私は自作 PC でも Ubuntu を使用しているため、そこでのノウハウを横展開できる利点もあります。

Raspberry Pi 4 Model B 8GB にインストールした Ubuntu のバージョンは 20.04 です。インストールについは下記の通り、別途投稿しています。

PLEX PX-BCUD 接続

Ubuntu で PX-BCUD を使用するユーザーを video グループに入れ、OS を再起動します (ログオフでもよいです) 。

sudo gpasswd -a $USER video
sudo reboot

続いて、私にとって必要と思われるパッケージをインストールします。

sudo apt install -y build-essential git wget libasound2-dev \
      autoconf libtool pcsc-tools pkg-config libpcsclite-dev pcscd \
      cmake yasm curl ssh dkms unzip

PX-BCUD を Raspberry Pi 4 に接続します。lsusb コマンドを実行してみます。

Bus 001 Device 005: ID 3275:0085 VidzMedia Pte Ltd 

dmesg コマンドを実行すると、下記のような出力がされていました。DVB デバイスとして認識されていました。

[ 4854.933863] usb 1-1.3: new high-speed USB device number 5 using xhci_hcd
[ 4855.034843] usb 1-1.3: New USB device found, idVendor=3275, idProduct=0085, bcdDevice= 2.05
[ 4855.034861] usb 1-1.3: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[ 4855.034873] usb 1-1.3: Product: PX-BCUD
[ 4855.034884] usb 1-1.3: SerialNumber: 0
[ 4855.074714] em28xx 1-1.3:1.0: New device  PX-BCUD @ 480 Mbps (3275:0085, interface 0, class 0)
[ 4855.074725] em28xx 1-1.3:1.0: DVB interface 0 found: isoc
[ 4855.134004] em28xx 1-1.3:1.0: chip ID is em28178
[ 4856.481277] em28xx 1-1.3:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x705ac8db
[ 4856.481292] em28xx 1-1.3:1.0: EEPROM info:
[ 4856.481304] em28xx 1-1.3:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
[ 4856.504683] em28xx 1-1.3:1.0: 	AC97 audio (5 sample rates)
[ 4856.504696] em28xx 1-1.3:1.0: 	500mA max power
[ 4856.504711] em28xx 1-1.3:1.0: 	Table at offset 0x24, strings=0x106a, 0x047a, 0x0000
[ 4856.561907] em28xx 1-1.3:1.0: Identified as PLEX PX-BCUD (card=98)
[ 4856.561925] em28xx 1-1.3:1.0: dvb set to isoc mode.
[ 4856.562384] usbcore: registered new interface driver em28xx
[ 4856.577717] em28xx 1-1.3:1.0: Binding DVB extension
[ 4856.591307] tc90522 12-0015: Toshiba TC90522 attached.
[ 4856.600937] qm1d1c0042 13-0061: Sharp QM1D1C0042 attached.
[ 4857.021188] dvbdev: DVB: registering new adapter (1-1.3:1.0)
[ 4857.021216] em28xx 1-1.3:1.0: DVB: registering adapter 1 frontend 0 (Toshiba TC90522 ISDB-S module)...
[ 4857.021243] dvbdev: dvb_create_media_entity: media entity 'Toshiba TC90522 ISDB-S module' registered.
[ 4857.023602] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 4857.027010] em28xx 1-1.3:1.0: DVB extension successfully initialized
[ 4857.027027] em28xx: Registered (Em28xx dvb Extension) extension

私の環境では、デバイス名は /dev/dvb/adapter0 でした。

$  ls -al /dev/dvb/adapter1

total 0
drwxr-xr-x 2 root root     120 May 16 17:10 .
drwxr-xr-x 4 root root      80 May 16 17:10 ..
crw-rw---- 1 root video 212, 4 May 16 17:10 demux0
crw-rw---- 1 root video 212, 5 May 16 17:10 dvr0
crw-rw---- 1 root video 212, 3 May 16 17:10 frontend0
crw-rw---- 1 root video 212, 6 May 16 17:10 net0

rec 系ソフトウェア

recdvb を使用しました。recdvb は複数存在しますが、GitHub で公開されている下記のものを使用しました。

GitHub

Corresponding to the BS/CS(ISDB-S) and CATV. Contribute to d…

recdvb をインストールします。

cd ~/working_directory && \
    git clone https://github.com/dogeel/recdvb && \
    cd recdvb && \
    chmod a+x autogen.sh && \
    ./autogen.sh && \
    ./configure && \
    make -j$(nproc) && \
    sudo make install

任意のチャンネルを設定し、10秒間キャプチャしてみます。PX-BCUD のデバイス名が /dev/dvb/adapter1 とすると、実行するコマン ドは下記の通りです。

recdvb --dev 1 <bs_ch> 10 <bs_ch>.ts

暗号化されたストリームが出力されます。