内容
recpt1(px-mlt8peなので)を使ってdocker-mirakurun-epgstationを動かす。
環境
- 全録エンコードRyzen 9 7900 12core
- PCI-E x1が2つとx16一つのマザーボード MSI B670M Mortar
- pci-E x1 px-mlt8pe x2
- pci-E x16に10Gbe
- メモリは16GくらいなんでもOK
- BIOS オンボード類はOFF(USB以外)、SSDは一度SecureErase
- セキュアブートもOFF
ハマりポイントはマザーボードのUSB2.0ヘッダに使われているGL850Gとキャプチャに相性が有るのか、帯域不足なのか分からないが16ch全録するとドロップしまくるので、一枚目だけGL850Gへ接続し、もう一枚を他のUSBヘッダに接続した。 またアンテナ線2系統のうち片方が断線しかけで信号レベルが低かった。checksignalしましょう。
Ubuntu Serverインストール
Ubuntu Server(LTSではない方。23系でないとカーネルが古くてzen4のCPU温度が取れない) をDLしてRufusでUSBメモリに。
Ubuntu Server をインストール。IPをスタティックにする以外は特になし。
タイムゾーンを設定
sudo timedatectl set-timezone Asia/Tokyo
環境更新
sudo apt update と upgrade してreboot
lsusb でチューナーとリーダを確認
Bus 001 Device 003: ID 0e8d:0616 MediaTek Inc. Wireless_Device Bus 001 Device 004: ID 04e6:5116 SCM Microsystems, Inc. SCR331-LC1 / SCR3310 SmartCard Reader Bus 001 Device 002: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub Bus 001 Device 010: ID 0511:0252 N'Able (DataBook) Technologies, Inc. PXML͔8PE Bus 001 Device 009: ID 0511:0253 N'Able (DataBook) Technologies, Inc. PXML͔8PE Bus 001 Device 008: ID 0511:0253 N'Able (DataBook) Technologies, Inc. PXML͔8PE Bus 001 Device 007: ID 0511:0252 N'Able (DataBook) Technologies, Inc. PXML͔8PE
必要パッケージ
sudo apt install dkms git nfs-common unzip docker-compose docker libpcsclite-dev pcscd pcsc-tools libccid autoconf automake build-essential cmake curl libssl-dev libtool libboost-all-dev pkg-config yasm tree lm-sensors glances smartmontools cpufrequtils sudo apt install -y linux-headers-$(uname -r)
docker-mirakurun-epgstationの設定
ドライバの用意
https://github.com/tsukumijima/px4_drv wget https://github.com/tsukumijima/px4_drv/releases/download/v0.4.1/px4-drv-dkms_0.4.1_all.deb sudo apt install -y ./px4-drv-dkms_0.4.1_all.deb rm ./px4-drv-dkms_0.4.1_all.deb sudo modprobe px4_drv # ls /dev/ とかしてpxmlt8videoX があるのを確認
docker-epgstation-mirakurun
curl -sf https://raw.githubusercontent.com/l3tnun/docker-mirakurun-epgstation/v2/setup.sh | sh -s cd docker-mirakurun-epgstation
標準のdocker-compose.ymlは/dev/dvbを使うのでエラーが起きるので編集。mirakurunのスタートアップスクリプトのためにoptを追加、デバイスをPX-MLT8PE用に追加、カードリーダのデバイスを追加(上のlsusbから)、レコード用ディレクトリの追加。
docker-compose.ymlを編集 volumes: - ./mirakurun/conf:/app-config - ./mirakurun/data:/app-data - ./mirakurun/opt/:/opt devices: - /dev/bus:/dev/bus - /dev/pxmlt8video0:/dev/pxmlt8video0 - /dev/pxmlt8video1:/dev/pxmlt8video1 - /dev/pxmlt8video2:/dev/pxmlt8video2 - /dev/pxmlt8video3:/dev/pxmlt8video3 - /dev/pxmlt8video4:/dev/pxmlt8video4 - /dev/pxmlt8video5:/dev/pxmlt8video5 - /dev/pxmlt8video6:/dev/pxmlt8video6 - /dev/pxmlt8video7:/dev/pxmlt8video7 - /dev/pxmlt8video8:/dev/pxmlt8video8 - /dev/pxmlt8video9:/dev/pxmlt8video9 - /dev/pxmlt8video10:/dev/pxmlt8video10 - /dev/pxmlt8video11:/dev/pxmlt8video11 - /dev/pxmlt8video12:/dev/pxmlt8video12 - /dev/pxmlt8video13:/dev/pxmlt8video13 - /dev/pxmlt8video14:/dev/pxmlt8video14 - /dev/pxmlt8video15:/dev/pxmlt8video15 - /dev/bus/usb/001/004 volumes: - ./epgstation/config:/app/config - ./epgstation/data:/app/data - ./epgstation/thumbnail:/app/thumbnail - ./epgstation/logs:/app/logs - /home/recorded:/app/recorded
tuners.yml を作る
- name: PX-MLT8PE_0 types: - GR - BS decoder: arib-b25-stream-test isDisabled: false command: recpt1 --device /dev/pxmlt8video0 <channel> - - これを0~15まで
arib25とrecpt1
docker-mirakurun-epgstaionのmirakurunは弄り様がないのが、スタートアップスクリプトは実行可能なので設定する。chmod +xもわすれずに。
mkdir -p mirakurun/opt/bin vi mirakurun/opt/bin/startup #!/bin/bash if !(type "recpt1" > /dev/null 2>&1); then apt-get update apt-get install -y --no-install-recommends git autoconf automake cmake cd /tmp git clone https://github.com/stz2012/libarib25.git cd libarib25 cmake . -DCMAKE_INSTALL_PREFIX=/opt make make install ldconfig cd /tmp git clone https://github.com/stz2012/recpt1.git cd recpt1/recpt1 ./autogen.sh ./configure --enable-b25 --prefix /opt make make install fi recpt1 -v
起動
docker-compose down docker-compose run --rm -e SETUP=true mirakurun docker-compose up -d
チャンネルスキャン
mirakurunの再起動は http://localhost:40772/ の右上
curl -X PUT "http://localhost:40772/api/config/channels/scan" 地上波 curl -X PUT "http://localhost:40772/api/config/channels/scan?type=BS&setDisabledOnAdd=true&refresh=false" BS
もう一度 mirakurun再起動。EPGが取れるまでしばし休憩。あとはepgstationの録画設定をして完了。
mirakurunのEPG更新は10分(600,000msec)くらいにしておくといいかも。