One of my favorite things is ...

2020/10/31(土)07:55

◆【テレビ録画・ラジオ録音サーバー】Plexへの録画ファイルのコピーとファイル名変更をバッチファイルで実行するようにしました

foltia Anime Locker(フォルティア・アニメ・ロッカー)(16)

パソコンを高機能、多機能なテレビ録画サーバー兼ラジオ録音サーバーに変身させるソフトが、foltia Anime Lockerです。foltia Anime Lockerをインストールしたパソコンは、nasneと同じような機能を備えたものになります。ラジオ録音ができるという部分では、nasneの機能を超えていると言えるでしょう。 そして、録画ファイルを動画配信サービスのサイトのような見た目で管理できるのがPlexメディアサーバーです。 フォルティア・アニメ・ロッカーで録画したファイルをWindowsパソコンにコピーして、Plexメディアサーバーを利用して視聴することを試していますが、録画ファイルの自動コピーが課題でした。 ファイルの自動コピーについては、Windowsの標準の機能である「robocopy」を利用したバッチファイルを1日に1回、タスクスケジューラで実行するようにしました。 下記のようなrobocopyのスクリプトによって、アニメロッカーのLAN上のDLNAのフォルダから録画ファイルをコピーしてきます。たった2行ほどのスクリプトで、自動コピーができるというのは便利だと思います。 ​なお、スクリプトのオプション設定の詳細については、先日のブログに記載しています。​ 【robocopyのスクリプト例】 robocopy \\FOLTIA\JP-file-style\01-全録画 E:\PLEX /MAXAGE:1 /S /XF *.ts /XD AAC MP4-HD MP4-SD MPEG2 /R:0 /LOG+:C:\robocopy.log 【追記:今朝確認すると、昨日成功していたタスクススケジューラによるコピー処理が行われていませんでした。同じ設定、同じ条件で1度成功しているのに、不思議なことです。とりあえず、手動で実行した後で、再び実行されないように、「/L」オプションを付けて、バッチファイルを普通に実行すると、確かに「アクセスが拒否されました」とエラーになっていました。管理者としてバッチファイルを実行すると、問題なく処理されます。対策として、robocopyのバッチファイルを起動するバッチファイルを作成して、その起動用バッチファイルをタスクスケジューラの「最上位の特権で実行する」で実行するようにしたらうまくいきました。元の設定でも直接「最上位の特権で実行する」としていたのに不思議です。明日、うまく処理されているのか確認したいと思います。「/L」は外しておきます。】 【翌朝、再び確認すると、コピー処理も名前変更も実行できていませんでした。タスクを手動で実行すると、処理が行われます。履歴を確認すると「新しいインスタンスを開始できませんでした」みたいなエラーだったので、「既存のインスタンスを停止」の設定に変更したり、「タスクを停止するまでの時間」を3日間から1日間に変更したりしました。1度成功したのに2回目に失敗したのは、「新しいインスタンス」の問題のせいだとすると、make sense です。スケジュールを変更してテストした結果では成功したので、明日こそ成功していることを望みます。】 【翌々朝、確認すると、録画ファイルコピーのタスク、録画ファイル名変更のタスクの両方が成功していました。タスクが実行されなかったのは、「新しいインスタンスの開始」の設定に問題があったからのようです。】 下記は、上記のスクリプトの実行結果のログです。スクリプトの実行前の1日間に新規に録画されたファイルだけがコピーされています。コピーをスキップしているのは、tsファイルです。 なお、中略の部分には、コピー先である「E:\PLEX」のフォルダにあるファイル(コピー済みのファイル)が表示されていました。 それにしても、録画ファイルのコピーの速度は速いようです。 パソコン間のLANは、有線の1000BASE-Tの環境ですが、1GBのファイルのコピーに5秒もかかっていないようです。エクスプローラーを使ってコピーした場合は、1秒間に40~50MBくらいの速度だったりするので、その4~5倍速い計算になります。 -------------------------------------------------------------------------------   ROBOCOPY     ::     Windows の堅牢性の高いファイル コピー                           -------------------------------------------------------------------------------  開始: 2020年10月20日 3:45:01   コピー元 : \\FOLTIA\JP-file-style\01-全録画\     コピー先 : E:\PLEX\    ファイル: *.*     除外ファイル: *.ts     除外ディレクトリ: AAC     MP4-HD     MP4-SD     MPEG2       オプション: *.* /S /DCOPY:DA /COPY:DAT /MAXAGE:1 /R:1 /W:30 ​------------------------------------------------------------------------------ 中略 ------------------------------------------------------------------------------                  合計     コピー済み      スキップ       不一致        失敗    Extras   ディレクトリ:         7         0         3         0         0         3     ファイル:        35         4        31         0         0        30      バイト:  23.906 g   1.070 g  22.836 g         0         0  12.426 g       時刻:   0:00:15   0:00:14                       0:00:00   0:00:00       速度:            77030200 バイト/秒       速度:            4407.703 MB/分   終了: 2020年10月20日 3:45:17​​​ ◇通常のコマンドのバッチファイルでは、うまくできなかったファイル名の変更 ​ 録画ファイルの自動コピーができるようになったので、次はファイル名の変更です。変更といっても、デフォルトの「録画日時、録画予約方法、番組名、番組説明」といった、長いファイル名のうち、「録画予約方法」の部分を削除するだけです。 Plexの画面で録画ファイルの一覧を表示させるときに、サムネイルありのグリッド形式では、「キーワード録画_数字」「EPG録画_数字」といった録画予約方法の部分までの表示になる場合があり、その後ろにある番組名が見づらいという問題がありました。 当初、コマンドのバッチファイルで「キーワード録画_数字」「EPG録画_数字」の部分を削除しようとしました。 しかし、「キーワード録画」「EPG録画」といった固定の文字列の削除はできましたが、録画番組ごとに変わる数字の部分を削除することはできませんでした。一昨日までの録画ファイルはこの数字が残っています。普通のコマンドのバッチファイルでは、「[0-9]+」(数字の繰り返し)のような正規表現が利用できませんでした。 ​そこで、昨日に録画したファイルから、PowerShellのスクリプトを利用して処理することにしました。 下記の記事などを参考にさせていただき、録画ファイルの名前に含まれている「キーワード録画_数字」「EPG録画_数字」の部分を削除しました。実際には、当該文字列を「_」(アンダーバー)に置き換えています。​ この処理をすることによって、Plexのサムネイル画面上で番組名がわかりやすくなりました。ほんの少しのことですが、番組名がわかりにくいというストレスが軽減されます。 ​ ↓こちらのサイトのPowerShellのコードを基にバッチファイルを作成しました。 ​ ​​【録画ファイル名変更のスクリプト例】​​ Set-Location -path E:\PLEX$before1 = "_EPG録画_[0-9]+_"$after1= "_"$before2 = "_キーワード録画_[0-9]+_"$after2= "_"$dir = $Args[0]$itemList = Get-ChildItem . -Recurseforeach($item in $itemList){  if(-not $item.PSIsContainer)  {    Get-ChildItem $item.FullName | Rename-Item -NewName { $_.Name -replace $before1,$after1}    Get-ChildItem $item.FullName | Rename-Item -NewName { $_.Name -replace $before2,$after2}  }​} ​​------------------------------------------------- 【上記の録画ファイル名変更のスクリプトを起動するバッチファイル】​​ pushd %~dp0powershell -ExecutionPolicy Bypass -command "%~dp0録画ファイルから文字列削除.ps1"  ---------------------------------------------------- PowerShellの「録画ファイルから文字列削除.ps1」のファイルと、そのファイルの起動用のバッチファイルは、録画ファイルのコピー先である「E:\PLEX」のフォルダに置いています。タスクスケジューラで起動用のバッチファイルを1日1回走らせるように設定しようと思います。 アニメロッカー側での処理を行わずに、Windowsの無料のツールで録画ファイルのコピーとファイル名変更の処理ができました。この処理をしているのが、Windows 8.1のパソコンなので、PowerShell Coreをインストールする必要がありましたが、スクリプトファイル自体はメモ帳で作成できます。 リナックスになじみのない私が、リナックスで同じことをするよりも簡単にできたと思いますが、バッチファイルの実行では、「カレントディレクトリ」などの設定がわかりにくく、何度もやり直しましたが、なんとか処理できるようになりました。 まあ、PowerShellがリナックスより簡単なわけではありませんが、使い慣れたWindowsの環境で利用できるというのがメリットです。 Windowsでも、いろいろなことが、かなり簡単にできることがわかりました。 以上、アニメロッカーで録画したファイルの管理という、ニッチな実用情報ですが、備忘録もかねてまとめてみました。 なお、robocopy の概要やオプション設定については、下記のページがわかりやすいと思います。 ​​ -----------------------------------------------------------------------------------------​​ ​​ ​----------------------------------------------------------------------​​​​楽天市場で「マスク」を検索する​​ 楽天市場で「ポビドンヨード」を検索する ​楽天市場で「イソジン うがい薬」を探す​ 楽天市場で「うがい薬」を検索する 楽天市場で「マウスウォッシュ・洗口液」を探す ​----------------------------------------------------------------------- ​楽天市場で「フコイダン」を探す ​ ​----------------------------------------------------------------------- ​ ​​AQUOS sense3 lite+Rakuten UN-LIMITプランセット(事務手数料3300円込)【22000円相当のポイント還元】 価格:31280円(税別、送料別)(2020/7/15時点)楽天で購入​ついに、AQUOS sense3 liteも高額ポイントの対象になりました。マイナンバーカードの読み取りに対応している機種です。​ ---------------------------------------------------------------------------------- ​​​​​​Galaxy A7+Rakuten UN-LIMITプランセット(事務手数料3300円込)【15000円相当のポイント還元】 価格:22000円(税込、送料無料) (2020/5/31時点)楽天で購入↑楽天市場店で購入すればよかったと思います:アマゾン・プライム・ビデオはHD 1080Pで視聴できます:有機ELなので、黒がきれいです:ヘッドホンでのドルビーアトモスに対応しています。​​ ------------------------------------------------------------------------- ↓楽天市場以外の有名ストアの利用でも楽天ポイントが貯まります。 -------------------------------------------------------------​​​​​ ​​ --------------------------------------------------------------------------​​​​ ​ ​ -------------------------------------------------------------------------​ ​【ダッシュボード「COVID-19 Transition Graphs」を試作】​​ こちらは、ジョンズ・ホプキンス大学のデータを利用したダッシュボードです。 中国本土以外の地域への感染が拡大しているため、国別、地域別の感染者数の推移を簡単に確認できるダッシュボードを試作しています。​ 随時、ページを追加しています。グラフのデータは、右上部分の操作でダウンロードすることができます。 アメリカの「地域別の変数」を前処理して、「州別」での推移をグラフ化できるようにしました。 また、州コードのフィールドを作成してコロプレス地図も作成しています。 ​​ 楽天ブログでは「iframe」タグが使えないので、Bloggerのページから利用できるようにしています。 無料で利用できる、グーグルの「データポータル」のダッシュボードです。データさえあれば、簡単に作成できます。「国」別、「地域」別に日ごとの感染者数の推移を見ることができます。 ↓ダッシュボードの試作です。下記リンクのページから利用できます。 ​​​ ​ジョンズ・ホプキンス大学の「JHU CSSE」の「Covid19 Daily Reports」のデータを利用しています。 ​EdgeブラウザやIEブラウザなど、Chromeブラウザ以外での利用の場合はうまく表示されないことがあるようです。 ↓上記のダッシュボードのデータの出所のサイトです。マップがメインのダッシュボードです ----------------------------------------------------------------------------------------- ​​ ↓日本のインフルエンザの「定点当たり報告数」をグラフ化できるダッシュボードを試作。都道府県別にグラフ化可能です。 ​-------------------------------------------------------------------------- ★おすすめの記事 ​​ ​​ ​​ ​​ ​​​ ​​◆How Windows Sonic looks like.​​:Windows Sonic for Headphonesの音声と2chステレオ音声の比較:7.1.2chテストトーンの比較で明らかになった違い:一目で違いがわかりました​ ​​ ​​ ---------------------------------------------------------------------------------------------------------- ​​ ​​​​​​​​ ​​ ​​​​

続きを読む

このブログでよく読まれている記事

もっと見る

総合記事ランキング

もっと見る