Tag Archives: エンコード

録画サーバ構築 QSVエンコード VAAPI編

QSVエンコードを再考する。現在はCentOS7.2でIntel MSS 2017を使ってハードウェアエンコードしている。録画処理時に並行してリアルタイムエンコードをしていると、たまにffmpegがハングしてしまう。ハングしたプロセスは割り込み不可となるため、OS再起動以外に消す方法はない。放置していても問題にはならないんだけど、録画処理を行っているlxcコンテナを再起動できなくなったりするのが不便。割り込み不可のプロセスがいる状態でコンテナを再起動すると、停止も起動もできなくなってしまう。... 続きを読む

録画サーバ epgrec UNA トランスコード設定

仮想サーバをやめて、やっと安定的な録画体制が築けた。長らく先送りとなっていた、録画後処理の自動化を進めていく。録画し終わったデータはTSファイルとして記録される。これを保管および視聴しやすいデータに自動で作り変えたい。検証してきた処理はCPUのハードウェアエンコードを使ったQSVエンコードとcomskipを使ったCMチャプター処理。また、カーナビ用の動画データもついでに自動生成するが、こちらは更に小さいデータでよいのと、うちのカーナビがチャプターあると正しく動作しないのでチャプターなしで生成する。後処理としては以下のような流れを想定している。... 続きを読む

録画サーバ構築 comskip で CMスキップ

録画サーバ構築に関連する要素技術も大分押さえられてきた。あとはCM処理をどうするか検討する。市販のレコーダーになるべく機能を寄せるには、やはりCM前後にチャプターを入れたい。録画ファイルのCM位置を検出するコマンドとしてcomskipというものがあるようだ。このコマンドはLinuxにも移植されていて、CentOS7ならnux-dextopリポジトリからyum installできる。ただし、ffmpegが2系でないとインストール出来ないので注意。あとで使うことになるMP4Boxもインストールしておく。以下の通り。... 続きを読む

録画サーバ構築 QSVエンコード Skylake+Linux編

今更ながらshuttleのSH170R8機でCentOS7.2の標準インストールに成功したので、skylake CPUでのQSV検証を進める。skylakeに対応したMedia Server Studio 2017がIntelより数ヶ月前にリリース済み。今回のMSSはCentOS7.2のkernelを推奨しているので、このディストリビューションであればインストールは容易。DLしたMSSを以下のようにインストールして再起動。... 続きを読む

録画サーバ構築 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した方がよいかも。... 続きを読む

録画サーバ構築 QSVエンコード Windows編

録画サーバ環境を構築する上で、もう1つ問題になりそうなのがエンコード。録画したTSファイルをMP4に圧縮してディスク容量を有効活用する。ソフトウェアエンコードだと張り付くくらいCPUを使うので、出来ればハードウェアエンコードを使いたい。エンコード方法をざっと調べた感じだと、Intel CPUのSandyBridge以降で使えるQSVエンコードという方法と、NVIDIAのグラボGeForceを使ったNVENCという方法だ。これらのHWエンコードを行うのはWindowsに比べるとハードルが高そうなので、まずはWindowsで動作検証を行う。ちなみにNVENCが出来るグラボは持っていないので、これは調達してから。... 続きを読む