初期設定・環境設定の方法 - dongaba/TVerRec GitHub Wiki

アプリの設定はconf/user_setting.ps1で設定します。 初期設定はconf/system_setting.ps1に記載されていますが、TVerRec のバージョンアップとともに内容が変更される可能性があります。 ですので、各環境に合わせた設定はconf/user_setting.ps1に設定することで TVerRec のバージョンアップによる上書きを防ぐことができます。 conf/user_setting.ps1存在しない場合はconf/system_setting.ps1をコピーして作成し、設定変更しなかった項目は削除してください。

Windows 環境の場合は、win/Setting.cmdを実行することで GUI を使って設定することも可能です。

TVerRec の動作

初期設定を進める上で、まずは TVerRec の動作について理解する必要があります。 わかりにくいと多くの指摘を受けますが、TVerRec は以下のような考え方でダウンロード、ファイルの移動を行います。

  1. 番組のダウンロード

    • win/a.download_bulk.cmdwin/z.download_single.cmdwin/y.tverrec_list.cmdを実行することで、番組をダウンロードします。 (win/start_tverrec.cmdを実行すると 1-4 まですべて実行されます)
    • ダウンロード途中のファイルは$script:downloadWorkDirに作成されます。
    • このディレクトリには多数のファイルが作成・削除されるため、SSD や RamDrive の使用を推奨します。
    • ダウンロードが成功した番組は$script:downloadBaseDirに保存されます。
    • この時点ではダウンロードしたファイルの整合性は未確認のため、ダウンロードしたファイルが破損しているケースもあります。(つまり再生できないファイルが保存されることがあります)
    • ダウンロードの履歴はdb/history.csvに「整合性未確認」の状態で記録されます。
    • db/history.csvに記録された動画は再度ダウンロードされることはありません。
  2. ゴミファイルの削除

    • win/b.delete_trash.cmdを実行することで、ダウンロードが途中で中断した際に残るゴミファイルや TVerRec の動作中に作成される不要なファイルを削除します。
    • ダウンロード対象外リストとマッチする動画の削除も行います。
    • ダウンロード中に作成されたからフォルダの削除も行います。
  3. ダウンロード番組の整合性検

    • win/c.validate_video.cmdを実行することで、$script:downloadBaseDirにダウンロードされたファイルの整合性確認をします。
    • ダウンロードしたファイルの整合性が確認されるとdb/history.csvのステータスが「整合性確認済」の状態に更新されます。
    • ダウンロード正常にできていない場合やダウンロードしたファイルが破損している場合は、db/history.csvから削除されます。
    • db/history.csvから削除された番組は、TVerRec を再度実行した際に再ダウンロードされるようになります。
  4. ダウンロード番組の移動

    • win/d.move_video.cmdを実行することで、$script:downloadBaseDirにある番組のうち$script:saveBaseDirに番組ディレクトリがある動画が$script:saveBaseDirに移動されます。
    • $script:downloadWorkDirは Plex などのソフトを使って動画ライブラリを管理しているようなケースを想定しています。
    • TVerRec はジャンル指定などで番組をダウンロードするため、本来であればダウンロードする必要のない番組までダウンロードされることがあります。
    • $script:downloadBaseDirはそのような番組もダウンロードされる一時領域と考えることもできます。 (定期的に$script:downloadBaseDirディレクトリ内を確認し、不要な番組をignore.confに追記の上削除し今後ダウンロードの対象外とするような使い方です。)
    • 一方で、$script:saveBaseDirに本当にダウンロードしたかった番組移動することで、同じ番組の別のエピソードを自動的に$script:saveBaseDir配下に移動することができます。
    • このようなライブラリ管理を必要としない方は$script:saveBaseDirを設定しなければ何も移動されません。

    以下のようなディレクトリ構成となっているときに、

     `$script:saveBaseDir`
       ├─番組ディレクトリ 2
       │  └─番組ファイル a
       └─番組ディレクトリ 4
          └─番組ファイル b
    
     `$script:downloadBaseDir`
       ├─番組ディレクトリ 1
       │  ├─番組ファイル e
       │  └─番組ファイル d
       ├─番組ディレクトリ 2
       │  ├─番組ファイル e
       │  └─番組ファイル f
       └─番組ディレクトリ 3
          ├─番組ファイル g
          └─番組ファイル h
    

    以下のようにファイルを移動します。

     `$script:saveBaseDir`
       ├─番組ディレクトリ 2
       │  ├─番組ファイル a
       │  ├─番組ファイル e
       │  └─番組ファイル f
       └─番組ディレクトリ 4
          └─番組ファイル b
    
     `$script:downloadBaseDir`
       ├─番組ディレクトリ 1
       │  ├─番組ファイル e
       │  └─番組ファイル d
       └─番組ディレクトリ 3
          ├─番組ファイル g
          └─番組ファイル h
    
    • つまり、動画ファイルは基本的に$script:downloadBaseDirに保存されますが、動画ライブラリ管理を$script:saveBaseDirで行う場合は TVerRec が自動的に移動するためライブラリ管理が楽になります。
    • $script:downloadWorkDirは TVerRec が中間ファイルを生成するディレクトリですので、通常開く必要はありません。