방송하기 버퍼링이 심해요!!!......왜?

니들이
2018-06-01 01:16:59 4106 18 25


아래의 내용은 완벽하게 정확한 정보를 기반으로 작성 된것이 아닌,

이곳 저곳의 잡다한 지식과 검색으로 합쳐진 뇌내 데이터 베이스를 기반으로 작성된 내용임을 밝힙니다.


괴로워하는 특정구간의 스트리머 분들의 이해를 돕고, 도움이 되었으면 하는 바람으로 작성을 하였으므로, 

필요한 내용만을 걸러 들어주시고, 본인의 생각과 맞지 않거나 틀린부분은 지적해주시면 감사한 마음으로 듣겠습니다.

다만 너무 공격적이거나 비판을 목적으로 한 비판은, 조금만 더 순화 시켜서 적어주시면 감사하겠습니다.






---------이하의 내용은 스트리머의 '송출설정'에 문제가 없음을 기본 전제로 진행됩니다---------





1. 버퍼링? 버퍼? 딜레이? 이게 뭔데?



버퍼링이란?

- 정보의 송수신을 원활하게 하기 위해서 정보를 일시적으로 저장하여 처리 속도의 차를 흡수하는 방법. 

 ( https://terms.naver.com/entry.nhn?docId=1590921&cid=50376&categoryId=50376 )


네 그렇습니다 송수신을 원활하게 하기 위한 작업입니다.


간단하게 예를들어. 

스트리머가 1초에 30mb 의 영상을 송신합니다.

그리고 시청자는 '트위치 서버'에서 영상을 다운을 받습니다. 

하지만 속도가 1초에 20mb 밖에 나오지 않는군요.

그럼 5초가 지났을 경우. 해당 영상을 보기 위해서는 150mb 를 실시간 다운을 받아야 합니다.

하지만 시청측에서 5초동안 다운을 받은 용량은 100mb 밖에 되지 않는군요.

이때 발생하게 되는것이 버퍼링입니다. 모자르는 50mb를 저장하기 위해 영상을 멈추고 다운로드를 받는것이죠.

(물론 전문가분이 보시기에는 꽤나 생략되고 조악하며, 비약적인 비유입니다. 하지만 이렇게 생각하셔도 무방하다고 생각합니다)


'버퍼' 라는것은 동작속도가 다른 두개의 장치를 조정하기 위한 '일시적인 기억 영역' 입니다.

그렇게 때문에 방송을 보실때는, 버퍼에 일정량의 영상을 저장하여 원활하게 시청을 하게 하는거죠.


ab2431bd3e3af0fed9220ad23acb4ae9.png

이 화면은 일반적으로 트위치 방송을 시청하면 화면의 '톱니바퀴->고급->동영상 통계보기'를 누르면 나오는 상황판입니다.

시청중인 방송의 대략적 방송송출/시청 정보를 볼 수 있습니다.


위에 빨간동그라미의 버퍼 크기가 있습니다.

말그대로 내가 지금 서버에 저장하고있는 동영상의 크기라고 보시면됩니다.

4.27초 분량의 영상을 저장 하고 있는것입니다.

이 시간은 계속 소모(시청)가 되며, 계속 충원(다운로드)이 됩니다.

버퍼 크기의 숫자가 0이 되면, 버퍼링이 시작되며 화면이 멈추고 방송을 저장하여, 일정량을 저장한 후에 방송이 시작됩니다.


브로드캐스터 지연 시간의 경우 일반적으로 말하는 방송 딜레이를 뜻합니다.

딜레이가 늘어나는 이유는 방송 버퍼가 부족하여 멈추게 되면 극적으로 늘어나게 됩니다.

또는 송출프로그램 설정미스로 인하여 기본 딜레이가 15초 이상으로 잡히기도 합니다.

(보통 트위치방송의 경우 일반적으로 7초 내외로 딜레이가 됩니다)









2. 트위치 방송 송출/시청 시스템이 어떻게 되는거야?


간단하게 보자면

스트리머 송출 -> 트위치 서버-> 시청서버로 분배 -> 시청자 다운로드

아주 간단하죠? 자 이 간단한 부분을 조금 더 깊게 들어가서 보도록 하겠습니다.


어짜피 글로 주절주절 써봐야 안볼꺼자나요? 그래서 그림을 그려보겠습니다.

저퀄이니 따지지 말아주세요.


b25b9efa4c4aac9a5403b1cf79460d38.png


이게 기본 트위치 구조라고 봅시다.





대기업이 방송을 했을때의 루트를 루트를 그려보겠습니다.

113cc2b4f4a14c701eb1add47722c1c5.png

적당히 설명하자면

트위치 서버로 송출을 하고,

트위치에서는 서울서버등으로 할당을 해주는 확률이 높습니다.

(물론 서버의 상황 및 여러가지 여건에 의해서 다른서버에 할당되는 드문 경우도 있습니다.)

시청이 서울 서버로 잡히게 되면 시청자의 입장에서는 '국내 인터넷 속도'의 영향을 받기에

대부분의 인터넷 회사의 경우에도 원활한 시청이 가능해집니다.






이제 시청자 수가 적은 하꼬방의 경우를 보겠습니다.

d47bd33eb7caafbc05a08af91e0cffe1.jpg

(파랑과 초록은 서로 다른 두명의 하꼬방이라고 보시면 됩니다.)


이런식으로 외국에 위치한 시청서버를 할당받아.

시청자분들이 방송을 보기위한 영상을 외국서버에서 다운을 받게 됩니다.

이 경우 시청자는 본인의 통신사의 '외국 회선' 속도에 영향을 받습니다.

그렇기에 '외국 회선'의 속도가 좋은 KT의 경우 원활하게 시청이 가능합니다.(SK의 경우는 KT의 회선을 사용합니다)

그 외 LG이나 지역캐이블 방송 인터넷 같은 경우, 외국회선이 KT와 비교하는 경우 극명하게 떨어지는 속도를 가지고 있기에

방송영상의 '용량'을 필요한 만큼 제시간에 받지를 못해, 

버퍼에 수용된 영상을 소모하게 되면, 다시 버퍼를 채우기 위한 '버퍼링'의 과정을 거치게 됩니다.



*방송시청이 잘되는 일부 시청자만을 대상으로 하는것이 아니라면, 

 시청이 잘 되지 않는 시청자의 상황역시 고려해야합니다.






물론 이는 국내 인터넷의 이윤관련의 문제로 인해 발생되는 일이기도 합니다.

돈이 되지 않는 하꼬방에게 사용을 하면 할수록 돈을 지불해야 하는 국내회선을 이용하기 보다는 따로 추가비용이 들어가지 않는 미국 서버로 돌리는것은 어쩌면 기업의 입장에서는 당연할 수 있습니다. 

( - 이부분의 내용은 https://tgd.kr/4589012 이쪽을 참고해주세요 - )






3. 내 컴퓨터는 쥰내 짱좋은데 왜 자꾸 버퍼링이 걸리는거지?


- 니 컴퓨터가 슈퍼컴퓨터라도......  버퍼링은 걸린단다.



이 한마디로 설명이 가능합니다.


위에 1번을 읽어보시면 아시겠지만, 

버퍼링이란것은 시청자 측에서 영상을 다운바는 속도가 방송의 속도를 따라가지 못해서 생기는 일종의 조율장치 입니다.

어디까지나 '시청' 측의 문제라는 겁니다.


스트리머의 컴퓨터가

i9-7900x, 타이탄글카, 32램....의 컴이던,

i3-6100, 750ti, 4램......의 컴퓨터던...


기본적인 송출 자체는 '서울서버'를 통해 송출이 되기 때문에, 

송출 자체는 국내 인터넷 속도를 기준으로 보내집니다.

물론 위의 후자의 경우... 컴이 버거운 게임을 방송한다거나 하면 당연히 무리가 가겠죠,

하지만 IRL 이라거나 무리가 가지 않는 방송을 한다고 가정할때,


위 두개의 송출은 아무런 문제가 되지 않습니다. 

실제로 아래컴의 스팩은 제가 처음 방송할때 사용하던 사양입니다. 

방송에 별 지장이 없었습니다. (물론 그래픽부분이라던가 여러부분에서 타협을 봤었습니다만...)


뭔가 말이 샜는데......

제가 하고싶은말은.....


"내컴은 스팩이 기상청에서 날씨예측할 정도로 짱짱맨인 슈퍼컴이니까, 

  해상도 쥰내 올리고, 비트레이트 개빵빵하게 넣어서  쥰내 화질 개쩌는 방송을 해서 시청자에게 어필할꺼야!! 에헤헿"


...........이건 개소리라는 거죠....

컴이 좋으면 물론 좋습니다.... 좋아요!! 

당연히 나쁜거보다 좋은게 좋겠죠.... 근데.... 트위치 특성상 버퍼링은 '니 컴' 하고는 별 상관이 없다는거죠.






4. 트랜스코드가 뭔데 그렇게 난리들인데?


- 트랜스코드란?  (시청 해상도를 '자동'으로 놓았을때 작동합니다.)

 시청서버에서 다운로드를 할때, 원활하게 시청할 수 있는 속도가 나오지 않을경우, 

 다운 인코딩을 통하여, 영상의 용량을 줄여, 버퍼링이 생기지 않게 도와주는 기능. 

.......입니다.


- 트랜스코드는 어떻게 받나요?

   파트너 스트리머는 항상 적용이 됩니다.

   제휴 스트리머는 서버여건상 우선적으로 부여가 됩니다.

   일반 스트리머는...음...음.....시청자 쥰내 많거나, 서버가 널럴해서 남아 돌때 줍니다.




가끔 방송을 보시다면, 

화면해상도가 160으로 떨어지면서 화면에 나오는게 사람새끼인지 식별이 불가능할 정도가 되는 경우를 겪으셨을 겁니다.

그게 바로 트랜스코드 입니다.


영상의 용량에 영향을 끼치는 요소는 간단하게 봤을때 3가지가 있습니다.

해상도, 프레임, 비트레이트.

정말 대충하는 소리지만 이 세가지를 이용하여 영상의 용량을 계산한다고 생각해 봅시다.


해상도 x 프레임 x 비트레이트 = 방송용량      이라고 가정을 해봅시다.


보통 스트리머분들이 선호하는 고화질 방송은 1080 / 60 / 6000 이정도가 될겁니다.


1080 x 60 x 6000 = 388,800,000          ( <- 이것은 영상의 용량 이라기 보다는 그냥 '영상의부피' 정도로 받아들입시다. )

어마무시하군요.. 뭐 어짜피 숫자니까 상관이 없겠죠.

초당  388,800,000의 부피를 받아 들여야 방송을 원활하게 볼 수 있게 되는겁니다.


하지만 서버가 미국으로 잡히는 시청자의 경우, 특정경우를 제외하고는 외국회선 다운로드속도는 굉장히 낮아집니다.

국내 속도의 1/10 도 안되는 경우도 있습니다.

현재 시청서버의 상태가 좋지 않아, 시청다운로드 속도를 계산해보니 대충 60만이 나온다고 가정해 봅시다.

그럴경우 트랜스코드는 해당 영상의 해상도를 160까지 낮춰 줍니다.

그럴 경우

160 x 60 x 6000 = 57,600,000 .......의 부피가 되게 됩니다.

이렇게 되면 시청다운로드의 경우

약 2,400,000의 버퍼를 저장하면서 방송을 원활하게 시청을 할 수 있게 됩니다.



이해를 하셨을지는 모르겠지만....

이런 기능이 트랜스코드 입니다.



음...그냥 간단하게. 놔두면 무한버퍼링 걸릴방송을 해상도 낮춰서 구린화질로라도 보게하는 기능인겁니다.


물론 다운로드 속도는 실시간으로 변하기 때문에, 트랜스코드 역시 실시간으로 다운인코딩의 수치를 잡아줍니다.

160으로 보다가 서버상태가 좋아지면 1080으로 다시 복귀되기도하고요.

중요한것은 내가 끊기지 않고 볼 수 있는 해상도로 맞춰준다는거죠.








5. 그럼 스트리머가 할 수 있는게 없다는건가???


있습니다. 있죠.

바로 위에 내용을 보셨으면 아시겠지만....


해상도, 프레임, 비트레이트.


송출하는 영상은 스트리머가 결정하는것이니까요.


저 셋중에서 가장 영상의 용량에 영향을 끼치는것은 '비트레이트' 입니다.

이는 화질에 가장 큰 영향을 주는 수치라는것입니다.

화질높다는것은 용량이 크다는것이죠.


줄이세요..


720 / 30 / 3000


우선은 이렇게 해보세요.

당신이 화질이 좋은 방송을 하고 싶어하는거 당연히 압니다.

근데 안되잖아요? 

안되는거 붙잡고 해봐야. 버퍼링만 생기고.... 또 하소연만 할꺼잖아요?


낮추세요. 그래도 생겨요? 더 낮추세요.

저는 방송할때 420 / 30 / 1000 까지도 놓고 게임방송 해봤었습니다.


그거 아십니까?

예전에 우리가 좋다고 보던 아프리카 방송들.......비트레이트 1000 짜리 방송이었습니다.

그래도 우리는 재밌다고 봤잖아요?


잘 생각해 봐야합니다.

방송을 하는 이유는 각자가 다 다르겠지만, 

목적은 소통이 잖아요?


화질이 낮은건 어쩔 수 없지만...

중요한건 소통이잖습니까.....




아니 막말로.....1초쩌는화질의 무한버퍼링 방송  vs 똥화질 소통방송.......


당신이 시청자라면 어떤것을 보겠습니까?

생각해 볼 필요도 없는것 아닐까요....

방송이라는것은, '볼' 수 있을때 의미가 있습니다. 화질이 좋은건 부차적인 문제밖에 안되는겁니다.


뭐가 중요한지는 말 안해도 아실 겁니다.










아..쓰다보니 벌써 새벽 1시군요.


염뵹...7시까지 출근해야하는데...

쓰면서 자꾸 딴짓하고 딴짓하고 하다보니...말이 요상한대로 가기도하고....

앞뒤가 안맞는 내용이 있을 수 도 있겠네요...


그정도는 너그러이 봐주시면 감사하겠습니다.....



마지막으로 한마디만 하겠습니다...

b791c5673f85b315e607775c1826b699.png

제 취미 아닌 취미가 하꼬방들 돌아다니면서 설정보고 도움이 될 부분이 있으면 도움을 드리는건데...

가끔 보면 진짜 미친듯이 답답한 분들이 많아요.... 왜 비트레이트에 목숨을 거는지 알 수가 없습니다..ㅠㅠ



전 트위치가 참 아쉬운게....


처음 시작하는 분들에게 최소한의 기본 여건을 마련해 주지 않는다는겁니다.


제가 생각하는 최소한의 기본여건이라는건

시청자가 방송을 '볼' 수 있고, 소통이 가능한 상태...라고 생각하거든요.





아...또 길어지네요....


여기서 이만 줄이겠습니다.







지금까지 '취직하고 일과 병행이 힘들어 계속 추락하는 니들이' 였습니다.








* 충고와 지적은 감사합니다.

  다만 공격적이지 않은 방향으로 해주시면 정말정말 감사하겠습니다.

  전 심장이 약해서... 멈춰버릴지도 모릅니다. 껄껄 


  이쁘게 봐주십쇼!! 탕탕


f2d6dc38a697f450c48621c4c24a9ee9.png

댓글 25개  
이전 댓글 더 보기
새 댓글
광고
방송하기프로그램채팅/봇업데이트
6
방송하기
라이젠 1800x 1년간 후기 [10]
공간2
06-19
0
방송하기
듀얼모니터 관련질문입니다. [3]
유워프
06-15
5
방송하기
QHD게임 144hz / FHD 송출 60hz 팁 [19]
hangons1234
06-13
2
방송하기
컴퓨터 사양 질문드립니다.! [2]
하지지
06-11
»
방송하기
버퍼링이 심해요!!!......왜? [25]
니들이
06-01
2
프로그램
클립보드 동기화 프로그램 Ditto. [3]
베리머취래빗
05-28
인기글 글 쓰기
스팀 여름세일 추천게임