実は1年ほど前から構築をはじめていました。
「テレビも買ったことだし、アニメを楽しみたい」
そんな思いから作り始めたのですが、思ったよりも時間がかかってしまいました。
元々はPT3 1枚で動かしていたのですが、割と同時録画可能数をオーバーすることがあり、先日2枚増やしました。それに伴ってロケフリ環境も整えたので、そろそろメモっておこうかと思い構成等を書き出すに至りました。
ここに書いてある内容を真似すれば、多分ご自宅に録画サーバーを作ることができるでしょう。多分ね。
でも真似をして何か損害が出ても私は知らないので。自己責任でお願いします。
さっくり概要を書くとこんな感じ。
- AMD SoCチップを使っている(Athlon 5350) それ故に結構省エネ
- ハードウェアエンコーダー(AMD VCE)を使って、TSファイルからMP4(H.264)に変換している
- PCI-Expressが1レーンしか無いMini-ITXマザーボードで、PT3を3枚運用している(PCI-E増設)
- テレビからも録画した番組が再生できる(DLNA)
- 現在放送中の番組及び録画した番組をスマートフォンでも再生できる(ロケフリ)
- Windows OS
2017年7月10日追記
今現在の最新記事。Windows上にChinachuを構築したい人はこちらを参考にしたほうが良いかもしれません。
yanoshi.hatenablog.jp
(なおハードウェア構成は変わっています)
2016年5月19日追記
録画サーバーの構成を見直しました。
yanoshi.hatenablog.jp
目次
構成の話
ハードウェア構成
PC本体
- AMD Athlon 5350 (AMD初のSoC*1 2GHz TDP:25W)
- MSI AM1I (Mini-ITXマザーボード)
- CFD W3U1600HQ-4G/N (DDR3-1600 4GBx2)
- Transcend SSD340 (SATA 6Gb/s 128GB SSD)
- WestanDigital WD20EZRX/N (2TB HDD)
- PT3 3枚
- PM-PCIE1T4 (ProjectM PCI-Express x1増設カード(PCI-E x1 to 4x PCI-E x1) 変態カード)
- IW-BP671/300B (PCケース)
- SCR3310-NTTCom (NTTコミュニケーションズ 接触型ICカードリーダー・ライター)
クリックすれば、Amazonに飛ぶぞい(ゲス顔)
ケース以外は全部アマゾンで買えるのですから良い話です。自宅に居ながら録画PCが作れるなんて!
ケースはこれの類似パーツです。多分これでもいいと思います。
IW-BP655B/300H ブラック 300W
その他
テレビ線は1階のリビングにしか無いので、録画PCは1階に置くことにしました。しかしネットワークルーターは2階の自室にあります。ということで1階と2階をLANで繋ぐためにイーサネットコンバータを買いました。ついでにルーターも買い替えました。
購入したのはちょうど1年ほど前の話なので、今とちょっと状況が違いました。
今ならIEEE802.11acに対応したルーターが多数登場しているので、そちらを購入するのも良いかもしれません。
NEC Aterm WG1800HP2 11ac/n/a(5GHz帯)&11n/g/b(2.4GHz帯) 同時利用タイプ 1300+450Mbps PA-WG1800HP2
ソフトウェア構成
OS以外は有料のソフトウェアはありません。
- Windows 8.1 Pro
- spinel (録画/視聴の排他処理用ドライバ)
- TVTest 0.7.23 (視聴)
- EpgDataCap_Bon 人柱版10.66 (録画)
- RecTask 0.1.4 (TSをUDPでストリーミング)
- AutoConvert 2.3.0 (番組情報取得 + CM除去 + エンコードを全部やってくれる子)
- A's Video Converter (AMD VCEに対応したエンコーダー)
- TvRemoteViewer_VB (ロケフリを実現する)
- BEER Media Server 2.0.130525 (DLNAサーバー)
spinel, TVTest, EpgDataCap_Bon, RecTaskは以下のページより入手可能です。
でーてーぶいあぷろだぁ
PC組み上げ
単純なMini-ITX PCなので組むのは簡単なはずです。PT3の設置を除けば。
ちょっとトリッキーな構成なのでこの部分だけ自慢紹介しておこうと思います。
このマザーボードにはPCI Expressが1レーンしかありません。それを以下のボードを使って4レーンに増やします。
これを…
こうして…
こうじゃ!!!!!(謎のやっつけ感がありますが、気にしてはいけません)
このPM-PCIE1T4というカード、なかなか不親切ギークでしてマニュアルすら入ってませんでした。驚きです。電源接続して同封のUSB3.0のケーブルでマザーボードに接続された部分と本体カードを接続するだけですんなり動作したのでいいのですが…
自慢おしまい。
PT3ドライバ導入
ドライバは以下のサイトから入手。
PT3 ソフトウェアのダウンロード (最新版)
FPGA回路更新ツールを入れる必要があると思いますので、詳しくは以下のサイトを参照しましょう。
DIGITAL 愉悦 研究会 : PT3の設置と動作確認
ちなみに何故か知りませんが、うちのPT3は「1枚」として認識されているようです。動作に問題ないから別にいいんだけど。
ライブラリ等の導入
以下を予め入れておくと良いでしょう。。
あと、RecTest x64の動作がどうも微妙だったので、すべてx86版(32bit)版に統一するのもありかもしれません。
- Download Microsoft .NET Framework 3.5 Service Pack 1 from Official Microsoft Download Center
- Download Microsoft .NET Framework 4 (スタンドアロンのインストーラー) from Official Microsoft Download Center
- Download Microsoft Visual C++ 2010 再頒布可能パッケージ (x86) from Official Microsoft Download Center
- Download Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86) from Official Microsoft Download Center
- ffdshow tryouts | Official Website
- LAV Filters
- AviSynth v2.6.0 32bit
- Avisynth 2.6 MT(Avisynthマルチスレッド版)
spinel, TVTest, EpgDataCap_Bonの導入(単純な視聴及び録画を可能な状態に)
spinel
spinelはチューナーの排他処理を行うためのドライバラッパーのような存在です。イメージはこんな感じ。
PT3ドライバ ----> PT3版BonDriver ----> spinel --TCP/IP-> spinel版BonDriver ----> 録画/視聴/ロケフリ等
要はPT3の生ドライバと視聴/録画ソフトの間に入って、「録画を優先する」と言った排他処理を行ってくれるわけです。
またspinelを使うと、ネットワークを意識することなくLAN内の別のPCで録画/視聴等を行う事もできます。便利ですね。
必要なもの
- BonDriver PT-ST 人柱版3(up0305)(新BS対応)
- Spinel_ver3.6.1.1 (PT3対応版)
- EpgDataCap_Bon(人柱版10.69)
- B-CASカードとか
ここからダウンロードしてください
配置/設定
注意: x86版とx64版が混同しないように。
BonDriver PT-STを解凍したら以下のファイルが得られる。
- BonDriver_PT3-S.ChSet.txt
- BonDriver_PT3-S.dll
- BonDriver_PT3-ST.ini
- BonDriver_PT3-T.ChSet.txt
- BonDriver_PT3-T.dll
BonDriver_PT3-S.dllをBonDriver_PT3-Sx.dllにBonDriver_PT3-T.dllをBonDriver_PT3-Tx.dllにそれぞれコピー+リネームをする。
そして完成したファイル群をSpinelを解凍したフォルダのBonDriverフォルダに入れる。(Spinel3\BonDriver)
こんな感じ。
BonDriver_PT3-ST.iniのUseLNBを1にした。*2
UseLNB=1
Spinel3\BonDriverMapping.jsonとSpinel3\DeviceDefinitions\EarthSoft.xmlをそれぞれ編集。
スクランブル云々の話は「色々と」面倒なので割愛。
調べたい人はここでも見てね。*3
正常に動作するとこうなります。
Spinelにはスタートアップに登録する設定は無いはずなので、適当にスタートアップにショートカットを貼り付けておくとよいでしょう。
TVTest
TVTestは視聴のためのソフトです。Spinelに比べると楽なので雑に書きます。
配置/設定
BonDriver_Spinel_ver3.5.3.0を解凍して、色々としていきます。
BonDriver_Spinel.dll.iniのAddressを以下のように変更
Address = "Spinelの動いているPCのIP or 127.0.0.1:48083"
DesiredDescrambleControlに関しては好きにしてください。わたしゃ知らぬ。
「BonDriver_Spinel.dll」と「BonDriver_Spinel.dll.ini」をペアとし、コピペ+リネームをし、次のようにしましょう。また、iniファイルのTunerPathを次のように変更。
BonDriver_Spinel_PT-S0.dll
BonDriver_Spinel_PT-S1.dll
BonDriver_Spinel_PT-S2.dll
BonDriver_Spinel_PT-S3.dll
BonDriver_Spinel_PT-S4.dll
BonDriver_Spinel_PT-S5.dllBonDriver_Spinel_PT-T0.dll
BonDriver_Spinel_PT-T1.dll
BonDriver_Spinel_PT-T2.dll
BonDriver_Spinel_PT-T3.dll
BonDriver_Spinel_PT-T4.dll
BonDriver_Spinel_PT-T5.dllBonDriver_Spinel_PT-S0.dll.ini TunerPath = "PT3/0/S/0"
BonDriver_Spinel_PT-S1.dll.ini TunerPath = "PT3/0/S/1"
BonDriver_Spinel_PT-S2.dll.ini TunerPath = "PT3/1/S/0"
BonDriver_Spinel_PT-S3.dll.ini TunerPath = "PT3/1/S/1"
BonDriver_Spinel_PT-S4.dll.ini TunerPath = "PT3/2/S/0"
BonDriver_Spinel_PT-S5.dll.ini TunerPath = "PT3/2/S/1"BonDriver_Spinel_PT-T0.dll.ini TunerPath = "PT3/0/T/0"
BonDriver_Spinel_PT-T1.dll.ini TunerPath = "PT3/0/T/1"
BonDriver_Spinel_PT-T2.dll.ini TunerPath = "PT3/1/T/0"
BonDriver_Spinel_PT-T3.dll.ini TunerPath = "PT3/1/T/1"
BonDriver_Spinel_PT-T4.dll.ini TunerPath = "PT3/2/T/0"
BonDriver_Spinel_PT-T5.dll.ini TunerPath = "PT3/2/T/1"
あとはこれらのファイルをTVTest.exeと同じフォルダに入れましょう。
これらのファイルはEpgDataCap_BonでもRecTaskでも使いますので、大切にね。
TVTestのデコーダの設定はLAV Filtersを使ったほうが美味しいかもしれません。
EpgDataCap_Bon
録画です。
BonDriver_SpinelなドライバはTVTestで使ったものをEpgDataCap_Bon.exeと同じフォルダへコピペしましょう。
あとは、以下のページの「EDCBのチャンネルスキャン」以降を実行すればいいと思います。
【EDCB】2014年版PT3でEpgDataCap_Bonを使うまでの導入手順:ことしつ
うまく行けば、こんな圧巻の風景が眺められます。
チューナー不足という概念は滅びましたとさ。 pic.twitter.com/AZhfXicmhm
— yanoshi (@yanoshi) 2015, 5月 19
エンコード
エンコードはAutoConvert 2.3.0を使います。TSファイルのエンコード界隈では幾つものツールが複雑怪奇に絡み合っておりますので、なかなか導入するのは難しい…それをさっくりすぐさまやってくれるのがこのツールです。
AutoConvert本体の導入
以下から「AutoConvert_set_for_v2.3.0」と「AutoConvert_v2.3.0」をダウンロードしましょう。
AutoConvert – 自動TSエンコードツール – – らんだむけんきゅうじょ
AutoConvert_set_for_v2.3.0にほぼ必要なツールが詰まっているので、指示通りコピーしましょう。
join_logo_scpの更新
少々バイナリが古かったので、最新版を拾ってきていれました。
CMカット スレ★2
上記レスに掲載されているものが最新版のようです。
http://www1.axfc.net/u/3458102.zip
AutoConvert_v2.3.0\App\join_logo_scpを更新しましょう。
また、AutoConvert_v2.3.0\Preset\jls.txtをJL_標準.txtの内容に置き換えましょう。
ロゴファイルの作成
CMカットはCM中にウォーターマークが表示されていないことを利用して基本的には行われます。ってことでロゴの教師データが必要です。
色々と著作権的にアレですが、一応まとめられているサイトも有ります。
AviUtl向けの「透過性ロゴフィルタプラグイン」用.lgdファイル配布
自分でロゴデータを作る場合は、こちらのサイトなどが参考になります。
地方局の番組をCMカットできるようにする方法 : 備忘録とか色々ブログ
完成したlgdファイルはAutoConvert_v2.3.0\Logoに入れましょう。
lgdファイルのファイル名はAutoConvert_v2.3.0\Settings\Service.txtに準拠しているようなので、そっちを覗いて適当に設定するなりしましょう。
AMD VCEを使えるようにする
AutoConvertはIntel QVSは使えますが、AMD VCEは使えません。ってことで使えるようにしましょう。
必要なもの
A's Video Converter
重要な点は、32bit版を入れること。
A's Video Converterの設定
「C:\Users\(ユーザー名)\AppData\Roaming\A's Video Converter\EncoderPresets」にmain.apdを作成します。
http://www1.axfc.net/u/3471694
AutoConvertの設定
AutoConvertで用いられているツール群ではCMカット等の処理内容はavsファイル(AviSynthなスクリプト)で出力され、avs2pipemodを通してエンコーダーへ入力されます。
しかしA's Video Converterはそれ自体がAviSynthに対応しているので、avs2pipemodは不必要です。ってことでそれを反映させたスクリプトを記述しました。
AutoConvert_v2.3.0\App に適当なフォルダ(my_command等)を作成し、command.bat、encoder.ps1を置きます。
AutoConvert_v2.3.0\Preset にVCE.txtを置きます。
その他設定
今のところこんな感じで動かしています。
CM除去に関しては、join_logo_scpがかなり精度が良くて、美味しいです。
DLNAサーバー
ここからBeer Media Server 2を落とします。
bms.iniを編集。基本はReadme通りに。SoftEther等やVirtualBoxがインストールされている場合は、IP_INTERFACEをちゃんと設定しましょう(物理LANにつながっているアダプタのIP)。
我が家のテレビはBRAVIA KDL-W900Aなのですが、良い感じに設定されてなかったのでスクリプトを少々いじりました。書いたのは1年ほど前なのでどこをいじったのか思い出せないので、そのまま貼り付けておきます。確かTSをそのままストリームする設定や、WMA Losslessの取り扱いとかの設定を書いた気がします。
bms2\script\BRAVIA.lua (BEER Media Server 2 のBRAVIA向けスクリプトを編集し、KDL-W900Aにも対応できるようにした…はず?) · GitHub
ロケフリ
RecTaskとTvRemoteViewer_VBを利用します。
詳しくは以下のサイトを。長いですがかなり詳しく解説されています。
vladi.cocolog-nifty.com
RDCTを導入すると更に楽になるかもしれません。
まとめ
素晴らしいソフトウェアを作ってくださった方々に感謝感謝です。
Athlon 5350を衝動買いした結果、録画PCに利用することにしたのですが、このCPUには一長一短があります。
消費電力やコストパフォーマンスはとてもよいですが、CPU単体のスペックは少々残念です。ロケフリやDLNAのトランスコードをするので精一杯な感じです。
お金をかけても良いなら、Intel QVSも使えて消費電力もコスパもなかなかなCore i3あたりで組む方が無難なのかもしれません。エンコード速度で見ると確実にi3のほうが上ですから。
しかしながら面白さの観点から見ると、デスクトップ向けCPU初のx86互換SoCとAMD VCEを利用した
TSエンコードってのは未来を感じますし、なんだか食いつきたくなりますよね。ということで個人的には大満足です。
あと、Windowsを選択するのはもしかしたら不適切かもしれません。
私は様々な理由からWindowsOSを選択しましたが、最近はLinux向けのソフトウェアも充実しているのでそちらのほうが楽なように思います。
「七森中録画研究会」スペシャルサイト
Chinachuの場合、今回紹介した機能はすべて包括しています。更に美しそうだしWebUIですべてが完結するしいいコト尽くめな気もします。宗教上の理由やAMD VCEがどうしても使いたい等の理由がない場合はChinachuを選択するほうが良いのかもしれません。
ただ、WindowsなTS抜き界隈は歴史が深いのでゲフンゲフンな資料もたくさん転がっていたりもします。
まぁ好きな方を選べばいいんじゃないかな?(適当
更にいうと、近頃はnasneやBDレコーダーにもDLNA、ロケフリ機能が付いているので、その機能がほしいってだけならそっちのほうが楽なのかもしれません。
まぁ私は、あんな独自仕様と著作権管理機能でガチガチに固められたシステムでアニメを録りたくはありませんが。
実は現在はファイルサーバーの方にもエンコード機能とロケフリ機能をもたせているのですが、そのお話はまた今度。
そんな感じでこの記事はおしまい。