ffmpeg NVENC에 대한 (개인적) 평가 및 요약
목적
흥미로운 자료를 2개 찾았습니다.
Video Encode and Decode GPU Support Matrix
Nvidia제 GPU의 NVENC 대응 상황이 기재되어 있다.
여기,
NVENC(하드웨어 인코더)가 칩 상에 몇 개인가 표기되어 있다.
GTX 제품은 대부분 1이다. (뭐 2라도 좋지만)
즉, CUDA 코어의 수에 좌우되지 않고 GPU상에 하나 존재하고,
그 성능은 등가라고 생각된다.
Nvidia NVENC
여기 NVENC에 대해 위키가 존재한다.
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)
우분투18.04
GPU
81
i7-7700
8
GTX1060(Pascal)
CentOS6
GPU
60
GPU 비교
NAME
Architecture
Cores
시계
MEM
TDP
Tesla K20c
Kepler
2496
706
GDDR5 5GB
225W
GTX660
Kepler
960
1033년
GDDR5 2GB
140W
GTX980
맥스웰
2048
1216년
GDDR54GB
165W
GTX1060
Pascal
1280년
1708년
GDDR56GB
120W
고찰
K20c와 GTX660은 코어 수가 압도적으로 다르지만 거의 같은 인코딩 시간입니다.
라는 것이 모든 것을 이야기하고 있을 것 같다.
그리고 코어 수와 상관없이 세대가 새롭다면 빠르다.
메모리와도 별로 관계없는 것 같다.
결론
누군가 Turing
Reference
이 문제에 관하여(ffmpeg NVENC에 대한 (개인적) 평가 및 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Soleiyu/items/712ae291dc732f69afc6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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)
우분투18.04
GPU
81
i7-7700
8
GTX1060(Pascal)
CentOS6
GPU
60
GPU 비교
NAME
Architecture
Cores
시계
MEM
TDP
Tesla K20c
Kepler
2496
706
GDDR5 5GB
225W
GTX660
Kepler
960
1033년
GDDR5 2GB
140W
GTX980
맥스웰
2048
1216년
GDDR54GB
165W
GTX1060
Pascal
1280년
1708년
GDDR56GB
120W
고찰
K20c와 GTX660은 코어 수가 압도적으로 다르지만 거의 같은 인코딩 시간입니다.
라는 것이 모든 것을 이야기하고 있을 것 같다.
그리고 코어 수와 상관없이 세대가 새롭다면 빠르다.
메모리와도 별로 관계없는 것 같다.
결론
누군가 Turing
Reference
이 문제에 관하여(ffmpeg NVENC에 대한 (개인적) 평가 및 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Soleiyu/items/712ae291dc732f69afc6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
누군가 Turing
Reference
이 문제에 관하여(ffmpeg NVENC에 대한 (개인적) 평가 및 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Soleiyu/items/712ae291dc732f69afc6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)