2017-09-27 1 views
0

나는 취미 프로젝트를 위해 그룹 음성 채팅 기능을 구현하려고합니다. 아주 똑 바른 앞으로 : 저는 여러 클라이언트 (모바일)가 연결할 수있는 서버를 실행하고 있습니다. 일부 클라이언트는 같은 "그룹"에 속해 있으며 음성 채팅 기능을 사용하기를 원합니다.모바일 그룹 음성 채팅 서버

클라이언트가 연결할 수있는 C#으로 UDP 서버 클라이언트를 이미 설정했습니다. 필자는 서버를 통해 클라이언트간에 오디오 배포를 성공적으로 구현했으며 초보적인 기능이 잘 작동합니다.

나는이 접근 방식으로 올바른 방향으로 가고 있는지 잘 모르겠습니다. 예를 들어 서로 다른 목소리를 혼합하여 구현했습니다 (두 명이 동시에 말하고 다른 두 사람은 모두 듣고 있습니다). 나는 두 목소리를 함께 섞어서 다른 고객에게 다른 출력물을 어떻게 생성 할 수 있는지 잘 모릅니다. 위에서 언급 한 예 : 말하는 두 사람은 상대방의 의견을 받아야합니다. 말하지 않는 사람은 상대방의 의견을 받아야합니다. 두 가지 이야기.

이 용도로 가장 적합한 서버 구조는 무엇입니까? 내가 완전히 다른 방향으로 가서 SIP로 작업해야할까요? 온라인으로이 문제에 대한 적절한 리소스를 찾는 데 어려움을 겪고 있습니다. 정말 붙어 있습니다.

도움 주셔서 감사합니다.

답변

1

신청서에 표준을 사용하도록 제안 해주십시오. 귀하의 응용 프로그램이 웹 응용 프로그램 인 경우 (강력하게 권장 함) WebRTC는 귀하의 업무를 획기적으로 쉽게 만듭니다. multiple peer connections

그룹 통화에만 관심이있는 경우 강력한 회의 기능 세트가있는 별표로 PBX 서버를 설치할 수 있습니다. WebRTC samples에서 아이디어를 얻을 수 있습니다. 클라이언트의 WebRTC (예 : sip.js, sipml5) 상단의 SIP 라이브러리를 사용하여 SIP를 통해 별표 (*)로 연결하고 회의 서비스를 얻을 수 있습니다. 이것은 발발 할 수는 있지만 회의실 호출 코드는 매우 적은 수의 줄로 줄 수 있고 별표는 실제 시스템이나 가상 컴퓨터 또는 도커 컨테이너에있는 Linux 상자에 쉽게 설치할 수 있습니다.

팻 클라이언트를 선호한다면, SIP 라이브러리를 PJSIP (별표로 새 SIP 스택의 기본 구성 요소)으로 사용하는 것이 좋습니다. 독점적 인 솔루션은 미래에 대비하여 표준 제품을 밀어 붙이는 반면 미래에 대비합니다.

+0

도움 주셔서 감사합니다. 나는 나의 질문을 오랜 시간 전에 물었다는 것을 안다. 그러나 나는 정말로 오늘까지 어쨌든이 프로젝트에서 일할 시간이 없다. 나는 당신이 제안한 것을 시도 할 것이지만이 전체 주제는 처음에는 압도적 인 것처럼 보인다. 불화 또는 팀 스피크라고 생각해보십시오 ... 나는 그 기능을 원합니다. 이것이 이것이 지금 올바른 접근법이되기를 바랍니다. 다시 한 번 감사드립니다. – marco56