Closed kazuki0824 closed 11 months ago
TSID の抽出処理は以前私が GPT-4 に作らせた https://github.com/tsukumijima/ts-nhk-canceler/blob/master/ts-nhk-canceler.cpp が参考になるかも?(私自身は処理内容をよく理解できていないが…)
log
クレートによるログは現状 stderr に出力されているので、チャンネルスキャンの進捗を示す JSONL を stdout に出力すれば、外部プログラムで JSONL を読み取る際に通常ログのフィルタリングが不要になり、よさそう。
個人的に欲しい仕様
--device
で指定したデバイスから受信可能なチャンネルを取得できる ---device
で指定されたデバイスは地デジ or 衛星専用なこともあれば、両方受信できるマルチチューナー (/dev/isdb2056video0
など)の可能性もあるので、引数でスキャンするチャンネルタイプ ("Terrestrial", "CATV", "BS", "CS"
) を指定できてほしい - 例えば BS と CS は一緒に取得できた方が効率が良いので、複数指定可能にしたい - スキャンの進捗は、JSONL で{"type": "scanning", "total": 50, "remains": 47, "channel": {"channel_type": "Terrestrial", "channel_number": "T16", "tsid": null}}
的な感じで標準出力される - 単一チャンネルのスキャンが成功したら、JSONL で{"type": "scanned", "total": 50, "remains": 47, "available": true, "channel": {"channel_type": "Terrestrial", "channel_number": "T16", "tsid": 32737}}
的な感じで標準出力される - 単一チャンネルのスキャンが失敗したら (放送されてないなど)、JSONL で{"type": "scanned", "total": 50, "remains": 47, "available": false, "channel": {"channel_type": "Terrestrial", "channel_number": "T16", "tsid": null}}
的な感じで標準出力される - 全てのチャンネルのスキャンが終わったら、JSONL で{"type": "completed", "available_channels": [{"channel_type": "Terrestrial", "channel_number": "T16", "tsid": 32737}, ....."channel_type": "BS", "channel_number": "BS23_3", "tsid": 18803} .....]}
的な感じで標準出力されるTypeScript の型として表現するならこんな感じ。
課題