프로젝트
-
OpenVidu 배포하기프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 10. 21:26
OpenVidu Edition OpenVidu를 간편하게 배포할 수 있는 3가지가 있습니다. 3가지 Edition이 존재하며 각 Edition마다 기능, 요금이 다릅니다. CE 버전은 무료 PRO, ENTERPRISE 버전은 유료입니다. 오른쪽으로 갈수록 가능은 더 많이 제공합니다. 무료 버전인 CE버전으로 배포할 계획입니다. 배포 법 배포하는 법은 크게 2가지로 나뉩니다. AWS Cloud Formation을 통한 배포, on premises 환경을 통한 배포 AWS Cloub Formation 배포 문서 바로가기 on premises 배포 문서 바로가기 on premises란? 자체적으로 보유한 전산실 서버에 직접 배포하는 형태 Linux 환경이나 AWS EC2 환경에 배포하면 됩니다. on prem..
-
OpenVidu 공식문서로 시작해보기프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 9. 15:43
OpenVidu의 공식문서를 기반으로 OpenVidu를 시작해 보려고 합니다. OpenVidu 공식문서 1단계 선택하기(OpenVidu vs Kurento) OpenVidu라는 쿠렌토를 높은 레벨로 추상화시켜 사용하기 쉽게 제공하는 프레임워크가 있습니다. 쿠렌토를 사용하면 더 많은 기능들을 활용할 수 있지만 복잡도가 증가하게 됩니다. 하지만 간단하게 적용하기 위해서는 OpenVidu 또한 좋은 선택이 될 수 있습니다. 쿠렌토의 공식문서에서도 Warning이라는 메시지로 OpenVidu가 더 추상화되고 사용하기 쉽다고 명시되어 있습니다. OpenVidu란? OpenVidu는 Kurento를 기반으로 하는 프레임워크입니다. OpenVidu를 사용하는 애플리케이션 개발자는 일반적인 WebRTC 통신의 일부를 ..
-
WebRTC 쿠렌토(Kurento)란?프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 4. 23:05
이전 시간에 N:M 환경을 제공하기 위해 Mesh(P2P), SFU, MCU 방식에 SFU방식을 선택하기로 결정했습니다. https://junuuu.tistory.com/379?category=1014988 WebRTC란? (+P2P, SFU, MCU 동작과정) 이전 시간에 라이브 스트리밍 프로토콜에 대하여 알아보고 RTMP와 HLS 그리고 WebRTC에 대해 간략하게 알아보고 비교 분석하여 화상회의 소프트웨어에 WebRTC를 사용하기로 결론지었습니다. 비교글 junuuu.tistory.com 미디어 서버를 통해 얻을 수 있는 이점 P2P를 사용하면 전송하고 받는 스트림의 수가 엄청나게 많아질 수 있습니다. 이때 미디어 서버를 통해 클라이언트가 송신해야 하는 스트림 수를 줄일 수 있습니다. (MCU를 사..
-
WebRTC란? (+P2P, SFU, MCU 동작과정)프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 2. 22:15
이전 시간에 라이브 스트리밍 프로토콜에 대하여 알아보고 RTMP와 HLS 그리고 WebRTC에 대해 간략하게 알아보고 비교 분석하여 화상회의 소프트웨어에 WebRTC를 사용하기로 결론지었습니다. 비교글을 보고 싶다면 다음을 참조하세요 https://junuuu.tistory.com/377?category=1014988 라이브 스트리밍 프로토콜 비교(RTMP vs HLS vs WebRTC) 스트리밍 프로토콜이란? 라이브 스트리밍 기술을 비약적인 발전을 이루어냈으며 덕분에 기술 지식이 거의 없어도 고품질 스트림을 제작할 수 있습니다. 실시간으로 인터넷을 통해 비디오 파일 junuuu.tistory.com 지금부터는 WebRTC에 대해 조금 더 깊게 알아보도록 하겠습니다. WebRTC란? Web Real-Ti..
-
라이브 스트리밍 프로토콜 비교(RTMP vs HLS vs WebRTC)프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 1. 18:41
스트리밍 프로토콜이란? 라이브 스트리밍 기술을 비약적인 발전을 이루어냈으며 덕분에 기술 지식이 거의 없어도 고품질 스트림을 제작할 수 있습니다. 실시간으로 인터넷을 통해 비디오 파일을 전달하기 위해 뒤에서 작동하는 가장 중요한 것은 스트리밍 프로토콜입니다. 비디오 파일은 부피가 크기 때문에 전송하기 위해서는 분할하는 과정이 필요합니다. 스트리밍 프로토콜은 비디오를 chunks로 분할하고 재조립하는 데 사용하는 표준화된 방법을 뜻합니다. 고유한 목적을 제공하기위해 다양한 조직에서 프로토콜들을 개발하였고 일반적으로 표준화된 오픈소스이므로 다양한 기술 및 스트리밍 설정과 원활하게 사용할 수 있습니다. 스트리밍을 구현하기 위해 유명한 세가지 프로토콜이 존재합니다. 바로 RTMP, HLS, WebRTC입니다. R..
-
Spring Data JPA에서 페이징 구현하기프로젝트/게시판 프로젝트 2022. 7. 1. 13:27
Spring Data JPA를 활용하여 간편하게 페이징을 구현하여 보겠습니다. 페이징이란 블로그 서비스나 게시글 서비스에서 흔히 볼 수 있습니다. 게시글이 1000개라면 모든 글들이 한 페이지에 보이는 것이 아니라 1번, 2번.... N번으로 별도의 페이지에 10개씩 들어가는 등 페이징을 통해 사용자에게 보이게 됩니다. 1. 우선 PagingAndSortingRepository를 사용해야 합니다. 하지만 기존에 JPARepository를 안으로 타고 들어가면 PagingAndSortingRepository를 구현하고 있습니다. public interface JpaRepository extends PagingAndSortingRepository, QueryByExampleExecutor { PagingAn..
-
@Transactional은 auto_increment를 초기화 하지 못한다프로젝트/게시판 프로젝트 2022. 6. 30. 02:21
프로젝트의 테스트를 작성하던 도중 Unique 한 PK값이 존재하지 않아 auto_increment 되는 값을 통해 조회해야 하는 일이 발생하였습니다. 저는 @BeforeEach 어노테이션이 매번 호출되도록 설정하여 repository를 새로 초기화했으며 @Transcational 어노테이션이 @DataJpaTest 안에 들어있어 1개의 데이터를 넣어주면 1L을 조회하면 될 것이라고 생각하였습니다. @BeforeEach void setUp() { boardService = new BoardServiceImpl(boardRepository); } 하지만 @Transactional 어노테이션은 테이블에 대한 롤백은 시켜주나, auto-increment에 대한 롤백은 되지 않았습니다. 즉, auto-incre..
-
인터셉터를 활용한 인증/인가 공통처리프로젝트/게시판 프로젝트 2022. 6. 29. 02:40
로그인을 할 때 사용자에게 "access-token"을 제공합니다. 게시글 작성을 위해서는 클라이언트의 HTTP 헤더의 "access-token"에서 token값을 가져와서 검증하고 토큰이 유효하다면 게시글을 작성하는 로직입니다. 코드로 보면 다음과 같습니다. @PostMapping public ResponseEntity posting(@Valid @RequestBody BoardRequestDTO boardRequestDTO, HttpServletRequest request) { String token = request.getHeader("access-token"); if (!jwtService.isUsable(token)) { return ResponseEntity.status(HttpStatus.U..