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 の APT のパッケージを最新にし、Ubuntu で PX-BCUD を使用するユーザーを video グループに入れ、Ubuntu を再起動します。

sudo apt update
sudo apt upgrade
sudo gpasswd -a $USER video
sudo reboot

再起動後の情報は下記の通りでした。

$ uname -a
Linux ubuntu 5.4.0-1013-raspi #13-Ubuntu SMP Mon Jun 15 03:17:37 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux

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

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 デバイスとして認識されていました。

[ 2415.039949] usb 1-1.4: new high-speed USB device number 5 using xhci_hcd
[ 2415.140804] usb 1-1.4: New USB device found, idVendor=3275, idProduct=0085, bcdDevice= 2.05
[ 2415.140821] usb 1-1.4: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[ 2415.140831] usb 1-1.4: Product: PX-BCUD
[ 2415.140841] usb 1-1.4: SerialNumber: 0
[ 2415.173845] em28xx 1-1.4:1.0: New device  PX-BCUD @ 480 Mbps (3275:0085, interface 0, class 0)
[ 2415.173853] em28xx 1-1.4:1.0: DVB interface 0 found: isoc
[ 2415.232111] em28xx 1-1.4:1.0: chip ID is em28178
[ 2416.607633] em28xx 1-1.4:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x705ac8db
[ 2416.607646] em28xx 1-1.4:1.0: EEPROM info:
[ 2416.607657] em28xx 1-1.4:1.0: 	microcode start address = 0x0004, boot configuration = 0x01
[ 2416.631226] em28xx 1-1.4:1.0: 	AC97 audio (5 sample rates)
[ 2416.631239] em28xx 1-1.4:1.0: 	500mA max power
[ 2416.631252] em28xx 1-1.4:1.0: 	Table at offset 0x24, strings=0x106a, 0x047a, 0x0000
[ 2416.688178] em28xx 1-1.4:1.0: Identified as PLEX PX-BCUD (card=98)
[ 2416.688193] em28xx 1-1.4:1.0: dvb set to isoc mode.
[ 2416.688627] usbcore: registered new interface driver em28xx
[ 2416.704479] em28xx 1-1.4:1.0: Binding DVB extension
[ 2416.714588] tc90522 12-0015: Toshiba TC90522 attached.
[ 2416.725062] qm1d1c0042 13-0061: Sharp QM1D1C0042 attached.
[ 2417.114585] dvbdev: DVB: registering new adapter (1-1.4:1.0)
[ 2417.114611] em28xx 1-1.4:1.0: DVB: registering adapter 0 frontend 0 (Toshiba TC90522 ISDB-S module)...
[ 2417.114639] dvbdev: dvb_create_media_entity: media entity 'Toshiba TC90522 ISDB-S module' registered.
[ 2417.117043] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 2417.120568] em28xx 1-1.4:1.0: DVB extension successfully initialized
[ 2417.120586] em28xx: Registered (Em28xx dvb Extension) extension

デバイス名は /dev/dvb/adapter0 でした。

$ ls -al /dev/dvb/adapter0
total 0
drwxr-xr-x 2 root root     120 Jul 13 10:46 .
drwxr-xr-x 3 root root      60 Jul 13 10:46 ..
crw-rw---- 1 root video 212, 1 Jul 13 10:46 demux0
crw-rw---- 1 root video 212, 2 Jul 13 10:46 dvr0
crw-rw---- 1 root video 212, 0 Jul 13 10:46 frontend0
crw-rw---- 1 root video 212, 3 Jul 13 10:46 net0

OS

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

GitHub

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

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

cd ~/working_directory && \
  wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip && \
  unzip c44e16dbb0e2.zip && \
  cd pt1-c44e16dbb0e2/arib25 && \
  make -j$(nproc) && \
  sudo make install

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

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

recdvb --strip -b25 --dev 0 <bs_ch> 10 <bs_ch>.ts

キャプチャ結果は VLC 等で確認することができます。