설정을 살펴보다가 했던 오해중의 하나가 유명 pd들 방송을 보니 FHD 해상도에 60fps 방송을 하던데 왜 이것이 설정에 없는가, pd 등급에 따른 차별인가 싶었는데 검색을 해보니 현재는 시험적으로 일부 pd들에 한해서 기능 제한을 풀어준 상태라고 한다.
![]() |
vbr 압축 사용에 체크되어 있는데 실제로는 사용 안한다. 캡쳐하다 보니까 그냥 체크해 놓은 것뿐 |
어쨌든 품질 설정(비트레이트)이 최대 4,000Kbps까지 밖에 설정이 안되는데 최대 해상도나 초당 프레임수는 저 최대값 안에서 이루어질 수 밖에 없다. 해상도의 경우는 근래 표준이 되다시피 한 FHD 비율인 16:9의 1280x720 일 수밖에 없고 남은 것은 초당 프레임수(fps)를 정해야 하는데 최대 60을 선택할 수는 있지만 4,000Kbps의 비트레이트는 720p에 60fps를 담기엔 애매한 수치이므로 실제 방송을 하면 흔히 깍두기 현상이라 말하는 화질 열화 현상이 발생하고 만다.
검색을 해보니 원하는 적정 비트레이트를 찾기 위한 공식이 있던데 대충 이렇다.
width(가로) x height(세로) x fps(프레임) x 0.1(보정값) / 1,000(단위 변경)
여기서 0.1은 화면에 얼마나 움직임이 많은지를 판단하는 보정값 같은 것인데 이것은 bit per pixel = bpp라고 하더라. 내가 봤던 문서는 원문이 영문이라 나도 잘은 모르고 자세한 내용은 하단 링크 참조. 아무튼 이것은 화면에서 움직임이 많은 카운터 스트라이크나 오버워치와 같은 게임을 기준으로 한 값이다. 그외에 화면 움직임이 적은 하스 스톤과 같은 게임은 이보다 낮게 대략 0.06 정도를 기준을 잡으면 된다. DOTA와 같은 MOBA 장르의 게임은 중간값 정도 될 것이다.
720p에 60fps 영상을 제대로 스트리밍하기 위해 필요한 비트레이트는 다음과 같다.
1,280 x 720 x 60 x 0.1 / 1,000 = 5,529.6 즉 5,500Kbps는 되야 제대로 된 스트리밍을 할 수 있다는 얘기다. 그럼 이제 결론적으로 최대한 타협을 볼 수 있는 fps를 찾으면 다음과 같다.
4,000 x 1,000 / 1,280 / 720 / 0.1 = 43.4
카카오tv는 5 프레임 단위로 선택할 수가 있다. 그래서 가장 근사값인 45 프레임이 되는 것이다. 내 경우는 화면이 뭉게져서 뭐가 뭔지 알 수 없는 것보다 프레임이 떨어져도 화면이 선명한 편이 낫다고 생각하므로 프레임을 낮추는 것으로 타협을 보았다. 모니터링도 해보았지만 45 프레임이나 60 프레임이나 보는 입장에서는 엄청 큰 차이는 아니다. 최소한 화면이 뭉게지는 것보다는 낫다.
만약 MOBA 장르의 게임을 한다면 저 보정값을 0.08 정도로 잡으면 54.2가 나오게 되므로 대충 60 프레임을 설정하고 방송을 해도 무리가 없을 것이다.
만약 MOBA 장르의 게임을 한다면 저 보정값을 0.08 정도로 잡으면 54.2가 나오게 되므로 대충 60 프레임을 설정하고 방송을 해도 무리가 없을 것이다.
추가적인 내용으로는 FHD로 60 프레임 송출을 하려면 필요 비트레이트는 다음과 같다.
1,920 x 1,080 x 60 x 0.1 / 1,000 = 12441.6
그래서 본인의 경우 OBS 설정에서 비트레이트를 12,000Kbps으로 하고 있으며 유튜브 고객센터 도움말에 따르면 최대 9,000Kbps를 권장값으로 안내하고 있다. 정답은 정해져 있는것이 아니고 각자가 목적에 맞게 실험을 거치면서 적정값을 정하는게 맞다고 본다.
마지막으로 위 스크린샷에서 vbr 압축에 체크되어 있는데 실제로는 저렇게 하지 않는다. 그냥 캡쳐하기 전에 이것저것 뒤져보면서 클릭을 했었나보다. vbr은 저장용 인코딩에나 쓰는거지 스트리밍에 적합하지 않다고 보는데 그 이유는 vbr은 본질적으로 용량을 줄이기 위한 것이지 화질을 높이기 위한것이 아니기 때문이다.
저장할 수 있는 최대 용량이 정해져 있는 상황이라면 적은 움직임이 있는 곳에서 적은 데이터를 사용하고 큰 움직임이 있는 곳에서 많은 데이터를 할당하여 화질을 높일 수 있다는 것이 vbr의 핵심이다. 그런데 이것은 앞서 말했다시피 최대 용량이 정해져 있을 경우에 한해서다. 즉 DVD와 같은 미디어에 영상을 담아야 할 경우를 말한다. 스트리밍은 최대 용량이 정해져 있지 않다. 스트리밍은 말 그대로 계속되는 데이터의 흐름이다. 최대 용량과 최대 비트레이트는 다른 개념으로 최대 용량은 그릇과 같은 것이라면 최대 비트레이트는 음료수의 당도와 같은 것이다.
vbr을 스트리밍에 사용하면 송출 데이터의 양은 줄겠지만 그만큼 내 CPU의 자원을 소모하게 된다. 하지만 화질 향상은 기대하기 어렵다. 왜냐하면 화질은 어차피 최대 비트레이트에 제한에 종속될 수 밖에 없고 최대치에 근접했을때 화면 뭉게지는것은 cbr이나 vbr이나 마찬가지다. 설령 스트리밍에 화질향상이 있다 해도 움직임이 적거나 없는 구간에서나 눈에 보일 정도일 것이다. 그런데 정작 중요한것은 움직임이 많은 곳에서의 화질 아닌가? 어차피 정지 화면이면 cbr일때도 화질은 별 차이가 없다.
즉 vbr은 내 CPU 자원을 소모하여 데이터 전송량을 줄이는 것이니 트래픽이 줄어서 스트림을 받아서 재전송하는 입장에서는 좋을지 몰라도 나에겐 화질 향상등의 이점은 별로 없다는것이 내 결론이다. 내 결론이 그렇다는 것이니 이것도 정답은 아니다. 더 자세한 내용은 하단의 링크를 첨부했으니 각자가 보고 판단해야할 문제라고 본다.
댓글 없음:
댓글 쓰기