[sk 브로드밴드] 클라우드캠 API를 활용한 개발/아이디어 공모전 후기
일상/공모전

[sk 브로드밴드] 클라우드캠 API를 활용한 개발/아이디어 공모전 후기

반응형

 

SK브로드밴드 클라우드캠 영상 API 공모전 포스터

공모전 공고 사이트를 뒤적 거리다가 SK 브로드밴드의 클라우드캠을 활용한 공모전을 알게 되었다.

클라우드캠이라는 것이 조금 생소했지만 영상을 활용한다는 점이 재미있을 것 같았다.

개발부문과 아이디어 부문이 나뉘어 있었는데 중복제출이 가능하여 2가지 모두 제출하였다.


개발 SDK는 웹과 모바일로 제공됐다.

모바일 어플 보다는 반응형 웹을 개발하여 모든 플랫폼에서 사용할 수 있으면 더 좋지 않을까 생각해서 반응형 웹으로 개발하게 되었다.

 

웹 개발은 별도의 서버 구축과 스트리밍 변환이 필요했다.

클라우드캠의 CCTV 영상은 RTSP ( Real-time Streaming Protocol ) 서비스로 제공이 됐다. 문제점은 RTSP 기반의 스트리밍 서비스는 웹 브라우저상에서 직접 재생할 수 없었다. 따라서 이를 위한 별도의 서버를 구축, 이를 통해 HLS, FFMpeg 등 다양한 스트리밍 방식으로 전환하여 서비스 해야한다.

RTSP는 처음들어봐서 공부가 필요했다. 그러면서 아래 토끼를 수없이 봤다. 

빅벅.. 토끼니 곰이니..

역방향 Proxy 서버 구축

멀티미디어 데이터 스트리밍 전송의 경우, 일정 대역폭을 요구하고 지연에 민감하다. 따라서 네트워크의 예측할 수 없는 지연, 패킷 손실 등 다양한 문제점이 발견이 되고 안정적인 전송을 하기 위해 프록시 서버가 필요하다.

제공된 Proxy 서버 구축 가이드 문서를 보고 설치는 했는데 제공된 샘플이 제대로 동작을 안했다.

코드를 살펴봐도 잘 모르겠어서 해결하려고 3일 밤을 지새웠던 기억이 난다.

SK클라우드캠 Web SDK의 프록시 설치 가이드에 나와있는 프록시 구조


- 처음에는 video 태그에 blob url을 계속 뿌려주면 되는 줄 알았는데 아니었던 것 같다.

 

- 프록시 서버에서 웹소켓 데이터가 계속 날라오는 것까지 확인이 됐는데 영상이 안나온다.

해결

처음에 웹 소켓에 연결하고 이 후에 수신된 스트리밍 데이터를 받기까지 시간이 2초 정도 걸린다.

소켓 연결을 하고 즉시 영상을 띄우려 했기 때문에 영상이 나오지 않았던 것이었다.

그래서 시간차를 두고 데이터를 수신했고 위와 같이 영상이 잘 나오는 것을 확인했다.

여기까지 CCTV 영상을 실시간으로 띄우는 것 까지 끝냈고 테스트 계정으로 로그인 요청만 하면 끝이다.

크로스 도메인 (CROS domain) 문제 

개발 담당자에게 메일 보내봤지만 답장은 오지 않았다.

클라우드캠 API 연동은 결국 할 수 없었고 그냥 이대로 제출했다.


공모 결과

개발 부문은 떨어지고 아이디어 부문으로 예선 통과되었다.

개발이 떨어지고 아이디어라니 낙담.


최종 발표

sk 남산빌딩에서 오픈 콘테스트로 진행이 됐다.

최종 PT 결과는 우수상을 수상하며 마무리 지었다.


겪었던 어려움들

 

- 클라우드캠 API 서버의 불안정

Restlet ( postman 같은 API 테스트 플랫폼 )을 이용하여 클라우드캠 API 서버에 로그인 post 요청을 보냈다.

응답이 빠르면 1초, 느릴 땐 20초 정도 걸렸다. 로그인 실패라고 응답이 오는 경우도 있고, 전혀 응답이 오지 않는 경우도 있었다.

 

- 클라우드캠 웹 API CROS (크로스 도메인) 문제 (ㅜㅜ)


 

개발 퀄리티 ㅋㅋㅋ 그래도 재밌었던 경험이었다...

개찾캠 웹 
반응형