3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ffmpeg NVENC についての(個人的な)評価とまとめ

Posted at

#目的
興味深い資料を2つ見つけました。

Video Encode and Decode GPU Support Matrix
Nvidia製GPUのNVENC対応状況が記載されている。
Screenshot from 2019-06-26 23-52-42.png
ここ、
NVENC(ハードウェアエンコーダ)がチップ上にいくつあるか表記されている。
GTX製品は大半が1である。(まぁ2でもいいんだけど)
つまり、CUDAコアの数に左右されずGPU上に1つ存在し、
その性能は等価であると考えられる。

Nvidia NVENC
ここにNVENCについてwikiが存在する。

NVENCにも世代があり、現在第6世代(Turing)であることがわかる(初めて知った)。
つまり、同世代のNVENCならその性能は等価であると考えられる(2回め)。

エンコしかしないのに高価なGPU買いたくないし・・・
検証を行った。

#検証環境

webmファイルを用意したが、相性が良くなかったのでCPUでmp4へ変換しておく。
各エンコに使用したコマンドは以下

#CPU enc
ffmpeg -i tasty.webm -c:v h264 tasty.mp4

#GPU enc
ffmpeg -i tasty.mp4 -c:v h264_nvenc tasty_nvenc.mp4

動画データ
335 Seconds
4K
webm : 587MB
MP4 : 455MB
NVENC : 94MB

劣化具合?いえ、知らない子ですね。

##ハードウェア構成
面倒くさいので全てバラバラです。
ハードウェアエンコなので、NVENC性能が測れてそうならそれでいいじゃないですか。

|CPU|Threads |GPU|OS| enc | TIME|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|E5-2687W
v4 x2|48|k620|CentOS6|CPU|248|
|i9-9900k|16| Tesla K20c
(Kepler)|CentOS7|GPU|475|
|i7-8700k| 12| GTX660
(Kepler)|CentOS7|GPU|473|
|i3-9350KF|4|GTX980
(Maxwell)|Ubuntu
18.04|GPU|81|
|i7-7700|8|GTX1060
(Pascal)|CentOS6|GPU|60|

GPU比較

NAME Architecture Cores Clock MEM TDP
Tesla
K20c
Kepler 2496 706 GDDR5
5GB
225W
GTX660 Kepler 960 1033 GDDR5
2GB
140W
GTX980 Maxwell 2048 1216 GDDR5
4GB
165W
GTX1060 Pascal 1280 1708 GDDR5
6GB
120W

#考察
K20cとGTX660はコア数が圧倒的に違うが、ほとんど同じエンコード時間である、
ということがすべてを物語っていそう。
そしてコア数とか関係なく世代が新しいければ速い。
メモリとかもあんまり関係なさそう。

#結論
誰かTuringください

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?