본문 바로가기

컴퓨터&인터넷

팟플레이어로 방송이란걸 해봤다

최근 간간히 게임 방송을 하고 있다. 게임하다 살짝 지루해지면 방송을 하곤 하는데 한 두명씩 들어와서 보는 분들이 있다. ㅡㅡ; 처음에는 그냥 팟플레이어만으로 방송을 하다가 화질이 안좋은 것 같아서 다른 방법을 찾다가 OBS(Open Broadcast Software) 라는 방송 스트리밍 및 녹화 프로그램을 사용해서 카카오TV로 팟플 방송을 해봤다.


OBS라는 프로그램을 거쳐 다음 카카오 팟플레이어 방송을 하기 때문에 2번 인코딩을 해야해서 자원을 더 소비하는게 단점이다. 하지만 팟플에서 지원하지 않는 캠화면 오버레이 등의 기능을 손쉽게 설정할 수 있고 기타 편의 옵션도 많기 때문에 편리하다. ( 한번의 인코딩으로 방송할 수 있는 플러그인도 있다) 

게다가 트위치, 유튜브 등에도 동시 송출이 가능하다. 무료 오픈소스 프로그램에다가 유튜브에서는 무료 스트리밍 프로그램으로 OBS를 권장하고 있다.

아무튼 팟플레이어로 방송이란걸 처음 해보면서 알게된 OBS 설정법 및 몇가지 기본적인 팁들을 아래로 정리해봤다.



OBS로 팟플레이어 방송하기


우선 https://obsproject.com/ 에서 obs를 다운받아서 설치하고 (무설치 zip 버전도 제공함), 

https://github.com/nginx/nginx/releases 에서 nginx 라는 서버 소프트웨어 최신 버전을 다운받는다.

둘 다 무설치 버전을 다운받은 후 같은 폴더에 압축을 풀어 넣고 실행하면 편한데 VirtualCam같은 OBS플러그인이 정상 동작하려면 설치를 해야한다.


△ nginx 를 실행하면 저렇게 두 개의 프로세스가 뜬다. 인터넷 스트리밍은 obs가 하고 nginx는 인터넷접속을 하지 않는다. 방화벽을 사용한다면 obs.exe 에만 아웃바운드(out bound)나 아웃고잉(out going)만 허용해주면 된다.

OBS Virtual Cam 플러그인을 이용해서 한번의 인코딩으로 팟플방송을 한다면 nginx는 실행할 필요가 없음. virtual cam 플러그인 사용법은 아래에 소개.



△ obs 첫 실행 화면임.

설정을 눌러 중요한 인코딩 설정 등을 하면 된다. 이 설정으로 한번 인코딩된 화면을 팟플레이어에서 방송하면 팟플 인코딩 설정을 한번 더 거쳐 방송된다. 그래서 가능하면 OBS와 팟플 인코딩 설정은 같게 하는게 좋을 것 같다.


일반 설정 메뉴에서 방송 시작과 동시에 녹화도 자동으로 하려면 「방송 시 자동으로 녹화」에 체크.

컴퓨터 사양이 좋지 못한 분들은 체크해제해야함.


방송 설정 메뉴에서 트위치, 유튜브 등의 방송 서비스를 지정해주어야 한다.

obs에서 공식 지원하는 트위치, 유튜브같은 방송 서비스는 해당 방송서비스의 본인 계정 「스트림키(방송암호키)」만 입력해주고 obs메인화면의 방송시작을 누르기만하면 간단히 방송할 수 있다.

트위치는 모르겠고 유튜브는 OBS에서 인코딩된 화면이 따로 별도의 인코딩 작업없이 바로 방송된다. 


다음 카카오 팟플레이어의 경우에는 아래와 같이 하면 된다.


△ 팟플방송을 하려면 방송형식을 「사용자 임의 방송 서버」 로 한 다음,

URL에  rtmp://자신의 인터넷아이피/live  를 입력하고,

스트림키는 임의로 정해주면 된다. 스트림키는 유출되지 않도록 주의해야 함.


** 본인 컴퓨터의 인터넷 아이피는

작업표시줄 시작 > 검색 > "제어판" 입력 후 실행 > 제어판의 「네트워크 및 공유센터」 > 「어댑터 설정 변경」 > 현재 연결되어 있는 이더넷 장치 우클릭해서 「상태」 클릭 > 이더넷 상태 창의 「자세히」 클릭 > 「IPv4 주소」 

에 나온다. 공유기를 사용하면 192.168.*.* 를 사용하면 됨.


** 게임용 컴퓨터로 게임화면을 OBS에서 인코딩하고, 다른 PC에서 팟플로 OBS의 스트리밍화면을 받아 재인코딩 후 방송을 하는 방법도 있다. rtmp 주소를 입력하는건 같은데 공유기 환경에서는 따로 공유기 설정에서 포트포워딩으로 rtmp 방송 포트를 열어줘야 한다. 기본 포트값은 1935임.


△방송화질을 결정하는 출력 메뉴다.

기본값으로 출력방식이 「단순」으로 되어있고 비트레이트와 인코더만 지정할 수 있는데 더 세밀하게 조정하려면 「고급」으로 해놓고 세세한 인코딩 옵션을 정할 수 있다.


△ 인코딩 고급 옵션 화면.

방송화질을 결정하는 출력 메뉴에서 중요한건 인코더데이터율 제어, 비트레이트 세가지임. 그 외의 값들은 아직 하나하나 테스트해보지 못했다.


인코더 - cpu에서 인코딩 작업을 하는 x264 와 내장 그래픽 인코더인 intel QuickSync 그리고 외장그래픽에서 작업하는 엔비디어 NVENC 가 있다. 화질은 x264 > NVenc > QuickSync 순으로 좋다.

cpu 부담을 줄일려면 그래픽카드에서 인코딩작업을 하게하면 되는데 자신의 그래픽카드가 지원해야 한다. 인텔cpu와 외장그래픽을 모두 장착하고 있다면 인코딩은 QuickSync가 전담하게 해서 고사양게임에서의 그래픽카드 부담을 줄일 수 있다.

인텔 cpu의 내장그래픽과 외장그래픽을 동시에 사용하려면 바이오스에 들어가 내장그래픽을 활성화해주고 내장그래픽 드라이버를 설치해야 함.


데이터율 제어 - 보통 cbr 과 vbr을 사용한다. cbr은 고정 방식이고 vbr은 가변방식이다. vbr 가변비트레이트 방식은 비트레이트를 3000으로 정해주었을 경우, 게임 메뉴 화면같은 움직임이 적은 화면에서는 1000~2000 대까지 떨어지고 움직임이 많으면 4~5000 대까지 올라간다. 또 최대비트레이트를 지정해서 데이터전송량을 아껴 버퍼링없는 방송을 할 수 있다.


비트레이트 - 값이 높을수록 화질이 좋아진다. 화질좋은 방송은 5000~8000까지 정해주는데 물론 컴퓨터 사양이 좋아야한다. 해상도와 함께 화질에 가장 많은 영향을 주는 값임.

1080P 방송은 최소 5000이 되야한다고 한다. 팟플의 최대지원 비트레이트는 8000임.


그리고 「방송 서비스 인코더 설정 강제 적용」, 「출력 배율 재조정」도 모두 체크해제 하면 보다 원활한 방송이 가능하다.

또 인코더를 외장그래픽 nvenc로 했을때 보이는 옵션인 「2패스 인코딩 사용」에 체크해제하면 동시녹화를 하지 않을때는 더 효율적이라고 함.

프로파일은 보통 main으로 한다고 한다.

** 참고 링크 - https://lpokeh.blogspot.kr/2014/07/korean-only-daumpot-afreeca-rtmp.html  (DaumPot 이외의 RTMP를 사용하는 실시간 방송)


** 화면이 깨진다거나 소리가 안들리는 등 방송이 잘 안되면 출력방식을 「단순」으로 변경.


오디오 설정 메뉴에서는 따로 설정해줘야하는건 없다.

기본으로 지정되어있는 장치들을 disable 시키고 아예 오디오 장치들을 사용자 on/off 할 수 있게 해도되고, 샘플레이트를 윈도우 오디오설정에서 지정한 값과 같게해서 추가작업을 안하게하면 조금이나마 나을 것 같다.


△ 방송 출력 해상도를 설정하는 비디오 메뉴.

자신의 컴사양이 별로라면 해상도 설정을 낮춰 부담을 줄일 수 있다. 기본(캔버스) 해상도는 보통 모니터 해상도와 같은 1920x1080 으로 잡혀있고 obs 미리보기 화면에 반영된다. 기본 해상도는 모니터해상도와 반드시 같게 하는걸 권장하고 있다.

방송으로 나가는 해상도인 출력해상도를 720P 인 1280x720 으로 했는데도 약간 버벅임이 있다면 기본캔버스 해상도도 같은 720p 로 바꾸고 미리보기도 비활성화해서 테스트해보면 된다.

fps값은 보통 30~60 으로 잡는데 60의 경우 화면이 부드러워질뿐만 아니라 화질도 좋아진다. 물론 리소스를 많이 먹는다. 


단축키도 지정해서 여러 캡처화면을 바꿀 수도 있고, 장치들을 끄고 켤 수 있음.


고급 메뉴에서는 그냥 기본으로 두는게 가장 나은듯하다.

개인방송을 처음하는 신입 스트리머들은 간혹 트위치나 유튜브같은 스트리밍 서비스 사이트의 트래픽 제한? ( 유저들 중 그렇게 추측하는 사람들이 있음) 때문에 고사양PC 임에도 불구하고 방송 화면이 버퍼링이 걸리기도 하고 프레임 드랍이 생겨 '빨리감기되감기 현상'이 생기기도 한다.

OBS로 녹화를 해보고 녹화된 동영상이 멀쩡하다면 회선이나 서버의 문제일 가능성이 많다고 한다. 이런 경우는 화질을 낮추고 트래픽 유발을 자제하면서 꾸준히 방송하다보면 차차 좋아질 것 같다. 화질을 포기할 수 없다면 위 고급설정 「방송지연」 옵션에 체크하고 지연 시간값을 늘려서 테스트해볼 수 있다.

아니면 각 서비스 사이트 스트리밍 계정 옵션에 있는 지연 기능을 설정해서 테스트해보면 될 것 같다. 유튜브같은 경우 버퍼링 방송 해결책으로 「기본 지연 시간」에 체크하도록 권장하고 있다. 



위와 같이 설정하고 화면 캡처를 아래 동영상과 같이 해서 방송시작을 클릭하면 다음 카카오나 유튜브, 트위치 등의 지정한 서버에 스트리밍된다.



OBS에서 방송시작 클릭 후 팟플레이어로 다음과 같이 설정 후 방송시작 하면 됨.

방송하기 메뉴의  방송장치 > 파일주소  에서 추가를 눌러 URL주소

rtmp://localhost/live/****(스트림키)

를 입력.

압축설정은 obs에서 인코딩 처리한 화면을 재작업해야하므로 obs의 설정과 같게 하면된다.

그리고 볼륨조절에서 음소거에 체크하고 방송시작하면 됨.


팟플레이어 방송은 일정 PD등급이 안되면 고화질 1080p 방송이 안된다. 일반적인 방송은 설정할 수 있는 최대 해상도가 720p(1280x720) 임.

OBS에서 1920x1080 출력해상도로 설정해놔도 팟플 방송에 반영되지 않는다. 720p 해상도에서 최대한 고화질로 방송하려면 대충 다음과 같이 하면 될 것 같다.

일단 OBS의 출력해상도를 1280x720, 축소필터는 Bicubic (내장/외장그래픽을 동시에 사용한다면 Lanczos), 비트레이트는 8000 으로 하고, 

팟플레이어의 파일주소 > 압축설정에서 실제 방송에 반영되는 인코딩 설정을 하면된다.

압축설정에 들어가 위 화면과 같이 품질(비트레이트)를 최대치인 8000 까지 올리면 된다.

「가능하면 원본 FPS 사용」 옵션은 게임FPS가 지정한 FPS인 30이나 60 이하로 떨어지기도 하고 들죽날죽하면 체크해제하는게 좋다고 함.  

△ 그리고 시청자들에게 팟플 영상 환경설정의 크기조절Shader(2 PASS) Bicubic 으로 바꾸고 시청할 것을 공지하면 됨.

크기조절 옵션은 뒤로 갈수록 화질이 좋아지고 리소스를 많이 먹는다. Shader(2 PASS) Bicubic 이 리소스를 적게먹으면서도 화질도 선명하게 보정해준다. (Bspline은 화면이 뭉개지므로 비추)


대충 위와 같이 설정하면 720p 방송도 그럭저럭 괜찮은 것 같다. 물론 1080p 고화질과 비교하기에는 무리가 있다.

그리고 인코더를 x264로 하면 그래픽카드 인코더를 이용하는 것보다 약간 화질이 나아진다. 물론 cpu를 사용하기 때문에 고사양 환경 아니면 버벅일 수도 있음.



2번 인코딩없이 OBS로 팟플 방송을 하려면 가상캠(Virtual Cam) 플러그인을 설치하면 된다.

https://github.com/CatxFish/obs-virtual-cam/releases

위 주소에서 obs-virtual-cam 을 다운받아 설치해서 obs 도구에 새로 등록된 virtualcam을 실행하면 된다.

OBS VirtualCam Plugin을 이용한 카카오TV OBS송출법  (팟플레이어 사용자 공간 - 활용 TIP 게시판)


** 팟플에서 obs-camera 장치를 인식하지 못하면 obs와 플러그인이 최신버전인지 확인하고, install 설치 버전 파일로 설치해야 정상적으로 인식된다. 그리고 팟플 비디오캡처장치 설정에서 종류, 입력, 오디오, 포맷 등은 기본값 그대로 사용하면 된다.


** 간혹 OBS에서 특정 게임캡쳐가 안되는 경우가 있다. 여러가지 원인이 있겠지만 복잡한 문제가 아닌 경우 게임의 「호환성 설정」을 체크해보면 된다. 아니면 OBS 프로그램의 호환성탭에 있는 「관리자 권한으로 실행」 옵션을 체크해보는 것도 방법임.

△ 바탕화면에 있는 게임의 바로가기 아이콘을 우클릭해서 속성에 들어가면 호환성 탭이 있다. 캡쳐가 안되는 게임의 호환모드관리자 권한 체크 옵션을 꺼거나 켜면 되는 수가 있다.

OBS 실행을 관리자 권한으로 해보는 것도 방법임.

또 팟플도 그렇고 미디어 코덱을 사용하는 프로그램들은 OS 버전 호환성이 매우 중요한 변수가 된다고 한다. 이상하게 버벅이거나 제 성능이 나오는 것 같지 않다면 64비트 윈도우 버전을 사용해도 32비트용 OBS를 설치하면 해결되는 경우가 많다고 한다. 물론 개인 사용자 환경마다 다를 수도 있다.

윈도우10에만 있는 '전체화면 최적화 사용 중지'에도 체크하고 테스트해보는 것도 방법임.