개발자

강의 재생시간 실시간 업데이트 방식이 궁금합니다.

2024년 03월 14일조회 177

저는 현재 강의 서비스 프로젝트를 만들어보는 중입니다. 강의 영상은 youtube에서 제공하는 iframe api로 가져와 임베딩하고 있고 영상을 재생 중일 때만 setInterval을 통해 1분마다 재생 시간이 올라가도록 구현하였습니다. 재생 시간을 추적하는 이유는 영상을 다 시청했는지를 확인하기 위함입니다.(예. 20분 영상을 최소15분 이상 재생했는지 확인) 요구사항은 사용자가 해당 페이지에 나갔다 들어오더라도(혹은 외부 디바이스를 통해 들어오더라도) 이전까지 시청했던 재생 시간을 복구하여 해당 값부터 재생 시간을 계산하도록 하는 것입니다. 우선 제가 사용한 방식은 setInterval 을 통해 1분마다 state가 초기화를 시키되 곧바로 서버에 POST 요청으로 해당 사용자의 재생시간을 업데이트 시키는 방식입니다. 여기서 궁금한 점은 이러한 방식으로 진행하는 것이 맞는지, 아니라면 맞는 방식은 어떤 것인지입니다. 1분마다 서버로 요청이 가는 것이 아무래도 서버에도 DB에도 부하가 많이 가지 않나 싶어서 질문드립니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

Munsi님의 프로필 사진

저는 웹 개발자는 아니지만 심심해서 한 강의 사이트를 엣지 브라우저 개발자 도구로 살펴봤습니다. 이 사이트는 재생 진행 상황을 아래 두 시점에 보냅니다. (post) 1. 75초 주기 2. 재생 페이지를 벗어날 때 1분 단위로 post 하는 것이 부하가 심하지 않을까 궁금해 하셨는데 제 생각엔 괜찮을 것으로 보입니다.

강창룡님의 프로필 사진

강창룡

작성자

광운대학교 전자통신공학과2024년 03월 15일

감사합니다!! 저도 좀 찾아보면서 개발자 도구로 살펴봐야겠네요...!

kevin님의 프로필 사진

포커스 아웃이나 윈도우 비활성이벤트를 적절하게 활용해서 서버에 저장을 하는게 바람직하다고 봅니다 실시간으로 저장은 일단 로컬스토리지등을 활용하시는것이 좋을것 같아요

강창룡님의 프로필 사진

강창룡

작성자

광운대학교 전자통신공학과2024년 03월 15일

아 정말 그렇게 해도 되겠네요! 조금 감이 잡힌 것 같아요 감사합니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!