Tag Archives: エンコード

Ubuntu 18.04 LTS QSVエンコード 成功?編

... 続きを読む

Ubuntu 18.04 LTS インストール

生まれてこの方、ずっとredhat系のLinuxで生きてきたんだけど、最近のUbuntu攻勢は看過しえないものがある。以前も仮想環境をopenstack化する際にUbuntuへの移行を試みた。うちの場合、テレビ録画をLinuxに任せているため、QSVと呼ばれるCPUでのハードウェアエンコードが使える必要がある。16.04時代のUbuntuでは、どうしてもQSVを設定することが出来ずに移行を諦めた。あれから1年以上が経過してLTS版も18.04にバージョンアップ。Intel Media Server Studioも2018R1が出てきた。自分自身のハードウェアエンコードに対する知識も少しはましになったので、もう1度Ubuntuに挑戦してみる。... 続きを読む

録画サーバ構築 NVENCエンコード Ubuntu 16.04 編

ひっさびさのNVENC検証。ブログを見返すと、1年以上も前に調べて以来。以前はハードウェアエンコードくらいにしかGPUを使う用途がなかったので、エンコード品質がお粗末なことがわかった時点で処分してしまった。GTX750 tiでの検証だった。今回は機械学習やマイニングでも使ってみるつもりなので、GPUにかける予算は奮発するつもり。筐体の大きさもGPUのサイズにあわすので、その点における制約もない。他の用途での利用も考慮してGTX1080にする予定。中でも評判のよさそうなZotac GeForce GTX 1080 AMP Editionに決定した。... 続きを読む

録画サーバ構築 QSVエンコード Ubuntu 16.04 失敗編

構築中のホストはGPUサーバとして使う予定なんだけど、自宅用のサーバで専用ホストなんて立てる余裕はないから、今までCentOSが担ってきた録画サーバとしての機能も移植する予定。録画サーバで問題になるのがハードウェアエンコード。特にQSVエンコードの設定が一番厄介。GPUサーバなんで当然ビデオカードは刺すつもりだから、QSVエンコードでなくてNVENCを使うという手もある。はっきり言ってNVENCの方が設定そのものは楽だし、最新のIntel Media Server Studio 2017 R3でもGeneric Installの対象はubuntu 14.04のままだし。... 続きを読む

Ubuntu 16.04 LTS インストール

録画サーバ兼ファイルサーバとなっている自宅サーバに、さらにGPU機能を追加しようという計画。これを機に数年間使ってきた単純なLXC運用をLXD、もしくはopenstackに切り替えてみたいという願望もある。その場合、開発が先行しているubuntuをホストOSとする選択肢もありうる。何十年も使い続けてきたredhat系のCentOSに対してdebian系のubuntuは仕事でちょっと触ったことがある程度。それぞれ一長一短あるんだけど、よい機会なのでubuntuを触ってみる。... 続きを読む

録画サーバ構築 QSVエンコード CentOS7.3編

幾つかのハードウェアエンコードを試してきたんだけど、やはりIntelのQSVエンコードが比較にならないくらい美しい。VAAPIを使ってOSの自由度を上げることも考えたんだけど、品質を犠牲にするのは忍びない。最新のIntel Media Server StudioがCentOS7.2をGold OSとしているため、OSの選択が硬直化してしまうことがデメリット。一応、Generic Installという手順もあり、それを使えばOSの選択肢は自由になるはずなので、今回はこのGeneric Install手順を確立したい。... 続きを読む

録画サーバ構築 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が出来るグラボは持っていないので、これは調達してから。... 続きを読む