포스트

webrtc video chat 유니티 에셋 서버 설정하기

유니티 에셋스토어에서 얼마 전 플래시딜 세일을 해서 구매했습니다. 음성, 비디오 채팅을 오픈소스 webrtc 기술로 유니티에서 사용할 수 있도록 구현해놓은 에셋입니다.

webgl로 테스팅해볼 수 있습니다. https://www.because-why-not.com/files/webrtcsamples/0.9863/awrtc_unity_webgl/

Unity WebGL Player | awrtc_dist_0.9863 awrtc_dist_0.9863 awrtc_dist_0.9863

다음은 서버 관련 문서입니다. https://because-why-not.com/webrtc/tutorials-server-side/

Server side info & Tutorials | Because why not? Contents 1 Introduction 1.1 Signaling server 1.2 Ice Server – STUN: 1.3 Ice Server – TURN: 1.4 Which one do I need? 2 Signaling Server – the details 2.1 Files 2.2 Settings (config.json) 2.3 How it is used 3 Scenarios & Tutorials 3.1 Signaling Server – docker setup 3.2 Signaling Server – local setup … Contents 1 Introduction 1.1 Signaling server 1.2 Ice Server – STUN: 1.3 Ice Server – TURN: 1.4 Which one do I need? 2 Signaling Server – the details 2.1 Files 2.2 Settings (config.json) 2.3 How it is used 3 Scenarios & Tutorials 3.1 Signaling Server – docker setup 3.2 Signaling Server – local setup …

서버 설정은 리눅스에서 도커를 설치하고 도커 이미지를 받아서 설치하면 쉽습니다.

그리고 도메인이 필요합니다.

저는 이전에 호스팅케이알에서 사두었던 도메인(1년에 약 2만원)이 있기 때문에 그걸 사용했습니다.

그리고 vultr에서 인스턴스를 만들면 한 달에 6달러 정도 듭니다.

호스팅케이알에서 아래와 같이 네임서버를 vultr로 변경해줍니다. 반영에는 약 하루의 시간이 걸립니다.

그 다음에는 vultr에서 DNS 등록 옵션에 들어가서 아까 만들었던 인스턴스의 ip와 도메인을 연결해주면 됩니다.

여기서 도커로 서버를 쉽게 세팅하기 위한 지침이 있습니다. https://github.com/because-why-not/awrtc_signaling_docker

GitHub - because-why-not/awrtc_signaling_docker Contribute to because-why-not/awrtc_signaling_docker development by creating an account on GitHub. Contribute to because-why-not/awrtc_signaling_docker development by creating an account on GitHub.

도커 설치는 이전 도커 설치 관련하여 다루었던 포스팅을 따라가면서 쉽게 세팅할 수 있습니다.

https://blog.naver.com/devramyun/223154381600

[20230712] 클라우드서버, AWS EC2 우분투22.04에 도커 설치하기. 요새 비가 참 많이 옵니다. 다들 빗길 조심하세요~ 이번에는 AWS EC2와 같은 클라우드 서버의 우분투 … 요새 비가 참 많이 옵니다. 다들 빗길 조심하세요~ 이번에는 AWS EC2와 같은 클라우드 서버의 우분투 …

도커를 설치했다면 이제 webrtc 도커 컨테이너 이미지를 받아서 다음과 같이 설치해주고 세팅해주면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#Download the source code
git clone --recursive https://github.com/because-why-not/awrtc_signaling_docker
# enter project dir. All other commands below must be executed from this folder
cd awrtc_signaling_docker
#build docker container for awrtc_signaling
./build.sh

#run the init script to get your first SSL certificate
domain=내도메인주소 email=내이메일@gmail.com ./init.sh\




Init complete. Use ./start.sh to run.

./start.sh

./stop.sh

crontab -e

41 7 * * * cd /root/awrtc_signaling_docker && ./renew.sh 2>&1 | logger


docker compose logs -f --tail 100

성공~!

sticker

안드로이드 앱 빌드의 경우 아래와 같이 custom manifest에 user permission을 추가해줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

    
        
            
                
                
            
            
        
    
	
여기 아래로 추가
	
	
	

	
	
	
	

	
	


[영상]

하나는 pc로 빌드하고, 하나는 모바일 앱으로 빌드해서 테스트해봤습니다. 직접 코딩한 건 없는데 이렇게 자체 서버로 연결해서 비디오챗을 제공할 수 있는 점이 신기합니다. ㅎㅎ

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.