OBS NVIDIA NVENC 인코더 사용하기

NVIDIA NVENC 인코더는 NVIDIA 그래픽 카드의 하드웨어 인코더를 사용하기 때문에 그만큼 송출하는 PC의 CPU 부하가 줄어든다는 장점이 있습니다.

NVENC는 케플러(Kepler)기반의 GTX 6xx부터 지원하며 튜링(Turing) 기반이나 RTX 시리즈가 좋지만 맥스웰(Maxwell)이나 케플러(Kepler) 기반도 문제없이 잘 됩니다 (최소 GTX 960/970 추천).

그외 GeForce, Quadro, Tesla, Kepler, Maxwell, Pascal 기반의 GPU에서 사용할 수 있으며 자세한 GPU 리스트는 이 링크에서 볼 수 있습니다.

방송 : NVIDIA NVENC 인코더 설정

방송 설정 NVIDIA NVENC H.264
  • 출력 방식 : 더 자세한 설정을 위해서 출력 방식은 고급을 선택합니다.
  • 인코더 : NVIDIA NVENC H.264 (참고!: 유튜브 송출 시에는 본인 비디오 카드가 지원한다면 HEVC 또는 AV1 인코더 사용하면 더 좋은 화질을 얻을 수 있습니다).
  • 출력 배율 재조정 : 체크하지 않습니다. 방송 출력 해상도는 이것이 아니라 “비디오”탭에서 설정하는 것이 좋습니다.
  • 데이터율 제어 : CBR
    • CBR : Constant Bitrate (고정 비트레이트)
    • VBR: Variable Bitrate (가변 비트레이트)
    • CQP: Constant Quantization Parameter
  • 비트레이트 : 화질에 가장 큰 영향을 주는 비트레이트는 송출하는 해상도와 프레임 수에 따라 조절합니다. 아래 표를 참고해서 적당한 수치로 설정합니다. 720/60p로 송출할 때 4,500~5,000, 1080/60p는 6,000 이상
  • 키프레임 간격 : 2
  • 사전 설정 : P5~6 정도면 충분하고 더 높을수록 GPU 부하가 커집니다.
  • 멀티패스 모드 : 1패스. 2패스(1/4 해상도) 또는 2패스(전체 해상도)로 설정할 수 있지만 GPU 부하가 커집니다. 2패스(멀티패스) 인코딩은 특히 CBR 인코딩 시에 설정한 비트레이트에 더 근접한 결과를 얻을 수 있고 움직임이 많은 영상에서 장점이 있습니다. GPU 자원에 여유가 있다면 2패스(1/4 해상도)도 추천합니다.
  • 프로파일 : high 또는 main
  • Look-ahead : 체크하면 인코더가 0에서 최대 B-프레임에 설정한 값을 동적으로 사용합니다. B-프레임은 화질에 도움이 되지만 그만큼 비트레이트도 많이 소비하므로 움직임이 많은 컨텐츠의 경우에는 품질이 떨어질 수도 있습니다. CUDA 가속이 되는 기능이며 체크 후에 GPU 사용률이 너무 높다면 끄는 것이 좋습니다.
  • Psycho Visual Tuning : 인코더의 “Rate Distortion Optimization”을 사용하는 옵션으로 움직임이 많은 컨텐츠의 화질 개선에 도움이 됩니다. 체크합니다.
  • GPU : 2개 이상의 GPU가 있는 경우에 선택할 수 있도록 하는 옵션으로 일반적으로는 0으로 설정
  • 최대 B-프레임 : Look-ahead를 체크했을 경우에는 4, 아니라면 2로 설정합니다.
해상도와 프레임 수에 따른 권장 비트레이트 값

참고 사항

송출 인코더와 관계없이 유튜브 영상은 VP9으로 트랜스코딩된 것이 재생됩니다. 이때 1080p의 경우에는 비트레이트가 낮아서 화질이 좋지 않습니다. 조금 더 좋은 화질을 원한다면 본인의 기본 해상도가 1080p라고 해도 2560×1440 또는 3840×2160으로 업 스케일 해서 송출하는 방법이 있습니다.

녹화 인코더 설정

녹화 설정 NVIDIA NVENC H.264
  • 형식: 표준
  • 녹화 경로: 녹화 파일이 저장될 폴더를 지정
  • 녹화 형식: 본인이 사용할 파일 형식으로 설정합니다. mp4, mov, mkv
  • 오디오 트랙: 더 많은 트랙이 있는 경우를 제외하고는 1만 체크
  • 인코더: NVIDIA NVENC H.264
  • 데이터율 제어: CQP
  • CQ 수준: 15~25 사이 (0~51사이로 지정할 수 있고 숫자가 작을수록 비트레이트가 높아지고 파일 크기가 커집니다. 0 = 무손실)
  • 키프레임 간격: 0 또는 2
  • 사전 설정: P5
  • 멀티패스 모드: 1패스. 2패스(1/4 또는 전체 해상도)로 설정할 수 있지만 GPU 부하가 많아집니다.
  • Profile : high 또는 main
  • Look ahead : 체크 (GPU 부하가 높다면 체크하지 않음)
  • Psycho Visual Tuning : 체크
  • GPU : 0
  • 최대 B-프레임 : Look-ahead를 체크했을 경우 4, 아니라면 2로 설정

윈도우 10 게임 모드

윈도우 10 업데이트 “1903”이 설치되어 있다면 게임 모드를 “켬”으로 해 두고 그 이전 버전이라면 끄는것이 좋습니다.

NVENC 인코더에 대해서

글의 시작에 언급한 것처럼 NVENC는 NVIDIA 그래픽 카드의 하드웨어 인코더를 사용하므로 CPU 부하가 거의 없습니다. 특히 한개의 pc로 게임과 OBS 송출을 같이하는 경우 게임 프레임에 OBS가 영향을 훨씬 덜 주어 높은 프레임을 유지하면서 부드러운 방송을 송출하는 것이 가능합니다.

인코더에 따른 CPU 부하

GTX 10-시리즈 그래픽카드의 경우 x264 Very fast보다 좋은 화질을 보여주며 최신 RTX 20-시리즈의 경우에는 송출컴을 따로 써야하는 x264 Fast 또는 Medium보다 좋다고 합니다(NVIDIA측 글입니다).

관련글:

OBS 인코더와 넷플릭스 VMAF 점수 – NVENC vs x264 vs QuickSync
OBS 스튜디오 관련 영상

“OBS NVIDIA NVENC 인코더 사용하기”에 대한 8개의 댓글

  1. 안녕하세요. OBS NVIDIA NVENC (New) 녹화 설정시, 추천하시는 키프레임 간격이 있을까요? 방송 스트리밍의 경우에는 지연 시간을 줄이기 위해 2를 설정하는 것으로 알고 있는데 녹화의 경우에는 어떤 차이가 발생하는지 궁금해서요. 자세하게 설명해주시면 감사드리겠습니다. 또한 추천하시는 값은 무엇인지도 궁금해요!

    1. 키프레임은 프레임 전체가 저장되는 포인트를 의미합니다. 레코딩시에는 사실 어떤값을 써도 크게 관계는 없습니다만 영상 편집시 키 프레임 간격이 너무 길면 버벅임이 발생할 수 있습니다.

  2. obs에서 지포스450은 NVENC는 지원하지 않는다는 오류메시지가 계속 뜹니다.
    위에 설정한 셋팅값을 모두 설정해주었느데요 안되는 이유가 있을까요?

  3. 너무나도 좋은 내용 공유 감사드립니다. 방송목적이고 송출용인데 nvenc h.264사용하고있는데, 이번에 hevc로 방송해보려고요..업글? 효과가 있기를 기대하며…

  4. 유익한 정보 감사드립니다. 추가로 저희는 유튜브를 통해 예배 방송을 송출합니다. 인텔 12세대 cpu라 내장 그래픽이 있고 외장 그래픽도 있습니다. 외장은 방송송출로 nvenc 설정하고 녹화는 내장 인텔 퀵싱크로 설정해도 될까요?

댓글 남기기