본문으로 바로가기

인터넷 방송 인코더에 대한 고찰

category 카테고리 없음 2017. 1. 24. 15:38

인터넷 방송을 하기위해 OBS Studio나 Xsplit을 사용하다 보면 반드시 겪게되는 문제가 바로 인코더 설정입니다.


실제로 저에게 조언을 요청한 수많은 스트리머 분들에게 받은 질문중 하나가

'다른 사람들 방송을 보면 1080p 60fps 방송 잘만 하는데, 내가 하면 CPU점유율이 100%가 된다.' 였습니다.


방송만 틀면 CPU 점유율이 100%가 되는 분들은 높은 확률로 인코더 문제입니다.

본인이 X.264 인코더로 설정해놓고 방송하는건 아닌지 반드시 확인해 보셔야 합니다.


현재 방송 프로그램에서 많이 쓰이는 인코더는 크게 4종류 인데

위에서 말한 X.264 외에 intel QuickSync, Geforce NVENC, AMD VCE[각주:1]가 있으며

이거에 굳이 하나 더 추가하자면 Avermedia H.264[각주:2]를 추가 할 수 있겠습니다.


위의 인코더들을 크게 두 종류로 분류하면 소프트웨어 인코더와 하드웨어 인코더로 분류 할 수 있는데

X.264는 소프트웨어 인코더, 나머지는 하드웨어 인코더로 분류가 가능합니다.


위 두 인코더의 근본적인 차이점은 바로 '하드웨어 가속'의 지원 여부 입니다.

영상의 처리를 온전히 CPU에만 맡길 것이냐, 아니면 GPU에 분배하여 처리 할 것이냐의 차이죠.

이러한 하드웨어 가속 덕분에 컴퓨터보다 상대적으로 사양이 떨어지는 스마트폰이나 TV에서도 최신 코덱을 처리하는 것이 가능합니다.


하지만 X.264는 하드웨어 가속이 지원이 안되죠, 그러니 순전히 CPU에 모든 작업을 할당하는 수 밖에 없습니다.

실제로 Xsplit 사이트에서도 나와있지만 X.264 인코더를 이용해 실시간 스트리밍 할 경우

720P 30fps 일때 i5 샌디브릿지 이상을 권장하고 있습니다.


특히나 원컴일 경우엔 i7, FX 8코어 시리즈[각주:3]로도 버거운 까닭에 더더욱 하드웨어 인코더가 필수라고 볼 수 있겠습니다.

특히나 게임 최저 프레임은 CPU 점유율[각주:4]에 크게 영향을 받으니 주의가 필요합니다.

  1. OBS Studio 같은 경우엔, 발전된 인코더인 AMD AMF를 사용함. [본문으로]
  2. 당연하지만 Avermedia 캡쳐보드 한정. [본문으로]
  3. 인코딩 한정으로 i7 아이비브릿지 급의 성능을 보여줌. [본문으로]
  4. CPU 점유율이 100%에 가까울수록 프레임이 큰 폭으로 떨어진다. 특히 DX11 이하의 게임은 크게 영향을 받음. [본문으로]