« SH-04Hメモ | トップページ | 雑談:スマホの余生 »

◆foobar2000-UPnPをサービス化(Win10対策)

 fooba2000-UPnPをWindows10で動かすには。サービス化

Windows10はとんでもないことに、時々自動updateなどといって、勝手に再起動し、動かしていたプログラムが突如終了してしまいます。

余りにひどい仕様なので、これを何とかする記事がネット上にはありますが、うまくいきませんでした。

例えば音楽サーバーとしてfoobar2000を動かしていても、いつの間にか止まっています。

Windows10でfoobar2000を動かすためには「サービス化」しなければなりません。

M$としてはWindowsServerを買ってくれということかも知れませんが。。。

 fooba2000-UPnPをサービス化する。NSSM使用

今回サービス化するのは

でネットワーク・オーディオ・サーバの機能を組み込み、 でポータブル化を行ったものです。

実行形式は

  D:\foobarSet\drive\foobar2000_bin\
に置いた
  foobar2000.exe
となっています。このフォルダにはfoobar2000のさまざまな設定ファイル/フォルダなども置かれています。

サービス化にはNSSMというプログラムを使います。

 NSSMのインストール

NSSMはインストーラが無いので、手作業でインストールします。

次の作業を行います。

(1) ダウンロード
 ブラウザで
     http://nssm.cc/
 を開く。
 左にあるリスト内のDownloadをクリックし、ダウンロードページを開く
 Latest release の nssm x.xx をクリックし、ダウンロードする

(2) 展開と実行パスへの設定
 nssm-x.xx.zipを解凍する
 win64/nssm.exeをPATHの通っている
     C:\Windows\System32\
 などにコピーする

 foobar2000をサービスとして設定する。

コマンドプロンプトでnssmを起動する。

     nssm install FOOBAR
ここでFOOBARは分かりやすい任意のサービス名です。

次の画面がでるので、実行形式のパスを設定し、[Install service]をクリックします。

これでサービス化され、勝手に再起動となってもfoobar2000も自動で起動されます。

 スリープ状態にしない

スリープ状態ではサービスも止まってしまいます。Windowsはとにかくサーバー動作を嫌っているのです。なにかと理屈をひねり出してはサービスを止めます。
自動スリープを止める必要があります。

(A)デスクトップで右クリック
  [電源とスリープ]
    スリープを「なし」にする
(B)田んぼマーク+x
  [電源オプション]
   [コンピュータがスリープになる時間を変更]
    コンピュータをスリープ状態にするを「適用しない」にする
A、Bどちらでも同じです。

 サービスの確認、起動/停止

タスクマネージャの「サービス」で状態の確認ができます。

停止・再起動なども可能です。

 foobarの設定:UIを使う

サービスを一旦停止し、普通のコマンドとしてfoobar2000を起動することができます。

普通のコマンドとして起動したfoobar2000で各種設定を行い、終了させます。

サービスとして起動し直すと、設定が有効になっています。

 自動再起動が正常に行われるか確認

クライアントからアクセスし、音楽を再生します。

一旦Windowsシステムを再起動します。

クライアントアプリを停止し、しばらくしてWindowsがログイン画面になったら、 再びアクセスします。

もし、クライアント側のサーバリストに現れない場合、 Windows側のタスクマネージャでFOOBARサービスを停止し、 通常のコマンドとしてfoobar2000を起動します。
もしも、次のダイアログが現れたら、"□Do not show this..."にチェックをいれ、 [=>Start fooobar2000 normally]をクリックします。

foobar2000を終了させます。

サーバーリストに現れる場合は、そのままにします。
ダイアログが現れない場合もそのままです。

再びWindowsを再起動してチェックします。

なお、音楽を再生中にWindowsを落としても数分程度は音楽は流れ続けます。

 スピーカー設定(PC側で音は出さなくても必要)

foobar2000はUPnP動作であっても直接「音」が出せるかをチェックするようです。
HDMI出力となっていると、画面を消すあるいは線を外すとUPnP動作もしなくなることがあります。
画面無しでサーバーとして使う場合オーディオ出力をしない設定が必要です(タスクバーのスピーカーアイコンでミュート状態にする)

 サービスの削除

サービス設定を削除するには管理者権限でscコマンドを発行します。

  管理者権限でコマンドプロンプトを起動:
     田んぼキー+xで出るメニューから
        コマンドプロンプト(管理者権限)
     を選ぶ

  scコマンド実行:
     サービス名がFOOBARとして
        sc delete FOOBAR
     を実行

 スティックPCを用いる

スティックPC(Win10-32bit/microSD/有線LAN/FAN-less)に入れました。

設定後は画面もキーボードもマウスも繋がず運用しています。

左の出っ張りはHDMI端子です。
この出っ張りを除くとサイズは12cm×4cm×1.5cmとなっています。

コンテンツ/foobar2000はマイクロSD(128G)に入れてあります。 出っ張りはありません。

 WindowsDefenderファイアーウォール対策

WindowsDefenderファイアーウォールが外部からのアクセスを禁止する場合があります。
次のように対処します。

  通常のコマンドとして起動する
    -> これによりwindowsがfoobar2000の存在を認識する
    ネットワークアクセスを許可するか聞いてくる場合もある。

  コントロールパネル
    WindowsDefenderファイアーウォール
      左パネルの
          Windows Defender ファイアーウォー
          ルを介したアプリまたは機能を許可
     -->
      許可されたアプリおよび機能(A): 
          リスト中の
              foobar2000およびfoobar2000.exeのチェック2つを入れる

 OSの再起動

|

« SH-04Hメモ | トップページ | 雑談:スマホの余生 »

トラックバック


この記事へのトラックバック一覧です: ◆foobar2000-UPnPをサービス化(Win10対策):

« SH-04Hメモ | トップページ | 雑談:スマホの余生 »