v1からv2への移行

ここでは,v1からv2への移行について説明します.

EPGキャッシュの再構築

内部のデータ構造が変更されたことに伴い,v1のEPGキャッシュをv2では再利用できません.そのため,v2移行時にEPGキャッシュが再構築されます.

チャンネル数に依存しますが,EPGキャッシュの再構築は時間がかかります.例えば,地デジ12チャンネル+BS12チャンネルのEPGキャッシュの再構築には40分以上必要です.そのため,録画予約が詰まっていない時間帯を選んでv2移行を行ってください.

config.yml

mirakc内部のサービスID及び番組IDからTSIDを削除したことに伴いtimeshift.recorders[].service-tripletimeshift.recorders[].service-idに変更されました.

# v1
timeshift:
  recorders:
    bs1:
      service-triple: [4, 16625, 101]

# v2
timeshift:
  recorders:
    bs1:
      service-id: 400101  # Mirakurun Service ID

resource.logos[].service-triple も同様です.

# v1
resource:
  logos:
    - service-triple: [4, 16625, 101]

# v2
resource:
  logos:
    - service-id: 400101  # Mirakurun Service ID

これに伴い,Web APIのいくつかのJSON形式が変更されましたが,本文書の説明対象外なので,詳細は省略します.

mirakc内部でopenapi.jsonを生成するようになったためmirakurun.openapi-jsonは削除されました.

# v1
mirakurun:
  openapi-json: /path/to/mirakurun.openapi.json

# v2: Removed

タイムシフト録画

チャンクサイズの既定値が変更されました.

  • v1
    • 163840000
    • 8192の倍数でなければならない
  • v2
    • 154009600
    • 8192の倍数でなければならない
      • 8192 * 188の倍数を推奨

ts-fileのサイズも変わるため,再計算してください.

data-fileのJSON形式も変更されたため,mirakcを実行すると以下のようなエラーが表示され,タイムシフト録画は開始されません.

ERROR mirakc_core::timeshift: Failed to load records err=JSON \
  error: missing field `id` at line 1 column 233 recorder.name="nhk"
ERROR mirakc_core::timeshift: Recover or simply remove <data-file> recorder.name="nhk"

エラーメッセージで提案されているように,以下のどちらかを実行してください.

  1. mirakc rebuild-timeshiftを実行し,タイムシフト録画ファイルを再構築する
  2. data-fileを削除する

mirakc rebuild-timeshiftによるタイムシフト録画ファイルの再構築には時間がかかります(詳細はこちら).当然,再構築が完了するまでタイムシフト録画を実行することは不可能なので,この方法はお勧めしません.mirakc (v1)を起動し,必要なレコードのみを別ファイルに保存.その後,data-fileを削除することを推奨します.

レコードの保存は,mirakc-timesift-fsを利用しているならファイルをコピーすれば良いだけです.curlとWeb APIを使っても保存できますが,説明は省略します.

results matching ""

    No results matching ""