본문 바로가기
프로그래밍/Portfolio Log

[Portfolio Log] WebRTC 기반 포폴 기록 10 (메타프루츠)

by YuminK 2023. 10. 16.

자잘한 이슈가 왜이리 많이 나오는지. 기어코 주말을 반납하고 말았다.

주말에는 좀 쉬어야 하는데 또 개발만 해버렸구나. 이제 정말 이 프로젝트를 마무리 지으면 좋겠다. 

 

이번에 추가한 작업은 마이크/카메라 상태에 따른 UI 갱신과 트랙 변경 오류이다. 

replaceTrack을 처리하는 부분에서 약간의 딜레이를 주지 않으면 정상적으로 동작하지 않는 이슈가 있었다.

 

또한 자신의 트랙을 바꾸는 상황에서 음성 인식 리스너를 날리고 다시 처리해줬다.

스트림을 받는 쪽에서는 바꾼 트랙을 기준으로 음성 인식 처리를 잘하더라.

 

배경음악을 추가하고, 포탈, 버튼 클릭시 효과음이 나오도록 추가했다.

 

아마존 프리티어를 활용하여 1GB짜리 램을 가진 EC2에 배포를 해봤다. 생각보다 잘 돌아가더라. 


Putty 사용법 및 EC2 원격환경 연결
https://bbeomgeun.tistory.com/73
https://velog.io/@rheey90/AWS-EC2-Node.js-%EC%84%9C%EB%B2%84-%EB%B0%B0%ED%8F%AC

우분투 기초 명령어
https://coding-factory.tistory.com/500

노드 버전 올리는 방법
https://oysu.tistory.com/101

pm2 사용법
https://artiiicy.tistory.com/12

 

리눅스 파일 편집(cat, vi)
https://javaoop.tistory.com/43

 

https 환경이 아니라 getUserMedia 함수가 정상적으로 동작하지 않았다.

Let's encrypt에서 인증서를 만들어서 처리했다. 

 

이 부분에서 한참 동안 안 되서 헤멨는데, redirect port를 없애고 시도하니까 되더라. (개허탈)

 

DNS도 등록했다. metafruits.kro.kr

 

중간에 putty로 연결이 안 되기 시작했는데, 인스턴스 종료하고 다시 키면서

ip가 바뀌더라... 이걸 몰라서 한참 헤멨다. shh 연결 이슈(ip 달라져서 그런 거였음)

https://blog.naver.com/PostView.naver?blogId=zozokjs&logNo=222863021597&categoryNo=85&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=search

 

루트권한 얻기
sudo su -

cd /home
cd /ubuntu

 

배포한 이후에 상대 영상이 나오지 않는 이슈가 있어서 관련 내용을 찾아봤다.

https://mediasoup.discourse.group/t/how-to-configure-mediasoup-server-api-in-ec2-aws/2948/7
https://mediasoup.discourse.group/t/mediasoup-only-working-on-local-network/1453/15

 

 ec2에 올려서 테스트하는 경우라면 ip에는 private ip주소를, announcedIp는 public ip 주소를 넣는다. 
 https://mediasoup.org/faq/#running-mediasoup-in-hosts-with-private-ip

 

WebRTC에서 사용하는 포트들에 대한 인바운드 규칙(TCP/UDP 모두), 방화벽을 off 해주라고 하더라.

근데 나는 그걸 해도 안 되었다. 보니까 announcedIp를 로컬호스트로 잡고 있더라. 

 

이걸 수정하니까 말끔하게 동작이 되었다. 

댓글