気が付けば本当に1年以上もの間、録画サーバの構築に時間を割いてきた。他にもやりたいことが多い中で、これだけ時間かけるのどうなんだろうと思いつつ。その中でも最も時間を使っているのが、録画データのブロックノイズ対策。今までも筐体変えたり、受信感度調整したり、BIOS設定を網羅的に試したり、あらゆる可能性を調べてきた。中でもストレージのノイズに対する影響は大きく、別サーバにあるGlusterFSに書き出す形を取ることで、かなりノイズを減らすことができた。一見、ほぼノイズはないくらいなんだけど、それでも1時間くらい見ていると数回ブロックノイズが発生してしまう。... 続きを読む
Tag Archives: 録画サーバ
録画サーバ構築 comskip で CMスキップ
録画サーバ構築に関連する要素技術も大分押さえられてきた。あとはCM処理をどうするか検討する。市販のレコーダーになるべく機能を寄せるには、やはりCM前後にチャプターを入れたい。録画ファイルのCM位置を検出するコマンドとしてcomskipというものがあるようだ。このコマンドはLinuxにも移植されていて、CentOS7ならnux-dextopリポジトリからyum installできる。ただし、ffmpegが2系でないとインストール出来ないので注意。あとで使うことになるMP4Boxもインストールしておく。以下の通り。... 続きを読む
録画サーバ構築 CentOS+VirtFS ゲストOS編
PX-Q3PEを使った録画サーバで1番の問題はdisk I/Oという考えに至りつつある。BSはわりときれいに録画できるんだが、地上波の方はdisk I/Oがノイズに影響している可能性が高い。録画領域をGlusterFSのSATAディスクから、OS領域に使っているM.2のSSD領域に移動させることを検討。ホストOSとゲストOSで、それほど大きくないSSDを切り刻むのは出来れば避けたい。ホストOSのファイルシステムをゲストOSに解放するため、VirtFSの設定を行うことにした。前回、ホストOS側の設定が終わったので、今回はゲストOS側の設定を進めていく。... 続きを読む
録画サーバ構築 CentOS+VirtFS ホストOS編
SH170R8+PX-Q3PEの構成で大分安定的な録画環境が構築できてきた。録画品質の1番の敵はどうやらディスクI/Oの衝突。特にSATAだと顕著なのでSSDが望ましい。なるべくディスクI/Oを減らしたいところだが、PX-Q3PEがCentOS6限定、QSVがCentOS7.2推奨となっているため、録画サーバからエンコードサーバに録画データを引き渡す必要がある。以前はこれをGlusterFS上でやり取りしていたのだが、GlusterFSはSATAで組んでいるのでノイズが入ってしまう。録画先のデバイスは容量をやりくりしてローカルのSSDを割り当てたい。... 続きを読む
録画サーバ構築 SH170R8+PX-Q3PE ノイズ対策編
もともとのSH170R8の位置付けはサーバ用途で購入したZBOX CI520+外付けディスクアレイと録画サーバ用途として購入したSH67H3を統合する事。GlusterFSとしての動作は特に問題なかったが、PX-Q3PEでの録画には何故かノイズが多かったので、SH67H3での運用に切り戻していた。そのときはCentOS7をkernel4系に上げていたので、それが原因かもと考えた。最近やっと、SH170R8でもCentOS7.2の標準kernelで構築できるようになったので、再び録画サーバとしての機能を移植してみる。... 続きを読む
録画サーバ構築 QSVエンコード Skylake+Linux編
今更ながらshuttleのSH170R8機でCentOS7.2の標準インストールに成功したので、skylake CPUでのQSV検証を進める。skylakeに対応したMedia Server Studio 2017がIntelより数ヶ月前にリリース済み。今回のMSSはCentOS7.2のkernelを推奨しているので、このディストリビューションであればインストールは容易。DLしたMSSを以下のようにインストールして再起動。... 続きを読む
録画サーバ構築 Skylake+CentOS 再検証編
初めて購入したSkylake機にCentOSがインストールができず、それ以降インストールできないものと思い込んでいたが、CentOS6は普通にインストールできたよというありがたいコメントを頂いた。確認したのはCentOS7インストーラの起動失敗だけだったので、問題の特定も含めていろいろ検証し直す事に。以前、インストールに失敗した筐体はshuttleのSh170R8で、既に2台目も購入してある。1台目も2台目も同じサービスが提供できるように作ってあるが、一応マスターは1号機なので、新規に購入した方の2号機で検証を進める。... 続きを読む
録画サーバ構築 PX-Q3PE 故障対応編
夏に2台目のPX-Q3PEを購入したところ、1台目のBS受信感度に異常がある可能性に気が付いた。全く同じ放送経路にも関わらず、新PX-Q3PEの方はBSの受信感度が強過ぎるのに対し、旧PX-Q3PEの受信感度は明らかに弱い。そもそもの異常に気付いたのは、ちょうどテレビの契約をフレッツ・テレビからドコモ光テレビオプションに切り替えた頃なので5月頃まで遡る。旧PX-Q3PEを購入したのは去年末頃だったので、半年ほどで異常が起き始めた計算だ。当初は、疑うことなく切り替えの影響と考えていた。... 続きを読む
録画サーバ構築 Skylake+CentOS 断念編
後日、異なる事実が発覚したのでこちらを参照下さい(2016年10月追記)
結論から言うとSkylake機sh170r8でのCentOS録画サーバ運用は断念しました。あくまでSkylake+CentOS+PX-Q3PEを諦めただけで、Skylake+Win10+PX-Q3PEやSkylake+CentOS自体の運用は問題ない。Skylake機から録画サーバ機能は外したけど、GlusterFSを中心としたファイルサーバとして今後も利用していく予定。前回、録画サーバを作りあげてから一見まともに動いていそうだったので、実はPX-Q3PEを買い増した。念願の2台体制。作業効率上がった事も嬉しいんだけど、両ボードの差異を検証できるようになった事が大きい。そこで気付いたのが2つのボードでBSの受信感度に大きな違いがあることだった。... 続きを読む
録画サーバ構築 Skylake+CentOS 検証編
後日、問題が発覚したのでこちらを参照下さい(2016年8月追記)
Skylake機でLinuxを動かすにはkernel4系を使う必要がある。PX-Q3PEを利用するには必然的にKVMにデバイスパススルーするくらいの方法しかない。kernel4系でもデバイスパススルーが問題なく使えるかどうかを試してみる。前回、CentOS7.2をベースにkernel4.6を導入して無事Skylake機を起動させる事ができた。ただし、2回ほど不可解なネットワーク障害(OSからNICが見えなくなる)があった。いずれも再起動ですぐに直ったが詳細は未調査。ちょうどこの頃にkernel4.7がリリースされたので、試しにインストールしてみたが、残念ながら起動中にエラってしまった。このリリースはネットワーク周りの改善もあるらしいので、また時間のあるときに挑戦してみたい。... 続きを読む
録画サーバ構築 Skylake+CentOS 構築編
前回sh170r8でPX-Q3PEを使う筐体を組み上げた。今回はこのskylake機にCentOS7をインストールする。通常のCentOS7はskylakeに対応していないので、Kernel4系に変更したCentOSを用意する。kickstartでのCentOS7インストールをやるだけやってみたが、anacondaの起動途中でハングってしまった。kernel4系の動作検証機としてZotac AD11を使用する。このサーバには既にCentOS7.2がインストール済み。このkernelをまずは4系に変更してみる。kernel4系の最新は4.6。手順は以下。... 続きを読む
録画サーバ構築 Skylake+CentOS 準備編
最近自宅環境でもいろいろやり過ぎてサーバ環境がごちゃごちゃしてきた。これだけサーバやらディスクアレイやら動かしているとさすがに電気代も気になるし、何よりもUPSの電源ポートが足らなくなる。幾つかの機能を統合して筐体を減らしたいと思い始めていた。そこで目に止まったのがshuttleの新型機sh170r8。現行のsh67h3と同様のPCI Expressスロットが付いており、GD750-2GERTSPとPX-Q3PEは併用可能。一方、スマートカードリーダーPF-001CRは使えなくなるので、USB接続のスマートカードリーダーを用意する必要がある。カードリーダーを外に繋ぐのが美観的にイマイチなので、マザーボード上の内部USBピンを変換して接続し、カードリーダーも筐体内に入れるつもり。... 続きを読む
録画サーバ構築 CentOS+PX-Q3PE 障害編
前回、無事epgrecでの録画環境を完成させた訳だが、ここまでの道のりにおいてPX-Q3PEの運用に悩んだ事がなかった訳ではない。それは自分の環境が仮想サーバであることに起因する点もあるが、やはりPX-Q3PEは非常にセンシティブな製品であるからとも言わざるえない。仮想サーバで録画環境を構築した理由は、サーバを幾つも用意したくないからというのものあるが、物理構成の制約を軽減できるという点も大きい。PX-Q3PEのドライバがCentOS6にバージョンロックされている中でもPC環境の進化は止まらない。いつかはCentOS6では動作しない環境も出てくる。それでも仮想サーバであれば、そのホストOS上で永久にCentOS6を動かす事ができる。バージョンロックされいるからこそ仮想サーバで動かしておきたい。... 続きを読む
録画サーバ構築 epgrec UNA+PX-Q3PE 構築編
長々と続けてきた録画サーバ構築。今回、epgrec UNAの環境を作ることでサーバ側の基本的な準備が完成する。とはいえ、クライアントの視聴環境考えたり、CMスキップ考えたり、まだまだ環境の構築は続きそうだけど。epgrec構築の基礎的な部分は多くの人がまとめてくれたので自分はそこを割愛する。PX-Q3PEでepgrecを動かす上での注意点になるべく稿を割く。まず最初の問題がrecpt1にepgrec UNA用のパッチを当てること。これにはrecpt1のソースが必要で、foltiaにあるバイナリを流用という訳にはいかない。ぐぐった結果、github上にpx_drvリポジトリというPX-Q3PE用のrecpt1ソースが存在することを知る。... 続きを読む
録画サーバ構築 recpt1+PX-Q3PE 検証編
いよいよ録画サーバの構築を進める。Linuxで録画機能を動かすにはPX-Q3PEを認識させて、スマートカードリーダーでB-CASカードを読み込み、録画用のrecpt1というコマンドで録画を行う。もし、録画に失敗した場合は障害ポイントがそこかしこに存在するために切り分けが非常に難しい。そこでまずはwin10で動作確認を行い、次にfoltiaでも動作確認を行い、環境面での問題はないはずという状態を作り上げてから自作の録画サーバに取り組む。既に実績のあるfoltiaのPX-Q3PEドライバ(kernel module)とrecpt1があれば、自分で作ったCentOS6でも録画機能が動作するはずだ。... 続きを読む
録画サーバ構築 foltia+PX-Q3PE 仮想サーバ編
長い事ハードウェア・エンコードの検証をやり過ぎて本来の目的を忘れていた。エンコーディングがNVENCに決まって、もう全部終わったーと勘違いしていたほどw いい加減、録画サーバを構築すると言う本題に立ち返って次の作業に取りかかる。NVENCにはNVIDIAのビデオカードが必要なので、物理環境との依存関係が出来てしまう。無理に仮想環境やコンテナは使わず、大人しく物理サーバ上で処理させるつもり。物理サーバは最新のOSを使いたいので、CentOS6に限定される録画サーバは必然的に仮想サーバとなる(PX-Q3PEのドライバ的に)。録画機能に物理サーバ2台も用意するのはちょっと大げさだしね。という訳で、今回はCentOS7のホストにCentOS6のゲストを作って、そこで録画機能が正しく動作するかを試す。ハイパーバイザーはCentOS標準のKVMを利用する。... 続きを読む
録画サーバ構築 NVENCエンコード Linux編
長々と続けてきたエンコード検証もいよいよ最後、LinuxでのNVENCを試してみる。使うグラボは前回同様elsaのGD750-2GERTSP。NVENCはffmpegで利用する事になるが、ここまでのところffmpegについてWindowsとLinuxでの有為な差は見受けられないので、おそらく性能面では前回のWindows編と大差ないだろう。どちらかと言うとLinuxでの環境構築可否や手順の容易さが主な評価対象になるかもしれない。デュアルブートにしてあるsh67h3を今回はLinuxで起動する。公式からLinux用のドライバを検索してダウンロード。そのファイルを実行するとドライバのインストールウィザードに入るので適当に答えて完了させる。続いて、公式からcudaのtoolkitを見つけて、これもダウンロードしてインストール。... 続きを読む
録画サーバ構築 NVENCエンコード Windows編
待ちに待ったNVIDIAのGeForceが手に入ったので、いよいよNVENCの検証を進める。録画サーバ用に使っているSH67H3は電源容量とスロットに余裕がないので、省電力かつ1スロットのグラボが望ましい。elsaのGD750-2GERTSPというボードを使ってみる。うちのSH63H3は300W電源なので、それでも電源容量に不安があるため、一時的にSSDやメモリ、DVDドライブを外して最小構成に。NVENCの利用方法はffmpegを使う方法が多そうなので、Windows用のffmpegを用意する。どうやらLinuxでWindows用のffmpegをコンパイルできるらしい。ffmpeg-windows-build-helpersを使ってffmpegを準備する。... 続きを読む
録画サーバ構築 VCEエンコード 検証編
前回、QSVエンコードの検証が終わったので、今回からはビデオカードを使ったハードウェア・エンコードを試す。NVIDIAのGeForceを使ったNVENCを試してみるつもりだったが、まだ注文したビデオカードが届いていない。思い返すと手元にAMDのRADEONはある。RADEONでハードウェア・エンコード出来ないのかと調べてみると、Windowsなら出来そうな気配。RADEONによるハードウェア・エンコードはVCEエンコードと呼ばれるものらしい。ビデオカードによるハードウェア・エンコードがどのような水準なのかを試すためにもトライしてみる事にした。... 続きを読む
録画サーバ構築 QSVエンコード Linux編
前回に引き続いて、今回はLinuxでのエンコード性能を見ていく。うちのLinuxは特別な事情がない限り、全てCentOS7となる。録画サーバは前回Windowsとしても評価した、sh67h3のCore-i7 2600Sである。デュアルブートなので、Windowsを止めてLinuxで起動する。まずはWindows同様にソフトウェア・エンコードから評価する。エンコードに使用するffmpegのインストールは非常に簡単で、epelとnux-dextopのyumリポジトリを有効化してyum installするだけ。依存するパッケージもたくさん入っちゃうので、気になる人は『-y』しないで一度見てからinstallした方がよいかも。... 続きを読む