-
Openvidu를 이용한 화상채팅 서버프로젝트/AutoMeet 2024. 5. 12. 21:43
이번에 진행한 프로젝트에서는 ai 개발자가 개발한 ai 로직을 수행하기 위해 화상 회의을 구현해야 했다.
화상회의는 webRTC라는 기술이 화상채팅을 지원한다고 한다.
webRTC는 Real-Time-Communications의 약자로 웹에서 별도의 소프트웨어 없이 음성, 영상 등의 데이터를 브라우저끼리 주고 받는 기술이라고 한다.
webRTC의 Kurento 기반의 중개 서버를 애플리케이션에 쉽게 추가할 수 있는 플랫폼을 Openvidu라고 부르며, Openvidu를 사용하면 화상 채팅 서버를 쉽게 구현할 수 있다.
위의 사진에서 Application server를 내가 구현한다. Application client는 프론트엔드 개발자가 개발할 것이며, OpenVidu deployment는 OpenVidu에서 제공하는 Media 서버로 Application server, Application client와 소통하며 화상 채팅이 이루어지게 한다.
공식문서의 구현 코드 예시
Openvidu 공식문서에 있는 session을 처음으로 만드는 코드이다. 사실 openvidu에 대해서 나와있는 자료들이 많지 않고, 구글링을 해도 많이 찾아볼 수가 없어서 공식문서의 코드를 보고 많이 도움을 받았다.
(물론 이걸 그대로 사용하면 안되고 커스터마이징을 해서 프로젝트에서 잘 사용해야 한다.)
공식문서는 아래의 링크를 통해 들어갈 수 있으며, 아래의 링크는 java를 이용한 서버 구축 예시 링크이다.
openvidu-basic-java - OpenVidu Docs
앞으로의 계획
openvidu로 화상 채팅을 구현하고 있는데 처음 해보는 것이기도 하고, 참고할 만한 것들도 부족해서 좀 어렵긴 하지만.. 그래도 어느정도 진행은 되고 있다. 개발 이후에 배포하고 실제로 사용할 때 터지는 에러들을 고치는 것도 힘들어보이는데 완성되면 다시 포스팅을 하도록 하겠다.
'프로젝트 > AutoMeet' 카테고리의 다른 글
AutoMeet에 사용하기 위해 fine-tuning한 ai 모델들 (0) 2024.06.27 Mongo db의 embedded 관계로 설계 변경 (0) 2024.05.17 스키마의 유연성을 위한 mongo db 사용 (0) 2024.04.11 WebSocket, STOMP를 이용한 채팅 구현 (0) 2024.04.04