mirakurun(docker)に同梱されている arib-b25-stream-test が古い
どれくらい古いのかというと、6年前にnpm に出されたままだ。
しかもnpmのくせに、C言語をmake install するだけのパッケージである。npmにあがってるので、TSを期待して探してたら完全にmake install だけでした。
しかたないので、dockerをビルドして使うことにした
mirakurun のdocker-compose.ymlの先頭を見ると、次のようになっていて、ビルドがしやすくなっている。
cat docker-compose.yml version: "3.7" services: mirakurun: build: context: ./ dockerfile: docker/Dockerfile image: chinachu/mirakurun:latest container_name: mirakurun
mkdir docker touch docker/Dockerfile touch docker/install.sh
サクッと dockerfileを書いて
FROM chinachu/mirakurun:latest COPY docker/pcsc.tgz /app COPY docker/pcsc-install.sh /app ## RUN apt-get update && \ apt-get upgrade -y && \ apt-get -y install git cmake pkg-config libpcsclite-dev RUN /app/pcsc-install.sh
ビルド時に必要なライブラリを追加する
#!/usr/bin/env bash tar zxvf pcsc.tgz cd pcsc make cp libpcsclite.so.1.0.0 /usr/lib/arm-linux-gnueabihf/libpcsckai.so sed '/Libs:/s|lpcsclite|lpcsckai|' \ /usr/lib/arm-linux-gnueabihf/pkgconfig/libpcsclite.pc \ >/usr/lib/arm-linux-gnueabihf/pkgconfig/libpcsckai.pc cd /opt/node_modules/arib-b25-stream-test/src sed -i 's|libpcsclite|libpcsckai|' Makefile make all make install cd /app git clone --depth 1 https://github.com/tsukumijima/libaribb25.git cd libaribb25 mkdir build cd build cmake -DWITH_PCSC_PACKAGE=NO -DWITH_PCSC_LIBRARY=pcsckai .. make install cp /usr/local/bin/arib-b25-stream-test /opt/bin/arib-b25-stream-test cd /app echo end
これで、docker版のmirakurun でも、b25やrecdvb関連のコマンドで動作チェックが可能になった。ずいぶん昔に買って放置しているUSBのチューナーや自作のアンテナケーブルが多くあり、ちゃんと動くか片っ端からテストしたいので手軽にDocker環境が作れるのは嬉しい。
chinachuまるごと入れても良かったのだが、chinachu のpm2エラーログが溢れまくってraspiのSDカードもUSBメモリも破壊されたので、使いたくありません。
2023-07-27追加
pcscd が動かなかったので、docker file を見直した(apt upgrade を追加)