chinachuで全番組録画サーバーを作る
Ubuntu20.04とPX-MLT5PEとchinachuで録画サーバーを作る
PX-MLT5PE 2台を一つの(9ピン)USBコネクタで接続する
を組み合わせ全録鯖を作る
諸々終わるとデバイスが生えてくる
$ ls -l /dev/pxmlt5video* crw-rw-r-- 1 root video 240, 0 Jun 26 00:41 /dev/pxmlt5video0 crw-rw-r-- 1 root video 240, 1 Jun 26 00:41 /dev/pxmlt5video1 crw-rw-r-- 1 root video 240, 2 Jun 26 00:41 /dev/pxmlt5video2 crw-rw-r-- 1 root video 240, 3 Jun 26 00:41 /dev/pxmlt5video3 crw-rw-r-- 1 root video 240, 4 Jun 26 00:41 /dev/pxmlt5video4 crw-rw-r-- 1 root video 240, 5 Jun 26 00:41 /dev/pxmlt5video5 crw-rw-r-- 1 root video 240, 6 Jun 26 00:41 /dev/pxmlt5video6 crw-rw-r-- 1 root video 240, 7 Jun 26 00:41 /dev/pxmlt5video7 crw-rw-r-- 1 root video 240, 8 Jun 26 00:41 /dev/pxmlt5video8 crw-rw-r-- 1 root video 240, 9 Jun 26 00:41 /dev/pxmlt5video9
chinachuのWEB UIには見ない(録画しない)チャンネルが生えてくるのでこれをconfig.jsonのexcludeServicesを書き換えて消す
不要なチャンネルIDはmirakurunのAPIを叩いて取得する。
$ curl -s "http://localhost:40772/api/services" | jq . [ { "id": 3273601024, "serviceId": 1024, "networkId": 32736, "name": "NHK総合1・東京", "type": 1, "logoId": 0, "remoteControlKeyId": 1, "channel": { "type": "GR", "channel": "27" }, "hasLogoData": true }, (...snip....) { "id": 3239723656, "serviceId": 23656, "networkId": 32397, "name": "J:COMテレビ", "type": 1, "logoId": 0, "remoteControlKeyId": 10, "channel": { "type": "GR", "channel": "13" }, "hasLogoData": true }, { "id": 3239723657, "serviceId": 23657, "networkId": 32397, "name": "J:COMテレビ", "type": 1, "logoId": 0, "remoteControlKeyId": 10, "channel": { "type": "GR", "channel": "13" }, "hasLogoData": true }, { "id": 3233527768, "serviceId": 27768, "networkId": 32335, "name": "J:COMチャンネル", "type": 1, "logoId": 10, "remoteControlKeyId": 11, "channel": { "type": "GR", "channel": "37" }, "hasLogoData": true }, { "id": 3233527769, "serviceId": 27769, "networkId": 32335, "name": "J:COMチャンネル", "type": 1, "logoId": 10, "remoteControlKeyId": 11, "channel": { "type": "GR", "channel": "37" }, "hasLogoData": true }, { "id": 3233527770, "serviceId": 27770, "networkId": 32335, "name": "J:COMチャンネル", "type": 1, "logoId": 10, "remoteControlKeyId": 11, "channel": { "type": "GR", "channel": "37" }, "hasLogoData": true } ]
もっと見やすくするとこんな感じ
$ curl -s "http://localhost:40772/api/services" | jq ".[] | {name: .name, id: .id}" { "name": "NHK総合1・東京", "id": 3273601024 } (...snip....) { "name": "J:COMテレビ", "id": 3239723656 } { "name": "J:COMテレビ", "id": 3239723657 } { "name": "J:COMチャンネル", "id": 3233527768 } { "name": "J:COMチャンネル", "id": 3233527769 } { "name": "J:COMチャンネル", "id": 3233527770 }
こんな感じにconfig.jsonのexcludeServices部分を書き足す
"excludeServices": [ 3273701416, 3232728088, 3273901183, 3274201456, 3239123992, 3239123993, 3273601408, 3273601025, 3273701034, 3232727705, 3239723656, 3239723657, 3233527768, 3233527769, 3233527770, 3239123610 ],
pm2をリスタートさせる
$ sudo pm2 restart all
減った
GR(地上波)全部録画するのでチェックして作成
全部録画出来る
マルチチャンネルはexcludeServicesで弾かないと行けない(対象CHだけでは不十分)のがポイント