録画サーバをパワーアップしたくて、以下の記事を書きました。以下の記事では、Raspberry Pi 4での構成を考えましたが、エンコード時間を短くするためにビデオカード導入を考えてみました。
課題:エンコード時間が長い
現状の録画サーバの課題というか、不満な点としてエンコード時間が長いというのがあります。
1440×1080のTSファイルを1280x720のh.264に変換するのに、番組時間と同じエンコード時間がかかります。30分番組なら30分のエンコード時間だし、1時間番組なら1時間のエンコード時間です。
AWS MediaConverterは金額的に現実的ではない
AWS Elemental MediaConvertは以下の記事で検討したように、金額的に現実的ではありません。
ビデオカードを導入するのはどうか
そこで考えたのは、ビデオカードを導入する案です。
エンコードをビデオカードに任せればエンコード時間が短縮できるのではないかと考えたのです。
ついでに、エンコード方式も変更して、ファイルサイズを減らせるのではないかと考えました。現状はh.264へのエンコードですが、h.265へのエンコードに変更すればエンコード後のファイルサイズを小さくできるのではないかと考えました。
どんなビデオカードを選ぶか
HEVCのBフレームをサポートしているGeForce GTX 1660以上
HEVCのBフレームをサポートしていると、圧縮率が上がるとのことなのでこれをサポートしていることが必要と考えます
となると、以下のページで「HEVC B Frame support」で「Yes」となっているものが対象です。
できるだけ安価に中古
上記のページだと、GeForce GTX 1660がその中でも安価な部類です。RTX系はとてもじゃないけど、購入できないです。
amazonでGeForce GTX 1660を調べると、以下の製品のように25000円ぐらいします。
ZOTAC GAMING GeForce GTX 1660 6GB GDDR5 グラフィックスボード VD6918 ZTGTX1660-6GB
- 発売日: 2019/03/14
- メディア: Personal Computers
中古で調べると、以下のように20000円のものもありました。
ビデオカードを使うことで狙える副次効果
ビデオカードを使用すれば、AIで流行っている機械学習もしやすいんじゃないかと考えました。
やっぱり、高額かな?
理想なのは、何も購入せずにQSVが使えることです。しかし、LinuxだとCoffee Lakeは対応してないのが残念です。
エンコードのために2万円を投資するのはどうなのかな。