概要
今回はソフトウェア全体のブロック図を解説して行きたいと思います。ソフトウェアのインストール等は別記事に纏めます。
ブロック図

RPi4録画システム側
①のOSについて
ブロック図における①の部分がそうです。ベースOSはRaspberry Pi OS Lite (Bullseye版)を使用しています。Liteを利用しているのは外部MainPCからSSHで接続して利用する想定ですのでデスクトップ版は必要ないのです。初心者にとってはここが一番辛い所かもしれません。コマンドラインベースで全て操作しなければなりませんので。
⑨Sambaモジュール
OS上では⑨部分でSambaモジュールが動いています。これはWindowsとネットワーク経由で録画済ファイルをやり取りするためのモジュールです。第一段階ではTSファイルをWindows10Amatsukazeシステムに送り込みCMカット及びデータ圧縮を行う為にやり取りするためです。第二段階としてはmkvをMainPCで視聴し確認次第ではCM情報を元にカット位置微調整ファイルを置くための保存位置となります。
⑩Chronyモジュール
録画システムでは時間にシビアにならないと録画ファイルを正常に取得する事が不可能になります。このモジュールを使用してシステム全体の時刻をインターネット標準基準時刻に同期させます。
②Dockerモジュール
このシステムの一番大きな役割を追っているモジュールです。下記モジュール達を直接インストールしてしまうと何かとメンテナンスが複雑になり、またインストールを定型化する事ができません。Docker内に収める事で不用意なシステムファイルの削除等に対応したりする事も可能(隠ぺい)です。
③④Dockerベースイメージ
Dockerでは私がスクリプトを書いた際一番扱いやすいイメージを選択しました。node:16-buster-slimはその名の通りnode16系のイメージがセットアップされており、その中でもあまり必要の無いモジュールを省いた比較的軽いイメージです。これをベースにして各システムを内包しています。
⑤Mirakurunモジュール
PX-W3U4等の物理デバイスからデータを受け取ったりしてチューナーの管理を行うモジュールです。これを経由してTSファイルをやり取りします。
⑥EPGStationモジュール
このシステムの中核を担います。各番組表の管理、録画の開始処理や終了処理、録画データの管理、録画変換処理を開始させたりとかなりの部分をこのモジュールで行います。内部処理として録画データのサムネイル取得に⑦ffmpegモジュール、またシステムのデータ管理として⑧SQLiteデータベースを用いています。録画変換処理を開始された場合Sambaに作成されたTSファイルをWindows10Amatsukazeシステムに引き渡します。
コメント