てきとうメモ

PC系のてきとうなメモ

はじめてのTS抜き 録画予約 EDCBにて - DD Max M4 on Win10

はじめてのTS抜き - DD Max M4 on Win10 - てきとうメモ で、TVTest での視聴が無事できたので、EDCB による録画予約に挑戦します。

TS抜き (TVTest+EDCB+α) 環境構築 & ビルド済み配布 | つくみ島だより から、ビルド済みのzipから導入手順まで、すべてを参考にさせていただきました。

EDCB については、こちらの 解説ページ の解説が分かりやすかったです。

用語

  • スリープ
    • ここでは、PCが停止して節電モードになることを指すことにします。つまりWindowsの「スタンバイ」状態と「休止」状態の両方のことを指します。
      • 「スタンバイ」は、PCの作業状態をメモリに保存して停止します。復帰が早いです。
        • キーボードを叩けば、復旧すると思います。
        • 電源コードを引き抜くと、作業内容が失われる、かもしれません。
      • 「休止」は、PCの作業状態をディスクに書き出して停止します。復帰に少し時間はかかりますが、「スタンバイ」よりもさらに省電力です。
        • キーボードを叩いても、復旧しなと思います。電源ボタンを押さなければ復旧が始まらないと思います。
        • 電源コードを引き抜いても、作業内容は失われない、はず…です。
      • Windows10では、「スリープ」はほぼ「スタンバイ」のことを指すようですが、この記事では、「スリープ」はとにかくPCが作業を停止し、ストレージやディスプレイ表示も停止して、節電モードになることを指すことにします。

目次

録画専用PCを購入 - 3万円ちょっと + HDD

前回の記事 にも書いたのですが、DD Max M4 を利用するためには、「セキュアブート」というセキュリティ関連の設定を切らなければ、ドライバが動きません。
また、メインPCではいろいろと作業することもあり、録画と作業が重なって何か失敗するのも嫌だったので、録画専用のPCを用意することにしました。

PC選び - フルハイトカードが挿さるスリムPCがなかなか無い

どうもTS抜きの録画には、それほど高いPCスペックは必要ないようなので、こだわりさえ無ければPCは何でも大丈夫だと思います。
(PCの詳しい負荷状況については、あとで書きます。)

私の場合は、以下の点にこだわりたかったため、PC選びが難航しました。

  • スリムPCがいい
    • メインPCがかなり大きく、この隣にまたミニタワーなどを置きたくなかったので、なるべくPCは小型のもので済ませたかったです。
  • [必須] フルハイトの PCI Express x1 スロットが必要
    • DD Max M4 はフルハイトなので、スリムPCと言えども、フルハイトのカードが挿さるものでなければなりません。スリムPCの拡張スロットはハーフハイトのものばかりなので、ここで一気に選択肢が狭くなります。
    • どうしてもフルハイトが挿さるPCが手に入らなければ、DD Max M4 ではなく PT4K を使うのがいいかもしれません。私は持っていないです。
  • 費用と手間をおさえたい
    • 数は少ないものの、フルハイトが入るスリム型のベアボーンもあるようです。しかし、PCの自作は楽しいものの、特に小型PCだと、せっかく購入したパーツがケースにうまく入らなかったり、動作しない理由がなかなか分からなかったりと、いろいろと苦労も伴うと思います。また新品で揃えると、それなりにお値段もするので、今回は中古の出来合いのものを選ぶことにしました。

「スリムで、フルハイトカードが入り、しかも安くて安定していそうな出来合いのもの(中古OK)」となると、ほとんど選択肢がありません。

富士通 ESPRIMO D587 シリーズ

やっと見つけたのが、富士通の法人向けPC「ESPRIMO D587 シリーズ」です。 2017年に発売 されたもののようなので、そこまで古くもなく、中古ショップで2万円台後半から見つかりました。 しかも Windows 10 Pro がプリインストールされています。

なお写真のフロントパネルが黒だったので、全体も黒なのかと思ったのですが、購入した D587/S は、黒いのはフロントパネルだけで、筐体はオフィスによくありがちなオフホワイトのような色でした。 現行の ESPRIMO シリーズ のページを見ると、全体が黒のものもあるようなので、もしかしたら筐体色に種類があるかもしれません。

f:id:tekitou_memo:20210521212132j:plain
FUJITSU ESPRIMO D587/SX

D587シリーズには、D587/SXD587/RX など、いくつかのシリーズがあります。 しかも各シリーズの「FMVD...」といった型番の違いで、CPUやメモリ容量、HDDかSSDか、Win10ではなくWin7 などなどの、こまかい違いがあるようです。

私が少し見てみたかぎりでは、下記のシリーズであれば、PCI Express x1 フルハイトスロット が1本(さすがにハーフレングスのみっぽいですが)あるので、DD Max M4 も挿さると思いますが、購入の際はよく調べて、いつもどおり自己責任でお願いします。 私が見たときは、富士通このページ の サポート情報 の先の マニュアル の 製品ガイド(機種別編) に、スペックが詳しく載っていました。
また、現行の ESPRIMO シリーズ のページを少し見たところ、「ウルトラスモール」ではなく「コンパクト型」であれば、PCI Express x1 は挿さるようですが、個人で買えるのか不明なのと、お値段も当然いまどきのPCの価格でした。

  • D587 / D588
  • D956 / D957 / D958

たとえば、1つ前の D586シリーズ も、一見フルハイトが挿さりそうなのですが、PCI Express ではなく古い PCI バスのようなので、DD Max M4 は挿さらないと思います。 購入の際は、背面の写真だけで選ばないよう、要注意です。 心配なときはショップへ質問してみましょう。

ちなみに D587シリーズ などの背面写真を見ると、スロットが2本あるように見えます。 実際に筐体を開けてみると、ライザカードには PCI Express x1 スロットに加えて PCI Express x16 スロットのようなものがあるのですが、マニュアルによるとこれは何かのカスタムメイド専用カード用のようです。
また、このライザカードのおかげでカードが取り付けやすく、前回の記事 のように DD Max M4 のネジをはずして無理やり挿すといったことはしなくて大丈夫でした。

というわけで、私が購入したのは下記のものです。保障も少し付けてくれる販売店にしました。

  • FUJITSU ESPRIMO D587/S FMVD3301 - 3万円ちょっと
    • OS: Windows 10 Pro 64bit
    • CPU: Core i5 7600 (3.5GHz / Quad Core)
    • メモリ: 8GB (スロット4本中1本使用)
      • マニュアルに、「フラッシュメモリディスク 128GB 搭載機種は、最大 8GB まで」と書かれています。これ以上の増設は無理かもしれません。
    • ストレージ: 128GB SSD
      • SSDが載ったD587/Sは「24時間モデル」というものの可能性があり、どれくらい使い込まれたものか心配だったのですが、CrystalDiskInfo で見たところ、それほどでもなかったので幸運でした。
    • グラフィック: CPU内蔵
      • 手元に HDMI 接続のディスプレイしかなかったので、Display Port は使わず、DVI/D を HDMI に変換して表示しています。ディスプレイのスピーカーからも音は無事に鳴りました。
    • その他: DVDドライブ

ストレージが 128GB(空き70GBくらい)だと、録画には不足気味なので、その後 DVDドライブ を外し、代わりに 5インチ→3.5インチ のマウンタを使ってHDDを載せました。

必要なスペック

これは後付けで書いたものです。

録画PCの運用を少しやってみた感じでは、再エンコードなどさせずに、録画に専念させるかぎり、CPUやGPUの負荷は、ほとんどかからないようです。

一方で、「再生」や「表示」をすると、GPU負荷がどんどん上がっていきました。 (CPU負荷は大したことはなかったです。)
「TVTest を1つ起動し、視聴しつつ録画しながら、以前録画した動画を動画再生アプリで1つ再生」した場合の負荷は、以下のような感じでした。

  • CPU負荷: 10% ぐらい
  • GPU負荷: 50% ぐらい
  • メモリ使用量: 2.5GB ぐらい

また TVTest を4つ起動し、4チャンネル同時表示してみたところ、GPU負荷がほぼ 100% になりました。

EDCB のダウンロード

前述のとおり、つくみ島だより 氏作成の、ビルド済みzipファイルを頂戴します。

Windows Defender で「Program:Win32/Uwamson.A!ml」が検知される

上記の zipファイル をダウンロードすると、Windowsから「望ましくない可能性のあるアプリが見つかりました」と警告が出ることがあります。
作者の つくみ島だより 氏いわく、これは誤検知のようです。 こちらの 解説ページ に詳しく書かれています。

次のインストールのステップで、このzipファイルの展開などができない場合は、Windowsの通知に何か出ていると思うので、「Windows セキュリティ」の「ウィルスと脅威の防止」から「Program:Win32/Uwamson.A!ml」を選択し、「デバイスで許可」を選んで「操作の開始」をクリックすると、先へ進めるのではと思います。

EDCB のインストール

インストーラは付属していないので、C:\DTV\EDCB\ フォルダを作成し、ここへ手でインストールすることにします。

zipファイル内の EDCB-210216\EDCB_64bit\ にあるすべてのファイルを、C:\DTV\EDCB\ へコピーします。

以下の説明では、zipファイル内の Readme.txt も参考にさせていただきました。

BonDriver を準備

前回の記事 で作成した、下記の9個のファイルを、C:\DTV\EDCB\BonDriver\ へコピーします。
(似た名前で「~.ch2」というファイルも4個作成されていますが、これはコピーしません。)

  • BonDriver_MaxM4_0.dll
  • BonDriver_MaxM4_0.ini
  • BonDriver_MaxM4_1.dll
  • BonDriver_MaxM4_1.ini
  • BonDriver_MaxM4_2.dll
  • BonDriver_MaxM4_2.ini
  • BonDriver_MaxM4_3.dll
  • BonDriver_MaxM4_3.ini
  • DD.dll

録画アプリの設定 - EpgDataCap_Bon

EpgDataCap_Bon は、EDCB のツール群のなかで、録画を担当するアプリのようです。
(録画「予約」は別のアプリが担当します。)

C:\DTV\EDCB\ の下の EpgDataCap_Bon.exe をダブルクリックして起動します。

WindowsによってPCが保護されました」というダイアログが出たら、「詳細情報」をクリックし、現れた「実行」ボタンをクリックします。

f:id:tekitou_memo:20210516223719j:plain
EDCB PC保護警告ダイアログ

また「VCRUNTIME140_1.dll が見つからないため、…」というエラーが出たら、Microsoftこのページ から「vc_redist.x64.exe」をダウンロードし、実行してインストールしてみてください。

f:id:tekitou_memo:20210521225312j:plain
「VCRUNTIME140_1.dll が見つからない」エラー

無事 EpgDataCap_Bon が起動した…と思ったら、「チャンネル情報の読み込みに失敗しました」と出ています。

f:id:tekitou_memo:20210516223843j:plain
EDCB 初めて起動

チャンネルスキャン

EpgDataCap_Bon アプリのウィンドウの「BonDriver」に「BonDriver_MaxM4_0.dll」が選択されているので、その右にある「チャンネルスキャン」をクリックします。

何も起こらない…と思ったら、よく見たら左下の2つのテキストボックスに チャンネルスキャン のステータスが表示されています。

f:id:tekitou_memo:20210516225223j:plain
EDCB チャンネルスキャン

残り時間も表示されるので、このまま待ちます。 「終了しました」のメッセージが出るまでに、10分ぐらいかかったと思います。

f:id:tekitou_memo:20210516230318j:plain
EDCB チャンネルスキャン 終了

ここで終わりではありません!

この チャンネルスキャン を、BonDriver の数だけ、つまりあと3回繰り返します。 4チャンネル合計で3~40分かかるということです。

「BonDriver」のプルダウンから BonDriver_MaxM4_1.dll を選択し、「チャンネルスキャン」をクリックします。 これを BonDriver_MaxM4_2.dll 、BonDriver_MaxM4_3.dll でも行います。

分配器で BS/CS のアンテナケーブルを各チューナーへ接続していない場合は、もちろん 地デジ しかスキャンされません。

録画保存フォルダの設定

「設定」ボタンから「基本設定」タブを開き、「設定」ウィンドウを開きます。

「録画保存フォルダ」が C:\DTV\EDCB\Setting\ になっているので、前回の記事 で指定したフォルダに変更します。
「C:\DTV\EDCB\Setting」を選択して「削除」をクリックし、「開く」から D:\dokoka_ookina_storage\ など適当な大きめのストレージを選択し「OK」して、「追加」すると 録画保存フォルダ として登録されるので、「OK」でウィンドウを閉じます。

f:id:tekitou_memo:20210522124625p:plain
EpgDataCap_Bon 録画保存フォルダ

おためし録画

EpgDataCap_Bon のウィンドウには、視聴動画は表示されないようです。

さきほどの チャンネルスキャン で、「サービス」のプルダウンに多くのチャンネルが表示できるようになりました。 チャンネル名の選択を変更すると、ウィンドウ右下の番組情報のテキストボックスが、放映中の番組の内容に変わるようです。

とりあえず、トラブルが少なそうなものということで、前回 TSプロセッサー を設定しなくても映った、CS の ショップチャンネル を録画してみます。 チャンネルを選択し、すぐ右の「即時録画」ボタンをクリックします。

ウィンドウ左下のテキストボックスに「録画中」と表示されました。 1分ほど待ったのち、「キャンセル」ボタンをクリックします。 「録画を停止しますか?」のダイアログに「はい」をクリックして、停止します。

先ほど設定した録画保存フォルダ D:\dokoka_ookina_storage\ に、{年月日}-{時分秒}-ショップチャンネル.ts というファイルができていました。 ダブルクリックすると動画再生アプリが起動し、無事に再生できました!

他のチャンネルも、問題なく録画できました。
なお TVTest の時と同様に、最初の数秒は、映像や音声が乱れていることがありました。

その他の設定

「設定」ボタンで表示される 設定ウィンドウ には、「基本設定」以外にもいくつかタブがあります。

こちらの 解説ページ に詳しい説明があるので、参考にしてみてください。

ここでは下記に書いたものだけ設定しました。

  • 「基本設定」タブ
    • 「最小化時タスクトレイに入れる」にチェックを入れます。EpgDataCap_Bon を最小化すると、タスクバーには残らず、タスクトレイへ格納されるようになります。
  • 「動作設定」タブ
    • (特に何も変えませんでした。)
  • EPG取得設定」タブ
    • (特に何も変えませんでした。)
  • 「サービス表示設定」タブ
    • (特に何も変えませんでした。)
  • 「ネットワーク設定」タブ
    • この 解説ページ によると、UDPよりもTCPのほうが推奨らしいとのことなので、「TCP送信」内の「追加」をクリックします。「送信先一覧」に 127.0.0.1:2230 が追加されます。
  • 「外部アプリケーション設定」タブ
    • 「使用exeパス」には、TVTest.exe を指定します。ここまでの記事どおりに設定している場合は、C:\DTV\TVTest\TVTest.exe のはずです。
    • コマンドラインオプション」には、/d BonDriver_TCP.dll /nd /p 2230 と入力します。

終わったら、ウィンドウ右下の「OK」をクリックして完了です。

(やらなくてもいい) TVTest でテレビを見てみる

このセクションで解説することは、やらなくても EDCB での録画環境を作ることはできるので、丸ごとスキップしても大丈夫です。

これまで TVTest では、DD Max M4用のBonDriverを直接使ってテレビを見ましたが、ここでは試しに EpgDataCap_Bon 経由で見てみます。

これまで 今回
放送電波 放送電波
DD Max M4 DD Max M4
BonDriver_MaxM4_0~3.dll BonDriver_MaxM4_0~3.dll
EpgDataCap_Bon
BonDriver_TCP.dll
TVTest TVTest

さきほどの「外部アプリケーション設定」タブにて、EpgDataCap_Bon から TVTest を起動する設定がすでに完了しているので、さっそくやってみます。
EpgDataCap_Bon ウィンドウ内の「View」ボタンの 右の「TCP」にチェックを入れ、続いて「View」をクリックしてみましょう。

もし「このアプリの機能のいくつかが Windows Defender ファイアウォールでブロックされています」と出たら、「アクセスを許可する」をクリックします。

f:id:tekitou_memo:20210522123726p:plain
TVTest ファイアウォールでブロックされた

TVTest に映像が映れば成功です。左下のチューナー表示には「TCP」と出ているはずです。

EpgDataCap_Bon の「サービス」からチャンネルを変更すれば、TVTest に映るチャンネルも変わります。

いったん終了

C:\DTV\EDCB\Readme.txt によると、次の EpgTimer.exe へ進む前に、ここで一度 EpgDataCap_Bon.exe を終了させたほうがよいようです。

録画予約アプリの設定 - EpgTimer

EpgTimer は、EDCB のツール群のなかで、録画予約を担当するアプリのようです。

C:\DTV\EDCB\ の下の EpgTimer.exe をダブルクリックして起動します。

例によって「WindowsによってPCが保護されました」というダイアログが出たら、「詳細情報」をクリックし、現れた「実行」ボタンをクリックします。

最初の設定

「設定」ボタンから 設定ウィンドウ を開き、下記のとおり設定していきます。

  • 「基本設定」タブ
    • 「基本」タブ
      • 「BonDriver」の「チューナー数」
        • BonDriver_MaxM4_0~3.dll それぞれに「1」を選択します。
          • f:id:tekitou_memo:20210522185323p:plain
            BonDriver_MaxM4_0~3.dll チューナー数を 1 にセット
  • 「動作設定」タブ
    • 「録画動作」タブ
      • 「録画、EPG取得終了後のデフォルト動作」を「何もしない」に変更します。これをやらないと、このあと「EPG取得」をしたときに、終了後自動的にPCがスリープしてしまいます。
    • 「予約情報管理」タブ
      • 「録画時のファイル名にPlugInを使用する」にチェックを入れます。続いて右隣りの「設定」をクリックし、「マクロ」の $Title$.ts$SDYYYY$$SDMM$$SDDD$ $Title2$.ts に変更して「OK」をクリックします。これで録画ファイルの名前が「{年月日} {番組名}.ts」になります。

とりあえず、これくらいで「OK」をクリックして 設定ウィンドウ を閉じます。

チューナー数 を変更したので、一度ここで EpgTimer を再起動させる必要があるようです。
終了し、もう一度 EpgTimer.exe をダブルクリックして実行します。

番組表

ここまで、チャンネルの表示や、放映中の番組の情報の表示はできましたが、番組表というものはまだ見ていません。

再起動した EpgTimer の「EPG取得」をクリックします。

ほどなくして、よく見るとタスクトレイに、以下の計5つのアイコンが表示されます。

  • EpgTimerSrv(緑の時計アイコン)
  • 「BonDriver_MaxM4_0~3.dll:{チャンネル名}」(EpgDataCap_Bon のアイコンの上部が黄緑になったもの)
    • EPG取得」をクリックすると、どうも EpgDataCap_Bon がチューナーの数だけ起動されるようです。

そして EpgTimerSrv からは「EPG取得 開始」というWindowsの通知が届き、数分(私の環境では6分でした)経つと、今度は「EPG取得 終了」という通知が届きます。

ここで EpgTimer の「番組表」タブを選択してみると、見事に全チャンネルの番組表が表示されます!

一般のチューナーにまた一歩近づいたようで、ちょっと嬉しいです。

なお 終了 の通知のあとのタスクトレイのアイコンは、EpgTimerSrv のみが残っており、BonDriver_MaxM4_0~3... は消えていました。

おためし録画予約

PCがスリープしてても自動的に目覚めて録画…という素晴らしい環境を作る前に、とりあえず 録画予約 ができるかを試してみましょう。

EpgTimer の 番組表 から、手頃な番組を右クリックし、メニューから「簡易予約」をクリックします。
(放映中の番組でも、「簡易予約」できるようです。すぐに録画開始へ進みます。)
番組が、黄緑の四角で囲われました。

「予約一覧」タブを見てみると、今予約した番組の情報が1行出ています。

録画開始までに、Windowsの通知がいくつか届きます。

  • 録画開始時刻が近づく →「EpgTimerSrv 予約録画開始準備 BonDriver_MaxM4_0.dll」
  • 録画開始時刻の直前 →「EpgTimerSrv 録画開始準備 {番組名}」
  • 録画開始時刻 →「EpgTimerSrv 録画開始 {番組名}」

タスクトレイを見ると、EpgTimerSrv の時計アイコンの他に、EpgDataCap_Bon のアイコン(上部が紫色)が1つ現れています。

録画保存フォルダに指定した D:\dokoka_ookina_storage\ をエクスプローラで見ると、{年月日} {番組名}.ts と {年月日} {番組名}.ts.program.txt という2つのファイルができています。
どうも録画が進んでいるようです。

録画中でも、PCには、ほとんど負荷はかかっていないようです。 CPU の使用率は 数%前半~たまに10%少々、 GPU はほぼ 0% で、負荷らしい負荷はかかっていません。 メモリ使用量も 2.3GB くらいで、録画前とあまり変わりません。
2番組が重なるように録画予約しても、CPU の使用率が +1~2% になった程度でした。
番組視聴 や 録画の再生 をしないかぎり、PCのスペックは本当に低くて大丈夫なのかもしれません。 なお DD Max M4 のページによると、System requirements は Dual Core、512MB RAM とのことです。 今回録画専用PCとして購入した ESPRIMO D587/S は、RAM が 4GB のものが多かったのですが、4GB でも大丈夫だったかもしれません。

録画終了時刻になると、「EpgTimerSrv 録画終了 {番組名}」という通知が届きました。

さっそく録画保存フォルダ D:\dokoka_ookina_storage\ を見てみると、以下のファイルが作成されています。

  • {年月日} {番組名}.ts
  • {年月日} {番組名}.ts.err
  • {年月日} {番組名}.ts.program.txt

とりあえず tsファイル を動画再生アプリで開くと、無事に録画されています!

ts.program.txtファイル をメモ帳で開くと、番組の詳細がテキストで保存されています。

ts.errファイル は、ドロップログというもののようです。
パケットがドロップして、ブロックノイズでも乗ったか…と思ったのですが、録画を見ても特に問題はありませんでした。
ファイルをメモ帳で見てみても、どの行も「... Drop: 0 ...」となっています。
この ts.errファイル は、本当にドロップが起きた時のみ出力されるように設定できます。
EpgDataCap_Bon を開き、「設定」から「動作設定」タブで、「ドロップ数が」の値が 0 になっているはずなので、1 に変更しましょう。
ts.errファイル 内には、使用したBonDriverも出力されるので、作成された際には、調子の悪いチューナーの特定に役立つかもしれません。

スリープを試す

EpgTimer を一度起動すれば、EpgTimerSrv がタスクトレイに常駐します。
EpgTimer を終了(ウィンドウ右上の [×] をクリック)しても、EpgTimerSrv がタスクトレイに居るかぎり、録画予約はきちんと実行されるようです。

また、EpgTimer にて録画予約したあと、録画開始までに時間があれば「スタンバイ」や「休止」をクリックして、PCをスリープ状態にすることができます。

スタンバイ

「スタンバイ」をクリックすると、PCは停止するものの、電源ランプは1秒毎にチカチカ点滅したままです。

そして録画開始の6分ほど前に、自動的に復帰しました!
なおディスプレイは消えたままでした。

録画終了時間になると、また「スタンバイ」に移行したようです。

キーボードを叩くと、すぐに画面が映り、復帰しました。

録画はちゃんとできていました!

休止

「休止」をクリックすると、PCは停止し、電源ランプも消えました。 一見、完全に電源を切ったのと同じ状態です。

そして録画開始の6分ほど前に、自動的に復帰しました!
ディスプレイは、点灯して FUJITSUWindows のロゴが表示されたあとは真っ黒のままですが、バックライトは10分以上経ってもつきっぱなしでした。

録画終了時間になると、また「休止」に移行したようです。ディスプレイも消えました。

キーボードを叩いても反応はなく、復帰するためには電源ボタンを押す必要があります。

録画はちゃんとできていました!

PCのリブート対応

今の状態では、何かの理由でPCがリブートした際、EpgTimer は自動的には起動してくれません。 もし録画が予約されていても、PCが起動しただけでは録画は行われないようです。 ログインした際にも、「録画終了 {番組名} 録画時間に起動していなかった可能性があります」というWindowsの悲しい通知が届きます。

Windows Update などでPCがリブートした際にそなえて、ログインしなくても録画が自動的に実行されるようにしておきましょう。

「スタートアップ」に EpgTimer.exe へのショートカットを置くという手もあるようなのですが、今回はWindowsの「サービス」という仕組みを使ってみます。

EpgTimerSrv をサービスに登録

「サービス」に登録するものは、EpgTimer ではなく、その後ろで走っている EpgTimerSrv というツールです。
EpgTimerSrv は、録画予約などの設定どおりに録画を行うツールで、EpgTimer は、実際には EpgTimerSrv の設定を行うだけのフロントエンドツール、らしいです。
そのため、録画予約の実行のために「サービス」で起動しておかなければならないツールは、EpgTimer ではなく EpgTimerSrv となります。

では、さっそく設定していきましょう。

まず EpgTimer が起動されていれば、これを終了します。 タスクトレイを見て、時計アイコンが残っていれば、右クリックして「Srv終了」をクリックします。

ここから、少し手間がかかります。コマンドプロンプトでの作業になります。
少し下に、コマンドプロンプトスクリーンショットを貼っておきましたので、あわせて参考にしてみてください。

まずWindowsの スタートメニュー →「Windows システム ツール」→「コマンド プロンプト」を右クリックし、「その他」→「管理者として実行」をクリックします。

「C:\WINDOWS\system32>」と表示されているので、ここに以下の1行を入力し、最後に [Enter] を入力して実行します。

sc.exe create "EpgTimer Service" start= auto binPath= "C:\DTV\EDCB\EpgTimerSrv.exe" obj= "NT AUTHORITY\LocalService"

「[SC] CreateService SUCCESS」と表示されれば成功です。

続いて、同じように以下の1行を実行します。

sc.exe sidtype "EpgTimer Service" unrestricted

「[SC] ChangeServiceConfig2 SUCCESS」と表示されれば成功です。

最後に、以下の1行を実行します。

sc.exe start "EpgTimer Service"

少し長いメッセージが出てくれば成功です。

f:id:tekitou_memo:20210523170730p:plain
EpgTimerSrv を サービス として登録

最後のコマンドで「[SC] StartService FAILED 1053: そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。」と出る場合は、タスクトレイに EpgTimerSrv アイコンが残っていないか確認しましょう。
もし残っていたら、タスクトレイのアイコンを右クリック →「Srv終了」し、もう一度コマンドプロンプトから最後の3番目のコマンドを実行すれば、成功すると思います。

これでコマンドプロンプトでの作業は終了なので、ウィンドウを閉じます。

サービスに登録されたか見てみましょう。
スタートメニューを右クリック →「コンピューターの管理」→「サービスとアプリケーション」→「サービス」をクリックし、一覧のなかに「EpgTimer Service」が「実行中」の状態で表示されていれば成功です。

f:id:tekitou_memo:20210523171920p:plain
EpgTimer Service が実行中

さっそく録画予約してみましょう。

まず、いつもどおり EpgTimer を起動します。 ここで今までと1つ違うのは、タスクトレイに 時計アイコン が現れなくなることです。 サービス経由ですでに EpgTimerSrv が裏で動いているため、時計アイコン は出なくなるようです。
また、今まで録画前後に届いていたWindowsの通知も、出なくなるようです。

続いて 番組表 から手頃な番組を右クリックして「簡易予約」し、そのまま EpgTimer を終了します。

録画が終了した頃にもう一度 EpgTimer を起動すると、「録画済み一覧」のなかに、先ほど録画予約した番組が「録画終了」で残っています。

録画保存フォルダ D:\dokoka_ookina_storage\ にも、tsファイル と ts.program.txt ファイルができています!

リブートしても大丈夫か確認

今度は、Windowsをリブートした直後の状態で放置するとどうなるか、見てみます。

PCの電源設定にもよりますが、リブートしてしばらく何もせずに置いておくと、そのうちスリープ状態へ移行すると思います。

録画開始時刻の5~6分前になると、スリープから自動的に復旧し(電源ランプが 点滅 から 常時点灯 に変わりました)、録画が始まったようです。
録画終了時刻の数分後には、再びスリープしました。

ログインし、EpgTimer を起動して「録画済み一覧」を見ると、正常に録画できたようです。
録画保存フォルダ D:\dokoka_ookina_storage\ にも、tsファイル と ts.program.txt ファイルができています。
うまくいったようです!

PCがしょっちゅう目覚めてしまう

録画PCには、録画のときだけ起きてもらい、その他の時はスリープしていてほしいのですが、なぜかしょっちゅうスリープから目覚めてしまうことがあります。

詳しい調査方法はこのあとに書きましたが、とりあえず以下のことを試すのが手っ取り早いと思います。

スタートメニューを右クリックし、「デバイス マネージャー」の下の「Realtek PCIe GbE Family Controller」をダブルクリックして開きます。
「電源の管理」タブで、「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」にチェックが入っていたので、これを外しました。

f:id:tekitou_memo:20210525190836p:plain
「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」をオフにする

私の ESPRIMO D587/S では、これだけでうまく行きました。
録画開始時刻数分前にきちんとスリープから目覚め、録画終了時刻の数分後にはふたたびスリープし、次の録画開始時刻までずっとスリープしてくれています。
かなりいい感じです!

もしまだスリープから起きてしまうようなら、スタートメニューを右クリックし、「イベント ビューアー」を立ち上げて、少し詳しく調べます。

f:id:tekitou_memo:20210525190953p:plain
イベント ビューアー

「操作」→「カスタム ビューの作成…」に進むと、「カスタム ビューの作成」ウィンドウが出るので、「ソースごと」を選択し、「イベント ソース」で「Power-Troubleshooter」を選択し、「OK」をクリックします。

f:id:tekitou_memo:20210525191148p:plain
イベントソース に Power-Troubleshooter を指定

「ファイルをカスタム ビューに保存」で「名前」が聞かれたら、てきとうに「Power-Troubleshooter」のような名前を付けておきましょう。

f:id:tekitou_memo:20210525191033p:plain
フィルターをカスタムビューに保存

この「Power-Troubleshooter」のイベント一覧をながめると、「システムは低電力状態から再開しました。」というイベントがあり、私の場合は「スリープ状態の解除元」に「デバイス -Realtek PCIe GbE Family Controller」とありました。

f:id:tekitou_memo:20210525191317p:plain
「システムは低電力状態から再開しました」イベント

ここから先ほどの デバイスマネージャー 経由で、スリープが解除されないように設定を進めていきます。

その他にも、スリープが解除されてしまう原因はいろいろあるようです。 この 解説ページ はとても参考になりました。 いろいろ検索して、情報収集してみてください。

完成!

というわけで、きちんとスリープもしてくれるようになり、ほぼ完成です!

「TS抜き」界隈には、たくさんの先人の知恵が集まっており、本当にすごいと思います。
たとえば、スマホからネットワーク経由で録画した動画を見たり、録画完了後に Amatsukaze という別のツールを動かしてCMカットなどを行うこともできるようです。
いろいろ調べて挑戦してみると楽しいと思います。

以下の解説は、作りたい環境に合わせて、お好みで参考にしてみてください。

できるだけスリープさせる

録画PCには、録画に集中してもらい、なるべく録画が失敗しない環境にすることにしました。
つまり、録画以外はやることがありません。 そのため、録画中以外は最大限スリープしてくれるよう、電源管理の設定を加えました。

スタートメニューを右クリックし、「電源オプション」を開き、「電源とスリープ」で、「次の時間が経過後、ディスプレイの電源を切る (電源に接続時)」と「次の時間が経過後、PC をスリープ状態にする (電源に接続時)」を、両方とも 1分 にしました。

これで、録画中以外は、ほぼずっとスリープするPCになりました。

他のPCからスリープを解除できるようにする

先ほど書いたとおり、録画PCには録画に集中してもらい、録った動画は、ネットワーク経由で別PCから参照して視聴することにしました。
(ここでは詳細は省略しますが、D:\dokoka_ookina_storage\ フォルダが他のPCから参照できるよう、適当に共有設定をしました。)

しかし、録画PCがスリープしてしまっている間は、他のPCから録画PCを参照することはできません。
いちいち録画PCのキーボードを叩いてスリープを解除するのも面倒だったので、ネットワーク経由で起きてもらうように設定します。

Wake on LAN

Wake on LAN」という仕組みを利用して、この環境を作っていきます。
これは、スリープしているPCへ、ネットワーク経由で「Magic Packet」という特別な指示を送ることにより、スリープを解除するというものです。

まずスタートメニューを右クリックし、「デバイス マネージャー」から「ネットワーク アダプター」の下の「Realtek PCIe GbE Family Controller」をダブルクリックして開きます。

「電源の管理」タブでは、以前の解説で「このデバイスで、コンピューターのスタンバイ状態を解除できるようにする」のチェックを外しました。
ここでは逆に、このチェックを再度付け、さらにその下の「Magic Packet でのみ、コンピューターのスタンバイ状態を解除できるようにする」にもチェックを付けます。

Magic Packet 発射ツール

Magic Packet を送信してくれるフリーウェアもあるようですが、私はこの 解説ページ で紹介されている バッチファイル を拝借しました。

拝借した バッチファイル を丸ごとここへ貼るのは、ちょっと気が引けたので、その他に行ったことだけ書いておきます。

紹介されている WOL.bat の6行目の「set MacAd=...」には、録画PCの MACアドレス を設定します。
MACアドレス を調べる方法は、検索すればすぐ出てきます。たとえば録画PC上で コマンドプロンプト を起動し、ipconfig /all というコマンドを実行すると、「物理アドレス」の右にこの MACアドレス が表示されます。

WOL.bat を、適当なフォルダ、たとえば「PC > ドキュメント」に置きます。
これをダブルクリックすれば、バッチファイル が実行され、録画PCがスリープから目覚めるはずです。

タスクバーからワンクリックでスリープ解除

デスクトップなどに WOL.bat へのショートカットを置いて利用してもいいのですが、私は タスクバー をよく使うので、タスクバー に WOL.bat へのショートカットを置くことにしました。

しかし、タスクバー に WOL.bat のような バッチファイル のショートカットを置くには、ちょっと工夫が必要です。
私はこの 解説ページ などを参考に、以下のように作成しました。

  1. 保存した WOL.bat へのパスを調べます。たとえば WOL.bat を右クリックし、「プロパティ」から「セキュリティ」タブの「オブジェクト名:」を見れば、調べることができます。「PC > ドキュメント」に保存した場合は、C:\Users\{ユーザー名}\OneDrive\ドキュメント\WOL.bat などになっていると思います。
  2. スタートメニュー から「Windows システムツール」→「コマンド プロンプト」を起動します。
  3. タスクバー に現れた コマンドプロンプト を右クリックし、「タスクバーにピン留めする」を実行します。起動した コマンドプロンプト は、そのまま何もせずに右上の [×] をクリックして終了させます。
  4. タスクバー にピン止めされた コマンドプロンプト を右クリックし、現れた「コマンド プロンプト」をさらに右クリックして「プロパティ」をクリックし、「コマンド プロンプトのプロパティ」ウィンドウを開きます。
  5. 「ショートカット」タブの「リンク先」の値が %windir%\system32\cmd.exe となっていますが、これを最初に調べた WOL.bat へのパス、たとえば C:\Users\{ユーザー名}\OneDrive\ドキュメント\WOL.bat に変更します。
  6. つづいて「全般」タブのいちばん上で、適当な名前、たとえば「WOL」を入力します。
  7. 「OK」をクリックして、「コマンド プロンプトのプロパティ」ウィンドウを閉じます。

これで、タスクバー の WOL アイコンをワンクリックするだけで、録画PCがスリープから復帰してくれるようになりました。

テレビ視聴中はスリープしない

しっかりスリープするようになった録画PCですが、たまに TVTest でテレビ視聴しようとしても、スリープしてしまいます。

TVTest の設定でスリープしないようにできるか、ちょっと見てみたのですが、どうも設定が見当たりません。

「特定のアプリが起動中にスリープしないようにするフリーウェア」も、いくつかあるようです。
私は プロ生ちゃんSleep抑止 を使っています。

参考サイト

下記以外にも、多くの先人の素晴らしいお知恵や実装を拝借しました。