본문 바로가기
Tips

강력한 성능을 가진 AMD 라이젠 3800X을 활용한 원컴방송 가이드

by IT블로거 김병장 2020. 1. 12.

안녕하세요. ITKBJ 김병장입니다.

 

최근에 유튜브나 트위치와 같은 스트리밍 플랫폼을 활용하여 개인방송을 하는 사람들이 많습니다. 

 

제 지인분들도 취미나 남는 시간을 투자하여 개인방송을 해서 용돈벌이를 하는 사람들도 있는데, 다들 초기에 설정에 많이 애를 먹더라고요. 그런 사람들을 위해 도움이 되고자 글을 써보았습니다.

 

보통 게임 스트리밍 하면 많은사람들이 원컴방송으로 시작을 하지만, 시도를 하고 좌절하기 마련입니다.

 

인기 게임중 하나인 리그오브레전드와 같은 상대적으로 사양이 낮은 게임은 원컴방송을 해도 별 탈이 없지만, 배틀그라운드나 몬스터 헌터 월드, 레인보우식스 시즈와 같은 AAA급 고사양 게임을 원컴으로 돌리기에는 상당히 무리가 있습니다.

 

그래서 다들 돌리고 스트리밍 품질을 보고 좌절하시는데... 결론부터 말하자면 원컴 하려면 최소한 6코어 12쓰레드 이상의 CPU 필요합니다... 라이젠 기준 3600 이상의 CPU가 있어야 원컴 할 수 있다고 보면 됩니다.

 

아래부터는 CPU자원과 OBS Studio를 활용한 가이드가 나갑니다. 엔비디아 그래픽카드나 라데온 그래픽카드를 활용하지 않습니다. 관련 이유는 후술하겠습니다.

 

먼저 방송 하려면 프로그램이 있어야합니다.

 

https://obsproject.com/ko <- OBS Studio 사이트입니다.

 

OBS Studio를 활용하는 이유는 무료이면서 강력한 성능을 가지고 있기 때문입니다. 돈이 된다면 Xsplit과 같은 유료 프로그램을 쓰면 좋지만, 취미로 시작하면서 프로그램에 몇십만원 투자하기는 부담이 되니까요.

 

그리고 OBS Studio의 경우 무료인만큼 포럼 활성화가 굉장히 잘 되어있기에, 모르는 부분을 질문하기에도 편합니다.

 

홈페이지 메인화면에서 Windows 버전을 선택 후 받습니다.

 

열심히 다음버튼 눌러주면서 넘기셔도 됩니다. 딱히 만져야할 설정은 없습니다.

 

설치 이후에 구성 마법사 나오는데 X 눌러서 닫아주세요. 필요없습니다.

 

메인화면이 보이신다면, 먼저 왼쪽 상단의 파일 -> 설정을 눌러 설정창으로 가줍니다.

 

먼저 간단한 설정을 하겠습니다. 방송 탭에 가시면 스트리밍 플랫폼을 선택할 수 있습니다. 본인이 사용할 플랫폼을 고른 후, 스트림 키를 입력합니다.

 

스트림 키의 경우, 유튜브를 기준으로 하자면, 조오기 링크 버튼을 누르면 하단에 스트림 키를 받을 수 있는 칸이 있습니다. 

 

여러 플랫폼이 있기에 자기에게 맞는 플랫폼과 스트림키를 입력하고 오른쪽 하단 적용버튼을 눌러줍니다.

 

다음은 오디오입니다. 샘플레이트의 기본값은 44.1khz입니다. 48khz로 변경해주시기 바랍니다.

 

변경하는 이유는 간단합니다. 44.1khz의 경우 일부 게임이나 프로그램 이용시 소리 밀림 혹은 끊김, 깨짐 등이 발생합니다. 48khz로 변경한다고 사양을 엄청 더 먹고 그러지 않습니다.

 

오디오 설정의 경우, 본인이 여러개의 스피커나 마이크를 사용한다면 각각 전부 지정을 해주면 좋습니다만, 일반적으로는 저 기본상태로 놓으면 됩니다.

 

다음은 비디오 설정입니다. 기본 해상도와 출력 해상도를 본인이 필요한것으로 변경하시기 바랍니다.

 

먼저 기본 해상도는 본인의 모니터 해상도에 맞춰서 입력하면 됩니다.

 

윈도우 10 기준 바탕화면 우클릭 -> 디스플레이 설정을 누르시면 하단에 본인 해상도가 나옵니다

 

출력 해상도의 경우, 본인이 1080P 방송을 하고싶다면, 1920x1080을 입력하시면 되고, 720p 방송은 1280x720을 입력하시면 됩니다.(설마 4k 방송하시는분은...없으시겠죠?)

 

축소 필터의 경우 따로 설명할 필요 없이 선택지에 설명이 잘 되어있습니다. 

 

Bilinear의 경우 설명대로 스트리밍시 가장 빠르게 화면 변경되어 인코딩되지만 화질이 낮아지고 Lanczos로 올라갈수록 화질 낮아지는 정도가 적어집니다.

 

제가 스트리밍 돌려보니까 프레임에서 별 차이가 없더라고요. 전 그래서 Lanczos를 선택하였으나, 만약 프레임이 너무 나오지 않아서 설정 변경시에는 저 축소필터를 제일 마지막으로 변경하시기 바랍니다.

 

공통 FPS 값의 경우, 송출에 사용할 초당 프레임수, 즉 FPS 설정하는곳입니다. 30 혹은 60 원하는대로 설정하면 됩니다.

 

대한민국에 거주하는 사람이라면 보통 100mbps 광랜이 보장되어있기 때문에 60으로 해도 네트워크 대역폭이 딸리거나 하지는 않을겁니다만, 프레임드랍이 심해지거나 방송 품질이 좋지 않으면 30으로 낮추시면 됩니다.

 

한가지 중요한 사항이라면, 최대한 기본해상도 = 출력 해상도로 설정하는게 좋습니다. 왜냐하면, 출력 배율 재조정에 들어가면 화질열화가 생기기 때문이죠. 

 

다음은 제일 고민인 출력 설정입니다.

 

기본적으로 상단의 출력 방식을 고급으로 바꾸고 시작합니다.

 

이 탭이 가장 설정해줄게 많고, 가장 고민이실겁니다.

 

먼저 인코더의 경우 기본적으로 x264가 있으며, 엔비디아 그래픽카드를 사용한다면 NVENC H.264와 new가 붙은 항목이 있으시고, 인텔 내장 그래픽을 사용하시는 경우 QuickSync가 있을겁니다. AMD 그래픽카드를 활용한다면 AMD VCE(AMD의 경우 추가 라이브러리 설치가 필요합니다. 구글링 하시면 나올거에요)가 있습니다.

 

기본적으로 x264는 CPU자원을 활용하고, NVENC는 그래픽카드의 남는 자원을 활용합니다. 핵심은 "남는 자원"입니다.

 

본인이 게임을 한다면, 게임을 하는데 활용하는 자원 이외의 남는 자원을 활용한다는 소리입니다.

 

이걸 보여주기 위해 간단한 테스트를 진행하였습니다.

 

기본적으로 1920x1080 60FPS 상태입니다.

 

H264는 다음과 같이 설정하였습니다. 각 항목들은 하단에서 상세 서술합니다.

 

NVENC의 경우 다음과 같이 설정하였습니다. 

 

테스트는 라이즈 오브 더 툼레이더 풀옵션으로 진행하였습니다.

 

https://youtu.be/hpNyxWV--DI

테스트 진행 동영상을 한번 만들어보았습니다.

 

55초 부근에 보시면, 오브젝트가 많은 맵을 불러올때 NVENC 인코더는 순간적으로 멈칫하고, 로딩에 지연이 걸립니다. 그리고 GPU 사용량이 NVENC의 경우 순간적으로 95%이상 올라갈때, 약간의 끊김이 보입니다.

 

이런식으로 NVENC 인코더를 활용하게되면 게임성능에 악영향이 갈 수 있습니다.

 

본인이 2080ti와 같은 고성능 GPU를 활용한다면 몰라도, 일반적인 환경에서는 게임에 악영향이 가게 됩니다. 그렇기 때문에 H.264 인코더를 활용한 CPU기반 인코딩을 추천드립니다.

 

H.264나 NVENC나 화질은 비슷합니다만, 이는 현재 벤치마크 모드이고, 실제로 더 동적인 환경(멀티플레이 게임을 할때나, 화면변환이 순간적으로 많이 일어나는 게임이나 환경)에서는 NVENC가 화질열화가 더 심해집니다.

 

그렇기 때문에 H.264를 쓰는걸 추천드립니다.

 

이제 출력 설정을 자세하게 설명해드리겠습니다.

 

제가 올린 이전의 테스트사진을 참고하여 설명하겠습니다.

 

먼저 인코더는 X264를 설정합니다. 

 

그리고 저어기 있는 방송 서비스 인코더 설정 강제 적용은 체크해제를 권장드립니다.

체크를 하게되면 방송 중계 서버의 설정대로 따라가기 때문에, 우리가 여기서 설정한게 다 쓸모없게 됩니다.

 

여담으로, 저는 멍청하게 저거 강제적용하고 테스트를 한걸 확인하고, 전부 다시 테스트해서 영상 만들고 업로드하고 했습니다... 위의 스샷들은 귀차나서 변경을 안한거조... ㅜㅜ

 

그리고 절대 출력 배율 재조정을 선택하지 마세요. 위에서 제가 언급한것처럼, 비디오 탭에서 본인이 사용할 출력 배율을 설정해주시기 바랍니다. 저거는 화질열화가 더 심해집니다.

 

데이터율 제어는 CBR을 기본으로 놔두시기 바랍니다. 비트레이트 기법중 하나로, CBR의 경우 고정된 비트레이트를 활용합니다.

 

우리가 가끔 유튜브 동영상을 보면 소리와 영상이 맞지 않는걸 볼 수 있습니다. 그건 대부분 VBR을 활용하여 가변 비트레이트를 사용하는것인데, 이렇게 가변 비트레이트를 사용할 경우, 비트레이가 변경되어 데이터에 차이가 생기고, 편집 프로그램이 그걸 받아들이지 못해 소리와 영상이 따로놀게 됩니다.

 

후에 녹화 / 편집을 할 때 정신건강에 해롭지 않도록 꼭 CBR을 눌러주시기 바랍니다.

 

다음은 비트레이트입니다.

 

유튜브에서 제공하는 권장 비트레이트입니다. 비트레이트는 말 그대로 전송하는 데이터 기준량을 말하는겁니다. 높을수록 많은 데이터를 보내어 화질이 향상됩니다. 

 

일반적으로 1080p 60fps 기준 6000~7000정도 하면 됩니다. 만약 방송하는데 버퍼링이 생기거나, 보는 시청자 수가 많아져서 버퍼링이 걸린다면 수치를 낮춰주는게 좋습니다.

 

스크롤 하기 귀차느니까 사진 한장더!

 

다음으로 키프레임입니다. 키가 되는 프레임이라고 생각하시면 됩니다.

 

일반적으로 동영상은 사진을 프레임 수에 맞춰 연달아 보여줘서 움직인다고 보여줍니다. 60fps의 경우 초당 60개의 이미지를 보여주어 움직이는것처럼 보여주는거죠.

 

그렇게되면 용량이 어마어마하게 증가하기 때문에, 키프레임이라고 대표하는 프레임 하나를 선정하고, 이후 변화되는 이미지들은 데이터의 변화값만을 기록하여 재생 및 송출합니다. 이렇게 하여 용량절약도 하고, 버퍼링 걸릴 확률도 낮아지게 됩니다.

 

OBS Studio 포럼의 관계자들은 키프레임을 2로 하는걸 권장합니다. 대부분의 중계서버에서 원활한 수치라고 하네요.

 

CPU 사용량은 저의 경우 VeryFast를 하였습니다. 스트리밍의 품질과 본인 프레임을 보고 능동적으로 조절하시면 됩니다. FAST로 갈수록 CPU 부담은 적어지지만 화질열화가 생기고, SLOW로 갈수록 CPU부담은 늘지만 화질에 열화가 적어집니다.

 

프로파일은 Main으로 두시기 바랍니다. 저 프로파일은 세부적인 인코딩 설정의 프리셋의 일종인데, OBS Studio 포럼 관계자의 말에 따르면 프로파일을 main으로 두는게 안전하다고 합니다. high로 할 경우 일부 구형기기나 태블릿에서 재생이 불가할 수 있다고 하네요.

 

마지막으로 x264 설정은, 본인의 논리 프로세서 수를 적어주시면 됩니다.

 

컨트롤 + 쉬프트 + ESC 버튼을 누르게되면 나오는 작업관리자의 성능 탭에 가시면

하단에 작은 글씨로 논리 프로세서라고 보입니다. 저의 경우 3800X이므로 8코어 16쓰레드로 나오네요.

 

저의 경우 threads=16으로 적어주면 됩니다. 본인 논리 프로세서에 맞도록 적어주시면 됩니다.

 

https://www.youtube.com/watch?v=go0TV1qHUSQ

저는 3800X를 활용하여 레인보우 식스 시즈라는 게임으로 원컴방송 테스트를 진행하였습니다. 해당 게임은 상당히 동적인 환경인 게임입니다. 

 

원컴으로도 충분한 화질을 보여주네요. CPU 벤더간의 경쟁과 발전이 좋은 모습입니다 ㅋㅋ

 

지금까지 ITKBJ 김병장이였습니다! 이 글이 유익하셨다면 아래 하트버튼을 눌러주시면 감사하겠습니다 :)

 

궁금한게 있으시다면 댓글을 남겨주시거나 페이스북 "김병장의 IT블로그"로 메세지 주시면 답변 드리겠습니다!

댓글