로그인
Sign in
조회 수 741 추천 수 0 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
적용OS No1.Linux 2018 ME/SE
카테고리 오디오
관련 패키지 speex_tcp, opus_tools

스카이프(Skype), 린폰(Linphone), 에키가(Ekiga), 디스코드(Discord), 큐톡스(Qtox) 등 리눅스에서 지원하는 다양한 VoIP(Voice Over IP) 프로그램들이 있긴 합니다만, 이들 프로그램을 이용하지 않고, 간단한 오픈소스를 이용하여 워키토키(Walkie-Talkie)를 만드는 방법을 알아봅니다.


1. 준비물

마이크

opus-tools(opusdec과 opusenc 포함/시냅틱으로 설치)

speex_tcp(TCPserver, TCPclient 포함/시냅틱 설치)


2. 마이크 테스트

마이크 장치를 테스트하는 방법에 대해서는 이전 게시물에 있으므로 이를 참조로 하여 마이크 장치를 확인합니다.


3. 설치

STEP1. speex_tcp를 설치한 다음에 클라이언트 컴퓨터(서버의 음성을 들을)에서 다음과 같이 실행합니다.

$ TCPserver 7080 | opusdec -

STEP2. 서버 컴퓨터(마이크를 사용할)에서도 speex_tcp 패키지를 설치한 다음에 다음과 같이 실행합니다.

$ arecord -D plughw:0,0 -r 44100 -c 2 -f S16_LE | opusenc --bitrate 64 --max-delay 0 --comp 0 --framesize 2.5 --hard-cbr - - | TCPclient 클라이언트아이피주소 7080

STEP3. 서버와 클라이언트가 연결이 이뤄지게 되고, 클라이언트 콘솔 화면에서는 다음과 같은 메시지가 나타나면서 서버로부터 전송되는 음성을 들을 수 있게 됩니다.

[client@localhost ~]$ TCPserver 7080 | opusdec -
Decoding to 48000 Hz (2 channels)
Encoded with libopus 1.1.5
ENCODER=opusenc from opus-tools 0.1.9
ENCODER_OPTIONS=--bitrate 64 --max-delay 0 --comp 0 --framesize 2.5 --hard-cbr
[|] 00:01:25

STEP4. 서버 콘솔화면에서는 다음과 같은 정보가 보여집니다.

[server@dumca ~]$ arecord -D plughw:0,0 -r 44100 -c 2 -f S16_LE | opusenc --bitrate 64 --max-delay 0 --comp 0 --framesize 2.5 --hard-cbr - - | TCPclient ftp.no1linux.org 7080
녹음 WAVE 'stdin' : Signed 16 bit Little Endian, 44100 Hz 샘플율 스테레오
Notice: Using resampling with complexity<10.
Opusenc is fastest with 48, 24, 16, 12, or 8kHz input.

Encoding using libopus 1.1.5 (low-delay)
-----------------------------------------------------
   Input: 44.1kHz 2 channels
  Output: 2 channels (2 coupled)
          2.5ms packets, 64kbit/sec CBR
 Preskip: 124


[|] 00:01:25.12 0.99x realtime,    64kbit/s


상기 과정은 A->B로만 단방향으로만 음성이 전송되기 때문에 B->A로 음성이 전송될 수 있도록 서버에서는 TCPserver 7081 | opusdec - 명령을 실행하고, 클라이언트에서는 서버에서 실행했던 명령을 실행하되 TCPclient에서 서버의 주소를 입력해 주고, TCP 포트를 7081로 설정해 주면 양방향으로 통신이 가능하기 때문에 간단한 워키토기가 만들어집니다.

4. GUI용 프로그램

상기 내용을 쉽게 실행할 수 있는 gtkdialog용 GUI스크립트를 만들어 보았습니다. 마이크장치명, 오디오비트율,음질(모노/스테레오)와 클라이언트 TCP 주소와 포트를 입력한 후 [통화시작] 버튼을 클릭하면 클라이언트와 바로 연결되어 음성을 전송할 수 있습니다.

이 프로그램은 no1linux-swt라는 패키지명으로 패키징하여 리포지토리 서버에 등록해 놓을 예정입니다.

apt-get update

apt-get install swt

swt1.png






List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 넘버원 리눅스 팁은 FAQ 게시판으로 zharyong 2018.07.16 510
228 하드웨어 [Tip] Cannot open /dev/dsp: Device or resource busy 트러블슈팅 1, 원인 리눅스에서 사운드카드를 사용할 경우 예전에는 사운드 모듈로 OSS(Open Sound System)를 사용하였지만, ALSA 모듈을 사용하면서부... zharyong 2019.01.28 766
» TodayAPP [FunnyTip] 일대일 음성 통신 워키토키를 만들어 보자. 스카이프(Skype), 린폰(Linphone), 에키가(Ekiga), 디스코드(Discord), 큐톡스(Qtox) 등 리눅스에서 지원하는 다양한 VoIP(Voice Over IP) 프로... file zharyong 2019.01.27 741
226 하드웨어 [사운드] 사운드 카드로 마이크를 테스트하는 방법 file zharyong 2019.01.27 2906
225 TodayAPP [KDE] KDE 플라즈마의 가용성을 높여주는 위젯(Widget)를 잘 써 보자. file zharyong 2019.01.23 300
224 TodayAPP [FunnyTip] 자동 마우스 클릭 file zharyong 2019.01.22 535
223 TodayAPP [TodayApp] 이지스트로크 - 마우스 동작으로 엑스 프로그램 자동 실행하기 1 file zharyong 2019.01.18 350
222 엑스 [서비스메뉴] 돌핀 파일관리자에서 KDE5 Servicemenu Reimage로 이미지 변환... file zharyong 2019.01.16 216
221 엑스 [엑스] 듀얼(다중) 모니터 출력 방향 자동 조절 유틸리티/Xinerama 기능 자동... file zharyong 2019.01.15 1297
220 시스템 [Funny Tip] 텍스트를 음성으로 1 file zharyong 2019.01.04 327
219 [사용자가이드1] 토렌트로 No1.Linux 다운로드 방법 file zharyong 2019.01.04 1846
218 인터넷 [네트워크] WOL(Wake On LAN)를 이용한 원격시스템 켜기(Power-on) 1 file zharyong 2018.12.25 3516
217 시스템 [부팅] 윈도7에서 No1.Linux 2018 SE Live 부팅 방법 file zharyong 2018.12.11 381
216 엑스 [엑스] 라이브 USB의 버추얼박스에서 /opt 심볼릭 링크 오류 file zharyong 2018.11.12 339
215 인터넷 [네트워크] OpenVPN RPM 패키지로 쉽게 OpenVPN 서버를 구축하자. 1 file zharyong 2018.08.30 506
214 인터넷 [네트워크] OpenVPN Client 접속 방법 file zharyong 2018.08.28 3147
213 인터넷 [네트워크] 외부 네트워크상에서 KDE Connect 접속을 위한 OpenVPN 서버... OpenVPN 서버 구축 - 외부 네트워크에서 kdeconnect 접속을 위한  1. 개 요 필자는 KDE 환경에서 스마트폰과 KDE 환경과 연동하여... zharyong 2018.08.28 643
212 TodayAPP [Heimdall] 리눅스에서 안드로이드 스마트폰 루팅하기 file zharyong 2018.08.17 2398
211 인터넷 [네트워크] 넘버원 리눅스에서 기가인터넷 연결하기 file zharyong 2018.07.26 1371
210 시스템 [시스템] 공인 인증서 anysign4pc 설치후 실행시 libNativeMng.so 오류 발생 anysign4pc 설치 후 실행 바이너리를 실행하였을 때 오류가 발생되는 경우 [root@localhost Downloads]# /opt/anysign4pc/amd64/AnySign.ex ... zharyong 2018.07.06 1003
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13