호기심에 Twitch로 120fps 송출 테스트를 해 보았습니다(글을 쓰는 시점에서 유튜브는 무조건 60fps로 바꿔버립니다).
일단 게임 화면을 송출하면 프레임 변화가 많아서 120프레임을 일정하게 유지하면서 송출할 수 있게 720 해상도에 120fps 비디오 파일을 하나 만들었습니다.
차후에 재생하면서 프레임 확인을 위해 타임 코드를 초당 120까지 “absolute frame”으로 표시하도록 해서 렌더링 한 파일입니다(파일 링크).
이 비디오 파일을 소스로 추가해서 OBS에서 120fps로 트위치에 송출하고
브라우저로 방송되고 있는 화면을 확인 해 보니 설정 – 화질(원본)에는 60fps 라고 표시되지만
고급 – 동영상 통계에는 120fps 라고 표시되고 있습니다(물론 트위치에서 트랜스코딩된 해상도는 60fps 으로 고정됩니다).
송출을 중단하고 OBS 통계를 봐도 드롭 프레임은 없었습니다.
트위치 인스펙터에 들어가서 확인 해 봐도 120 프레임으로 표시되네요.
여기까지 봐서는 twitch ingest 서버가 120fps 이상도 받아들이는 것이 확인됩니다. 실제 브라우저에서 재생되고 있는 화면도 120 프레임이 모두 나오는지 확인하기 위해서 송출하면서 다른 PC에서 크롬으로 생방송을 재생하면서 화면을 OBS로 녹화했습니다.
녹화된 파일을 프리미어에서 120 프레임 타임라인에 불러와서 타임 코드를 일일히 확인 해 보았습니다. 초(120프레임)당 10~20프레임 정도 스킵이 있긴 한데 평균 100프레임은 넘게 재생되었네요.
드롭되는 프레임이 시청자쪽 브라우저(재생하는 쪽)에서 일어나는 것인지 아니면 트위치 서버에서 그렇게 되었는지 까지는 확인할 수 없습니다.
효용성
결론적으로 트위치로 120fps 이상 송출도 되고 재생도 할 수는 있습니다. 하지만 1280×720 해상도에서도 스킵되는 프레임이 많은것으로 봐서 1920×1080 해상도에서는 더 심할 것으로 추측됩니다(인코딩/디코딩/네트워크 부하 때문에).
트랜스코딩이 100% 보장되는 파트너(제휴도 잘 해주긴 하는데 가끔 안되는 경우가 있어서) 정도되면 높은 프레임으로 방송을 시도해 볼 만 하겠다는 생각도 들긴 합니다.
하지만 송출하는 측이나 재생하는 시청자 입장에서 봐도 효용성을 보면 아직까지는 트위치에서 권장하는데로 최대 60프레임 이하로 송출하는 것이 좋아보입니다.