본문 바로가기
etc/쉬운 수학이야기

OBS 싱크 맞추기, frame -> ms 변환 (30fps, 60fps)

by bigpicture 2021. 1. 24.
반응형

 

 

OBS로 유튜브 스트리밍을 할 때 싱크 문제가 발생할 수 있습니다. 먼저 유튜브 스트리밍을 하는 간단한 상황을 설정해봅시다. 

 

노트북에 OBS 를 설치하고 유튜브 스트리밍을 할 것입니다. 영상은 스마트폰을 캠으로 이용할 수 있는 프로그램으로 스마트폰에서 영상신호를 받고, 노트북에 마이크를 하나 연결하여 음성신호를 받을 것입니다. 

 

 

영상과 음성의 싱크가 안맞는 문제를 해결하기 위해 OBS에서 녹화를 하나 하겠습니다. 박수를 치는 영상을 녹화합니다. 영상에는 손이 나와야합니다. 

 

 

녹화된 영상을 영상편집 프로그램으로 불러옵니다. 음성에서 박수소리가 시작되는 부분과 영상에서 손이 붙는 부분이 몇 frame 차이나는지 확인합니다. 아래 경우는 7 frame이 차이납니다. 

 

 

영상이 음성보다 7frame 만큼 느린 것입니다. 싱크를 맞춰줘야 하는데요. 영상을 7frame 더 빨리 받는 것은 불가능합니다. 최선이기 때문입니다. 음성을 늦추는 것은 가능합니다. 음성을 7frame 늦춰서 싱크를 맞추겠습니다. 싱크 설정에는 시간을 입력해주어야 하기 때문에 frame 을 '초'로 변환해야합니다. 7frame은 몇초일까요. fps를 얼마로 설정했느냐에 따라 다릅니다. fps 는 frame per second 입니다. 1초에 몇 프레임이 들어가 있느냐는 수치입니다. 

 

1) 30fps 인 경우

 

30frame이 1초 일 때, 7frame 은 몇초인가 계산해야 합니다. 아래 비례식을 사용합니다. 

 

30:1=7:x

 

x=7/30=0.233

 

 

2) 60fps 인 경우

 

60frame이 1초 일 때, 7frame 은 몇초인가 계산해야 합니다. 아래 비례식을 사용합니다.

 

600:1=7:x

 

x=7/60=0.116

 

이제 입력해봅시다. OBS에서는 싱크를 맞출 때 ms 단위로 입력해야합니다. 

 

 

ms 는 밀리초 입니다. 1초가 1000ms 이므로 1000을 곱해주면 됩니다. 

 

30fps 인 경우 : 233ms

 

60fps 인 경우 : 116ms

 

굳이 공식으로 만들면 아래와 같습니다. 

 

<음성이 더 빠른 경우>

영상과 음성의 frame차이 :  d frame

30fps 인 경우 : (d/30)*1000 ms

60fps 인 경우 : (d/60)*1000 ms
반응형

댓글