さわっても熱くない花火

ちょっとした驚きを食べながら生きています

Athlon 5350+PT3 3枚 で ロケフリ+録画+AMD VCEエンコード+DLNAサーバー な小型マシンを作った話

実は1年ほど前から構築をはじめていました。
「テレビも買ったことだし、アニメを楽しみたい」
そんな思いから作り始めたのですが、思ったよりも時間がかかってしまいました。

元々はPT3 1枚で動かしていたのですが、割と同時録画可能数をオーバーすることがあり、先日2枚増やしました。それに伴ってロケフリ環境も整えたので、そろそろメモっておこうかと思い構成等を書き出すに至りました。

ここに書いてある内容を真似すれば、多分ご自宅に録画サーバーを作ることができるでしょう。多分ね。
でも真似をして何か損害が出ても私は知らないので。自己責任でお願いします。

さっくり概要を書くとこんな感じ。

  1. AMD SoCチップを使っている(Athlon 5350) それ故に結構省エネ
  2. ハードウェアエンコーダー(AMD VCE)を使って、TSファイルからMP4(H.264)に変換している
  3. PCI-Expressが1レーンしか無いMini-ITXマザーボードで、PT3を3枚運用している(PCI-E増設)
  4. テレビからも録画した番組が再生できる(DLNA)
  5. 現在放送中の番組及び録画した番組をスマートフォンでも再生できる(ロケフリ)
  6. Windows OS

2017年7月10日追記

今現在の最新記事。Windows上にChinachuを構築したい人はこちらを参考にしたほうが良いかもしれません。
yanoshi.hatenablog.jp
(なおハードウェア構成は変わっています)


構成の話

ハードウェア構成

PC本体


クリックすれば、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以外は有料のソフトウェアはありません。

spinel, TVTest, EpgDataCap_Bon, RecTaskは以下のページより入手可能です。
でーてーぶいあぷろだぁ

PC組み上げ

単純なMini-ITX PCなので組むのは簡単なはずです。PT3の設置を除けば。
ちょっとトリッキーな構成なのでこの部分だけ自慢紹介しておこうと思います。

このマザーボードにはPCI Expressが1レーンしかありません。それを以下のボードを使って4レーンに増やします。
f:id:yanoshi:20150519213829j:plain

これを…
f:id:yanoshi:20150519220044j:plain
こうして…
f:id:yanoshi:20150519220457j:plain
こうじゃ!!!!!(謎のやっつけ感がありますが、気にしてはいけません)
f:id:yanoshi:20150519224346j:plain

このPM-PCIE1T4というカード、なかなか不親切ギークでしてマニュアルすら入ってませんでした。驚きです。電源接続して同封のUSB3.0のケーブルでマザーボードに接続された部分と本体カードを接続するだけですんなり動作したのでいいのですが…

自慢おしまい。

PT3ドライバ導入

ドライバは以下のサイトから入手。
PT3 ソフトウェアのダウンロード (最新版)
FPGA回路更新ツールを入れる必要があると思いますので、詳しくは以下のサイトを参照しましょう。
DIGITAL 愉悦 研究会 : PT3の設置と動作確認

ちなみに何故か知りませんが、うちのPT3は「1枚」として認識されているようです。動作に問題ないから別にいいんだけど。
f:id:yanoshi:20150522015654p:plain


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)
こんな感じ。
f:id:yanoshi:20150522020038p:plain

BonDriver_PT3-ST.iniのUseLNBを1にした。*2

UseLNB=1


Spinel3\BonDriverMapping.jsonSpinel3\DeviceDefinitions\EarthSoft.xmlをそれぞれ編集。



スクランブル云々の話は「色々と」面倒なので割愛。
調べたい人はここでも見てね。*3

正常に動作するとこうなります。
f:id:yanoshi:20150522015836p:plain

Spinelにはスタートアップに登録する設定は無いはずなので、適当にスタートアップにショートカットを貼り付けておくとよいでしょう。


TVTest

TVTestは視聴のためのソフトです。Spinelに比べると楽なので雑に書きます。

必要なもの
  • TVTest 0.7.23
  • BonDriver_Spinel_ver3.5.3.0

先ほどと同じように、ここからダウンロードしましょう。

配置/設定

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.dll

BonDriver_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.dll

BonDriver_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を使うまでの導入手順:ことしつ

うまく行けば、こんな圧巻の風景が眺められます。

エンコード

エンコードは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を置きます。

その他設定

今のところこんな感じで動かしています。
f:id:yanoshi:20150522031101p:plain
f:id:yanoshi:20150522031109p:plain

CM除去に関しては、join_logo_scpがかなり精度が良くて、美味しいです。


エンコード速度について

CMカットを含めて、30分のアニメが45分程度でエンコード可能です。
f:id:yanoshi:20150522104954p:plain

しかしながら、BS11とか解像度の高いものをエンコードをすると1時間半かかったり…QVSには負けますね。

TSファイルをAMD VCEを使ってMP4にする一連の流れ

AutoConvertGUI.batにTSファイルをD&Dすると次のようになります。
f:id:yanoshi:20150522105207p:plain

番組情報等がちゃんと取得できれいれば特にエラー情報も出力されないはずなので、開始ボタンを押せば始まるはずです。あとは待つだけ。ね?簡単でしょ?


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ロケフリ機能が付いているので、その機能がほしいってだけならそっちのほうが楽なのかもしれません。
まぁ私は、あんな独自仕様と著作権管理機能でガチガチに固められたシステムでアニメを録りたくはありませんが。



実は現在はファイルサーバーの方にもエンコード機能とロケフリ機能をもたせているのですが、そのお話はまた今度。
そんな感じでこの記事はおしまい。

*1:ノースもサウスもGPUもCPUも全部このチップに乗っかってる

*2:テレビ線の配線状況によるらしいが、とりあえずちゃんと配線したのに電波が弱い時はこれを1にしよう

*3:B-CASカードの闇に触れたい人は「softcas 2038」などと検索すれば良い。私は知らぬ