👊 목표: Hello world 예제 성공하기
remote stream 화면에 local stream 화면에서 촬영되고 있는 영상이 나오면 됩니다.
과정
1. [AWS CloudFormation](https://us-east-2.console.aws.amazon.com/cloudformation/home?region=us-east-2) > 스택 생성 > 새 리소스 사용(표준) 클릭합니다.
1) Amazon S3 URL에 https://s3-eu-west-1.amazonaws.com/aws.kurento.org/KMS-Coturn-cfn-6.16.0.yaml를 입력하고 '다음'을 누릅니다.
2) 스택 세부 정보 지정에서 아래 정보를 입력합니다.
- 스택 이름
- InstanceType : t2.micro (무료)
- KeyName : 없으면 [키 페어 생성](https://us-east-2.console.aws.amazon.com/ec2/v2/home?region=us-east-2#KeyPairs:) 여기서 생성합니다.
- .pem 으로 만들기
3) 모두 '다음' 눌러서 완료합니다.
4) 스택의 리소스의 상태가 모두 'CREATE_COMPLETE'가 될 때까지 기다립니다.
2. [AWS 인스턴스](https://us-east-2.console.aws.amazon.com/ec2/v2/home?region=us-east-2#Instances:instanceState=running)에서 생성된 인스턴스를 클릭한 후 '퍼블릭 IPv4 주소' 를 이용해 ubuntu에 접속합니다.
3. 도커 설치하기
> sudo apt-get update > sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release > curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg > echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null > sudo apt-get update > sudo apt-get install docker-ce docker-ce-cli containerd.io > sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose > sudo chmod +x /usr/local/bin/docker-compose
4. Kurento 미디어 서버 실행하기
# docker permission denied 해결방법 > sudo chmod 666 /var/run/docker.sock > docker pull kurento/kurento-media-server:latest > docker run -d --name kms --network host kurento/kurento-media-server:latest
5. STUN/TURN 서버 설치하기
> sudo apt-get update && sudo apt-get install --no-install-recommends --yes \ coturn > sudo vi /etc/default/coturn
/etc/default/coturn 파일을 아래와 같이 수정합니다.
> sudo vi /etc/turnserver.conf
/etc/turnserver.conf 파일을 아래와 같이 수정합니다.
- 빨간줄 : ec2의 private ipv4 주소
- 파란줄 : ec2의 public ipv4 주소
# coturn 재가동 > sudo service coturn restart
6. Kurento의 Stun/Turn 서버 설정하기
# 실행중인 컨테이너 ID 확인 > docker ps -a # 컨테이너의 터미널 접속 > docker exec -it {container id} # 컨테이너 터미널 접속된 상태 root@docker-desktop:/# #Kurento WebRtcEndpoint 수정 root@docker-desktop:/# apt-get update root@docker-desktop:/# apt-get install vim root@docker-desktop:/# vi /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
- 파란줄 : ec2의 public ipv4 주소
7. 로컬 cmd 창을 연 후 mvn -version 을 확인합니다.
1) [Hello World](https://doc-kurento.readthedocs.io/en/latest/tutorials/java/tutorial-helloworld.html) 링크를 참고해서 실행합니다.
> git clone https://github.com/Kurento/kurento-tutorial-java.git > cd kurento-tutorial-java/kurento-hello-world > git checkout master > mvn -U clean spring-boot:run \ -Dspring-boot.run.jvmArguments="-Dkms.url=ws://{KMS_HOST = 퍼블릭 IPv4 주소 }:8888/kurento"
2) WebRTC 호환 브라우저인 Chrome 또는 Firefox로 데모 페이지를 열 수 있습니다. : https://localhost:8443/
- '시작' 클릭 -> 데모를 시작
- 웹캠에 대한 액세스 권한을 부여합니다.
- 로컬, 리모트 video 창에 영상이 뜨는지 확인합니다.
- '중지' 클릭 -> 데모 끝
'Coding > project' 카테고리의 다른 글
WebRTC (8) | 온라인 발표 서비스 "북쪽행성" 개발기 (0) | 2021.08.18 |
---|---|
WebRTC (6) | OpenVidu 튜토리얼 시작하기 (0) | 2021.08.03 |
WebRTC (4) | Windows10 에서 Kurento의 GroupCall 예제 실행하기 (2) | 2021.07.23 |
WebRTC (1) | WebRTC 알아보기 (0) | 2021.07.23 |