SkyWay IoT SDK로 간단하게 WebRTC 서버 측 녹음 만들기

이게 뭐야?



SkyWay IoT SDK 사용하면 WebRTC를 통한 서버 측 레코딩을 비교적 쉽게 할 수 있어 그 소개



sendStream() - 브라우저에서 음성 보내기



SiRu-Client 의 v0.0.9부터 sendStream() 라는 메소드로 브라우저에서 IoT SDK가 탑재된 Linux에 간편하게 음성을 보낼 수 있게 되었습니다. 사용법은 다음과 같은 느낌. getUserMedia 에서 음성 검색 후 sendStream(uuid, stream) 를 호출하여 대상 IoT SDK 장치로 보낼 수 있습니다.
const client = new SiRuClient( 'testroom', { key: 'YOUR_API_KEY' } );

client.on('meta', profile => {
  navigator.mediaDevices.getUserMedia({ audio: true, video: false })
    .then( stream =>
       client.sendStream( profile.uuid, stream )
    )
    .then( call => console.log('start sending local stream') )
    .catch( err => console.warn(err) );
});

샘플 사이트 h tps : /// t t m. 기주 b. 이오 / 스키와 y - 시루 - c ぃ 엔 t / 에 mp ぇ s / 센다 우. HTML 도 있으므로, 그쪽도 참고로.

IoT SDK 측에서 파일 저장



SkyWay IoT SDK 1 에서는 수신된 음성을 기본적으로 localhost:25000/udp 앞으로 rtp 로 계속 흘립니다(포맷은 디폴트라고 opus 에 고정하고 있습니다).

그래서 이것을 gstreamer 로 데리면 파일 저장할 수 버린다. 아래의 예라면 opus 로 일단 수신한 후 wav 로 변환하여 저장하고 있습니다.
gst-launch-1.0 -v udpsrc port=25000 caps="application/x-rtp,media=(string)audio,clock-rate=(int)48000,encoding-name=(string)X-GST-OPUS-DRAFT-SPITTKA-00 " ! \
  rtpopusdepay ! \
  opusdec ! \
  wavenc ! \
  filesink location=recorded_audio.wav

받는 쪽에서 그대로 재생



저장할 수 있으면 그대로 리모트 스피커에서도 재생할 수 있겠지. . . . 그렇다면 그것을 할 것입니다 gstreamer
gst-launch-1.0 -v udpsrc port=25000 caps="application/x-rtp,media=(string)audio,clock-rate=(int)48000,encoding-name=(string)X-GST-OPUS-DRAFT-SPITTKA-00 " ! \
  rtpopusdepay ! \
  opusdec ! \
  audioconvert ! \
  audioresample ! \
  autoaudiosink

그 외에는?



위의 두 개의 파이프라인 스크립트를 살펴보면 알 수 있습니다. 처럼 opusdec 이 근처가 되면, 솔직히 IoT SDK 보다는 gstreamer 를 어떻게 다루는가 하는 이야기가 됩니다만, 가능성은 많이.

이번에 소개한 것은 단순한 녹음과 재생입니다만, 예를 들어 appsink 2 통화 내용의 통계 해석을 행한다···무슨 일도 가능하게 됩니다 3 분명히

덧붙여서 이번은 녹음이라고 하는 곳에 피쳐해, 수신측의 이야기를 했습니다만, IoT SDK 에서는, 송신 스트림도 gstreamer 나름을 사용해 rtp 로 건네주는 형태가 되므로, 여기의 유연성은 송신 스트림에도 맞추어 됩니다. 예를 들면, 카메라 영상에 대해서, 얼굴 인식이라든지 AI/ML계를 물리치면서, WebRTC 전달한다든가. 4

글쎄,이 근처에 대해서,



SkyWay IoT SDK를 설치하고 이동하는 방법은 이전 기사를 참조하십시오.

htps // gst 리오메 r. f Ree로 sk와 p. rg / data / da c / gst reame r / hea d / gstp ぅ 긴 s-base p ぅ 긴 s / html / gstop ぅ gin s-base p ぅ 진 s- 아 p신 k. HTML 

이 레벨이 되면(자), c 로의 코딩의 이야기라든지가 되어 옵니다만,. node-gstreamer-superficial

SkyWay IoT SDK는 현재 베타 릴리스의 실험적이므로 그 점에 유의하십시오.

좋은 웹페이지 즐겨찾기