WebRTC (Web Real-Time Communicationãã¦ã§ããªã¢ã«ã¿ã¤ã ã³ãã¥ãã±ã¼ã·ã§ã³) ã¯ãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãã¦ã§ããµã¤ãã«ã¦ã仲ä»ãå¿ è¦ã¨ããã«ãã©ã¦ã¶ã¼éã§ç´æ¥ãä»»æã®ãã¼ã¿ã®äº¤æãããã£ããã£ããé³å£°ï¼æ åã¹ããªã¼ã ã®éåä¿¡ãå¯è½ã«ããæè¡ã§ãã WebRTC ã«é¢ããä¸é£ã®æ¨æºè¦æ ¼ã¯ãã¦ã¼ã¶ã¼ããã©ã°ã¤ã³ããµã¼ããã¼ãã£è£½ã½ããã¦ã§ã¢ãã¤ã³ã¹ãã¼ã«ãããã¨ãªãããã¢ã¼ãã¼ãã¢ã¼ã«ã¦ããã¼ã¿å ±æãé éä¼è°ãå®ç¾ãããã¨ãå¯è½ã«ãã¾ãã
WebRTC ã¯ãç¸äºã«é¢é£ããããã¤ãã® API ã¨ãããã³ã«ã§æ§æããã¦ããããããã飿ºãã¦ãããå®ç¾ãã¦ãã¾ããããã§ç´¹ä»ããããã¥ã¡ã³ãã§ã¯ãWebRTC ã®åºç¤ç¥èããã¼ã¿æ¥ç¶ã¨ã¡ãã£ã¢æ¥ç¶ã両æ¹ã®è¨å®æ¹æ³ã¨ãä½¿ç¨æ¹æ³ãªã©ãçè§£ããã®ã«å½¹ç«ã¡ã¾ãã
WebRTC ã®æ¦å¿µã¨ä½¿ãæ¹WebRTC ã¯è¤æ°ã®ç®çã«å¯¾å¿ãã¦ãã¾ããã¡ãã£ã¢ãã£ããã£ã¨ã¹ããªã¼ã API ã¨ä¸ç·ã«ä½¿ç¨ãããã¨ã§ãé³å£°ã»ãããªä¼è°ããã¡ã¤ã«äº¤æãç»é¢å ±æãID 管çãDTMF (ã¿ãããã¼ã³ãã¤ã¤ã«ä¿¡å·) ã®éä¿¡ãµãã¼ããå«ãæ§æ¥ã®é»è©±ã·ã¹ãã ã¨ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãªã©ãå¼·åãªãã«ãã¡ãã£ã¢æ©è½ãã¦ã§ãã«æä¾ãã¾ãããã¢ã¼éã®æ¥ç¶ã¯ãç¹å¥ãªãã©ã¤ãã¼ããã©ã°ã¤ã³ãå¿ è¦ã¨ããã«è¡ããã¨ãã§ããå¤ãã®å ´åãä¸éãµã¼ãã¼ãä»ããã«è¡ããã¨ãã§ãã¾ãã
2 ã¤ã®ãã¢ã¼éã®æ¥ç¶ã¯ RTCPeerConnection
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§è¡¨ç¾ããã¾ããæ¥ç¶ã確ç«ãããRTCPeerConnection
ã使ç¨ãã¦éãããã¨ãã¡ãã£ã¢ã¹ããªã¼ã (MediaStream
) ããã¼ã¿ãã£ã³ãã« (RTCDataChannel
) ãæ¥ç¶ã«è¿½å ãããã¨ãã§ãã¾ãã
ã¡ãã£ã¢ã¹ããªã¼ã ã¯ãã¡ãã£ã¢æ
å ±ã®ä»»æã®æ°ã®ãã©ãã¯ã§æ§æãããã¨ãã§ãã¾ãããã©ãã¯ã¯ãMediaStreamTrack
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«åºã¥ãããªãã¸ã§ã¯ãã§è¡¨ãããé³å£°ãæ åãããã¹ãï¼åå¹ããã£ãã¿ã¼åãªã©ï¼ãå«ãã¡ãã£ã¢ãã¼ã¿ã®ããã¤ãã®åã®ãã¡ã® 1 ã¤ãå«ããã¨ãã§ãã¾ããã»ã¨ãã©ã®ã¹ããªã¼ã ã¯å°ãªãã¨ã 1 ã¤ã®é³å£°ãã©ãã¯ã¨æ åãã©ãã¯ã§æ§æããã¦ãããã©ã¤ãã¡ãã£ã¢ãä¿åãããã¡ãã£ã¢æ
å ±ï¼ã¹ããªã¼ãã³ã°ãããåç»ãªã©ï¼ã®éåä¿¡ã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
ã¾ãã2 ã¤ã®ãã¢ã¼éã®æ¥ç¶ã使ç¨ãã¦ãRTCDataChannel
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã使ç¨ãã¦ä»»æã®ãã¤ããªã¼ãã¼ã¿ã交æãããã¨ãã§ãã¾ããããã¯ãããã¯ãã£ã³ãã«æ
å ±ãã¡ã¿ãã¼ã¿äº¤æãã²ã¼ã ã¹ãã¼ã¿ã¹ãã±ããããã¡ã¤ã«è»¢éããããã¯ãã¼ã¿è»¢éã®ããã®ãã©ã¤ããªã¼ãã£ã³ãã«ã¨ãã¦ä½¿ç¨ãããã¨ãã§ãã¾ãã
WebRTC ã¯ç¾è¡ã®ãã©ã¦ã¶ã¼ã§ã¯æ¦ã対å¿ãã¦ãã¾ãããä¸é¨éäºææ§ãæ®ã£ã¦ãã¾ãã adapter.js ã©ã¤ãã©ãªã¼ã¯ããããã®éäºææ§ããã¢ããªãä¿è·ããããã®è£å©çãªãã®ã§ãã
WebRTC ãªãã¡ã¬ã³ã¹WebRTC ã¯ãæ§ã ãªã¿ã¹ã¯ãéæããããã«é£æºãã¦åä½ããè¤æ°ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãæä¾ãã¦ããããã以ä¸ã®ãªã¹ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãã«ãã´ãªã¼å¥ã«åãã¦ãã¾ããã¢ã«ãã¡ãããé ã®ãªã¹ãã¯ãµã¤ããã¼ãã覧ãã ããã
æ¥ç¶ã®è¨å®ã¨ç®¡ç以ä¸ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãè¾æ¸ãåã¯ãWebRTC æ¥ç¶ã®ã»ããã¢ããããªã¼ãã³ã管çã«ä½¿ç¨ãã¾ããããã«ã¯ããã¢ã¼ã¡ãã£ã¢æ¥ç¶ããã¼ã¿ãã£ãã«ããã³ãããããã®ãã¢ã¼ãåæ¹åã¡ãã£ã¢æ¥ç¶ã®ããã«æé©ãªè¨å®ã鏿ããæ©è½ã«é¢ããæ å ±ãããã¨ãããããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãå«ã¾ãã¦ãã¾ãã
ã¤ã³ã¿ã¼ãã§ã¤ã¹RTCPeerConnection
ãã¼ã«ã«ã³ã³ãã¥ã¼ã¿ã¨ãªã¢ã¼ããã¢ã¼éã® WebRTC æ¥ç¶ã表ãã¾ããããã¯ã 2 ã¤ã®ãã¢ã¼éã®ãã¼ã¿ã®å¹ççãªã¹ããªã¼ãã³ã°ãå¦çããããã«ä½¿ç¨ããã¾ãã
RTCDataChannel
æ¥ç¶ã® 2 ã¤ã®ãã¢ã¼éã®åæ¹åãã¼ã¿ãã£ãã«ã表ãã¾ãã
RTCDataChannelEvent
RTCDataChannel
ã RTCPeerConnection
ã«è£
çãã¦ããéã«çºçããã¤ãã³ãã表ãã¾ãããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§éä¿¡ãããã¤ãã³ãã¯ããã¼ã¿ãã£ãã« datachannel
ã®ã¿ã§ãã
RTCSessionDescription
ã»ãã·ã§ã³ã®å¼æ°ã表ãã¾ããå RTCSessionDescription
ã¯ããªãã¡ã¼/ã¢ã³ãµã¼ãã´ã·ã¨ã¼ã·ã§ã³ããã»ã¹ã®ãã©ã®é¨åãè¨è¿°ãããã示ãè¨è¿°å (type
) ã¨ãã»ãã·ã§ã³ã® SDP è¨è¿°åã§æ§æããã¾ãã
RTCStatsReport
æ¥ç¶ã¾ãã¯æ¥ç¶ä¸ã®åã
ã®ãã©ãã¯ã®çµ±è¨æ
å ±ã®è©³ç´°ãæä¾ãã¾ããRTCPeerConnection.getStats()
ãå¼ã³åºãã¨å ±åãåå¾ã§ãã¾ãã
RTCIceCandidate
RTCPeerConnection
ã確ç«ããããã® ICE(ã¤ã³ã¿ã©ã¯ãã£ãæ¥ç¶ç¢ºç«) ãµã¼ãã¼ã®åè£ã表ãã¾ãã
RTCIceTransport
ICE ãã©ã³ã¹ãã¼ãã«é¢ããæ å ±ã表ãã¾ãã
RTCPeerConnectionIceEvent
ã¿ã¼ã²ããã¨ã® ICE åè£ (é常㯠RTCPeerConnection
) ã«é¢é£ãã¦çºçããã¤ãã³ãã表ãã¾ãããã®åã®ã¤ãã³ã㯠icecandidate
1 ã¤ã ãã§ãã
RTCRtpSender
RTCPeerConnection
ä¸ã® MediaStreamTrack
ã®ãã¼ã¿ã®ã¨ã³ã³ã¼ãã¨éä¿¡ã管çãã¾ãã
RTCRtpReceiver
RTCPeerConnection
ä¸ã® MediaStreamTrack
ã®ãã¼ã¿ã®åä¿¡ã¨ãã³ã¼ãã管çãã¾ãã
RTCTrackEvent
ãã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ track
ã¤ãã³ãã表ããã®ã§ã RTCRtpReceiver
ãªãã¸ã§ã¯ãã RTCPeerConnection
ãªãã¸ã§ã¯ãã«è¿½å ããããã¨ã示ããã©ãã¯ã¤ãã³ãã表ç¾ããããã«ä½¿ç¨ãããã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ãæ°ããçä¿¡ (incoming) MediaStreamTrack
ãçæããã RTCPeerConnection
ã«è¿½å ããããã¨ã示ãã¾ãã
RTCSctpTransport
Stream Control Transmission Protocol (SCTP) ãã©ã³ã¹ãã¼ãã説æããæ
å ±ãæä¾ãã RTCPeerConnection
ã®ãã¹ã¦ã®RTCPeerConnection
ã®ãã¼ã¿ãã£ãã«ã® SCTP ãã±ãããéåä¿¡ããã Datagram Transport Layer Security (DTLS) ãã©ã³ã¹ãã¼ãã«ã¢ã¯ã»ã¹ããæ¹æ³ãæä¾ãã¾ãã
bufferedamountlow
ãã¼ã¿ãã£ãã«ã® bufferedAmount
ããããã£ã§ç¤ºããããç¾å¨ãããã¡ãªã³ã°ããã¦ãããã¼ã¿éãã bufferedAmountLowThreshold
ã§æå®ããããã£ã³ãã«ã®æå°ãããã¡ãªã³ã°ãã¼ã¿ãµã¤ãºä»¥ä¸ã«æ¸å°ããã¨ãã«çºè¡ããã¾ãã
close
ãã¼ã¿ãã£ãã«ãéããå¦çãå®äºããç¾å¨ closed
ã®ç¶æ
ã§ãããã®ç¹ã§ãåºç¤ã¨ãªããã¼ã¿ãã©ã³ã¹ãã¼ãã¯å®å
¨ã«éãããã¦ãã¾ãã closing
ã¤ãã³ããç£è¦ãããã¨ã§ãéããå¦çãå®äºããåã«éç¥ãåãããã¨ãã§ãã¾ãã
closing
RTCDataChannel
ã closing
ç¶æ
ã«é·ç§»ããã¾ããªãéãããããã¨ã示ãããã close
ã¤ãã³ããç£è¦ãããã¨ã§ãéããå¦çã®å®äºãæ¤åºãããã¨ãã§ãã¾ãã
connectionstatechange
connectionState
ã§ã¢ã¯ã»ã¹ã§ããæ¥ç¶ã®ç¶æ
ã夿´ãããã
datachannel
ãªã¢ã¼ããã¢ã¼ãæ°ãããã¼ã¿ãã£ãã«ãéããå¾ãæ°ãã RTCDataChannel
ãå©ç¨å¯è½ã§ãããã®ã¤ãã³ãå㯠RTCDataChannel
ã§ãã
error
RTCErrorEvent
ã§ããã¼ã¿ãã£ãã«ã§ã¨ã©ã¼ãçºçãããã¨ã示ãã¾ãã
error
RTCErrorEvent
ã§ã RTCDtlsTransport
ã«ããã¦ã¨ã©ã¼ãçºçãããã¨ã示ãã¾ãããã®ã¨ã©ã¼ã¯ dtls-failure
ã¾ã㯠fingerprint-failure
ã®ã©ã¡ããã«ãªãã¾ãã
gatheringstatechange
RTCIceTransport
ã®åéç¶æ
ã夿´ããã¾ããã
icecandidate
RTCPeerConnectionIceEvent
ã¯ããã¼ã«ã«ããã¤ã¹ããã¼ã«ã«ãã¢ã¼ã«è¿½å ããå¿
è¦ãããæ°ãã ICE åè£ãç¹å®ããã¨ãã«ã setLocalDescription()
ãå¼ã³åºãã¦éä¿¡ããããã®ã§ãã
icecandidateerror
ICE åè£ã®åéä¸ã«ã¨ã©ã¼ãçºçãããã¨ã示ãRTCPeerConnectionIceErrorEvent
ã
iceconnectionstatechange
ICE æ¥ç¶ã®ç¶æ
ï¼iceconnectionstate
ããããã£ã§å¾ãããï¼ãå¤åããã¨ãã« RTCPeerConnection
ã«éããã¾ãã
icegatheringstatechange
ICEã®åéç¶æ
ï¼icegatheringstate
ããããã£ã§å¾ãããï¼ãå¤åããã¨ãã« RTCPeerConnection
ã«éããã¾ãã
message
ãã¼ã¿ãã£ãã«ã§ã¡ãã»ã¼ã¸ãåä¿¡ããããã®ã¤ãã³ãã®å㯠MessageEvent
ã§ãã
negotiationneeded
domxref("RTCPeerConnection.createOffer", "createOffer()")}} ã«ç¶ã㦠setLocalDescription()
ãå¼ã³åºããRTCPeerConnection
ã«ã»ãã·ã§ã³äº¤æ¸ãè¡ãå¿
è¦ããããã¨ãéç¥ãã¾ãã
open
RTCDataChannel
ã®åºç¤ã¨ãªããã¼ã¿ãã©ã³ã¹ãã¼ããæ£å¸¸ã«ãªã¼ãã³ã¾ãã¯åãªã¼ãã³ããã¾ããã
selectedcandidatepairchange
ã¤ãã³ããçºè¡ããã RTCIceTransport
ã«ããã¦ãç¾å¨é¸æããã¦ãã ICE åè£ã®ãã¢ã夿´ããã¾ããã
track
track
ã¤ãã³ã㯠RTCTrackevent
ã®åã§ãã¡ãã£ã¢ã®ã¹ããªã¼ãã³ã°ã®äº¤æ¸ãæåããå¾ã«æ°ãããã©ãã¯ãæ¥ç¶ã«è¿½å ããã㨠RTCPeerConnection
ã«éä¿¡ããã¾ãã
signalingstatechange
ãã¢ã¼æ¥ç¶ã® signalingstate
ã夿´ãããã¨ãã«éä¿¡ããã¾ãããã㯠setLocalDescription()
ã¾ã㯠setRemoteDescription()
ã®ãããããå¼ã³åºãããçµæçºçãããã®ã§ãã
statechange
RTCDtlsTransport
ã®ç¶æ
ãå¤åããã
statechange
RTCIceTransport
ã®ç¶æ
ãå¤åããã
statechange
RTCSctpTransport
ã®ç¶æ
ãå¤åããã
rtctransform
ã¨ã³ã³ã¼ããããåç»ãé³å£°ã®ãã¬ã¼ã ã¯ãã¯ã¼ã«ã¼ã§å¤æã¹ããªã¼ã ã使ç¨ãã¦å¦çããæºåãã§ãã¦ãã¾ãã
RTCSctpTransport.state
RTCSctpTransport
ã¤ã³ã¹ã¿ã³ã¹ã®ç¶æ
ã示ãã¾ãã
ãããã® API ã¯ãã»ãã¥ãªãã£ã¨ã¢ã¤ãã³ãã£ãã£ã管çããã¦ã¼ã¶ã¼ã®æ¥ç¶ãèªè¨¼ããããã«ä½¿ããã¾ãã
RTCIdentityProvider
ã¦ã¼ã¶ã¼ã¨ã¼ã¸ã§ã³ãã ID ã¢ãµã¼ã·ã§ã³ã®çæã¾ãã¯æ¤è¨¼ãè¦æ±ã§ããããã«ãã¾ãã
RTCIdentityAssertion
ç¾å¨ã®æ¥ç¶ã®ãªã¢ã¼ããã¢ã¼ã® ID ã表ãã¾ããã¾ã ãã¢ã¼ãè¨å®ããã¦ããããæ¤è¨¼ããã¦ããªãå ´åããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ null
ãè¿ãã¾ããä¸åº¦è¨å®ããã¨å¤æ´ãããã¨ã¯ã§ãã¾ããã
RTCIdentityProviderRegistrar
ID ãããã¤ãã¼ (idP) ãç»é²ãã¾ãã
RTCCertificate
RTCPeerConnection
ãèªè¨¼ã«ä½¿ç¨ããè¨¼ææ¸ã表ãã¾ãã
ãããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¨ã¤ãã³ãã¯ãå ¬è¡äº¤æé»è©±ç¶² (PSTN) ã¨ã®ç¸äºä½ç¨ã«é¢é£ãããã®ã§ãããããã¯ä¸»ã«ããã¼ã³ãã¤ã¤ã«ã®é³ãã¾ãã¯ãã®é³ã表ããã±ããããããã¯ã¼ã¯çµç±ã§ãªã¢ã¼ããã¢ã¼ã«éä¿¡ããããã«ä½¿ç¨ããã¾ãã
ã¤ã³ã¿ã¼ãã§ã¤ã¹RTCDTMFSender
RTCPeerConnection
ã®ãã¥ã¢ã«ãã¼ã³å¤å¨æ³¢ (DTMF) ã·ã°ããªã³ã°ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¨éä¿¡ã管çãã¾ãã
RTCDTMFToneChangeEvent
DTMF ãã¼ã³ã®éå§ã¾ãã¯çµäºã示ãããã« tonechange
ã¤ãã³ãã§ä½¿ç¨ããã¾ãããã®ã¤ãã³ãã¯ï¼ç¹ã«æè¨ããã¦ããå ´åãé¤ãï¼ãããªã³ã°ãããï¼ç¹ã«æè¨ããã¦ããå ´åãé¤ãï¼ãã£ã³ã»ã«ãã§ãã¾ããã
tonechange
æ°ãã DTMF ãã¼ã³ãæ¥ç¶ä¸ã§åçããå§ãããã RTCDTMFSender
ã® toneBuffer
ã«ããæå¾ã®ãã¼ã³ãéä¿¡ããã¦ãããã¡ã空ã«ãªã£ãããã©ã¡ããã§ãããã®ã¤ãã³ãã®å㯠RTCDTMFToneChangeEvent
ã§ãã
ãããã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¨ã¤ãã³ãã¯ãã¯ã¼ã«ã¼ã§å®è¡ãã夿ã¹ããªã¼ã ã使ç¨ãã¦ãå ¥åºåãããã¨ã³ã³ã¼ãæ¹å¼ã®åç»ã¨é³å£°ãã¬ã¼ã ãå¦çããããã«ä½¿ç¨ãã¾ãã
ã¤ã³ã¿ã¼ãã§ã¤ã¹RTCRtpScriptTransform
ã¯ã¼ã«ã¼ã§å®è¡ãã夿ã¹ããªã¼ã ã RTC ãã¤ãã©ã¤ã³ã«æ¿å ¥ããã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ãã
RTCRtpScriptTransformer
ã¡ã¤ã³ã¹ã¬ãããããªãã·ã§ã³ã渡ã RTCRtpScriptTransform
ã«å¯¾å¿ããã¯ã¼ã«ã¼ãµã¤ãã®ãã®ã§ã TransformStream
ãéãã¦ã¨ã³ã³ã¼ãããããã¬ã¼ã ããã¤ãããããã«ä½¿ç¨ãããã¨ãã§ããèªã¿åãå¯è½ãªã¹ããªã¼ã ã¨æ¸ãè¾¼ã¿å¯è½ãªã¹ããªã¼ã ãä¸ç·ã«æ¸¡ãã¾ãã
RTCEncodedVideoFrame
RTC ãã¤ãã©ã¤ã³ã§å¤æãããã¨ã³ã³ã¼ããããåç»ãã¬ã¼ã ã表ãã¾ãã
RTCEncodedAudioFrame
RTC ãã¤ãã©ã¤ã³ã§å¤æãããã¨ã³ã³ã¼ããããé³å£°ãã¬ã¼ã ã表ãã¾ãã
RTCRtpReceiver.transform
ã¨ã³ã³ã¼ããããæ åããã³é³å£°ãã¬ã¼ã ãåä¿¡ãã¤ãã©ã¤ã³ã«å¤æã¹ããªã¼ã ãæ¿å ¥ããããã«ä½¿ç¨ããããããã£ã§ãã
RTCRtpSender.transform
ã¨ã³ã³ã¼ããããæ åããã³é³å£°ãã¬ã¼ã ã®éä¿¡ãã¤ãã©ã¤ã³ã«å¤æã¹ããªã¼ã ãæ¿å ¥ããããã«ä½¿ç¨ããããããã£ã§ãã
rtctransform
RTC 夿ãã¯ã¼ã«ã¼ã§å®è¡ããæºåãã§ãã¦ããããã¨ã³ã³ã¼ããããåç»ãé³å£°ãã¬ã¼ã ãå¦çããæºåãã§ãã¦ãã¾ãã
ãã®è¨äºã§ã¯ãWebRTC API ã®åºç¤ã¨ãªã£ã¦ãããããã³ã«ã«ã¤ãã¦èª¬æãã¦ãã¾ãã
WebRTC æ¥ç¶ãã©ã®ããã«åããã説æããã¬ã¤ããã©ã®ããã«æ§ã ãªãããã³ã«ã¨ã¤ã³ã¿ã¼ãã§ã¤ã¹ãå調ãã¦ç¨ãããããã¨ã§å¼·åãªã³ãã¥ãã±ã¼ã·ã§ã³ã¢ããªãæ§ç¯ãããã¨ãã§ãããã«ã¤ãã¦èª¬æãã¦ãã¾ãã
WebRTCã¯ä»»æã®ãã¼ã¿ãé³å£°ãæ åã¾ãã¯ãããã®çµã¿åãããããã¨ããããã¢ã¼ãã¼ãã¢ã¼éä¿¡ããã©ã¦ã¶ã¼ã¢ããªã±ã¼ã·ã§ã³ä¸ã«æ§ç¯ãããã¨ãã§ãã¾ãããã®è¨äºã§ã¯ãæ¥ç¶ã®ç¢ºç«ããä¸è¦ã¨ãªãéããããã¾ã§ã® WebRTC ã®ã©ã¤ãã¿ã¤ã ã«ã¤ãã¦è¦ã¦ããã¾ãã
å®å ¨ãªãã´ã·ã¨ã¼ã·ã§ã³ã¯ã·ã°ããªã³ã°ããã»ã¹ãå¾ãã¹ãæ¨å¥¨ããããã¶ã¤ã³ãã¿ã¼ã³ã§ããäºè ãåºå¥ããããã«ããããã®ã³ã¼ãã£ã³ã°ãå¿ è¦ã¨ããã«ãåæ¹ããªãã¡ã¼å´ã¨ã¢ã³ãµã¼å´ã®ã©ã¡ãã«ããªãããã¨ãå¯è½ã«ãããã´ã·ã¨ã¼ã·ã§ã³ã«ãããééæ§ãæä¾ãã¾ãã
以åã®ä¾ã§ä½æããã¦ã§ãã½ã±ãããã¼ã¹ã®ãã£ããã·ã¹ãã ã«åå è åå£«ã®æ åé話æ©è½ã追å ãããã¥ã¼ããªã¢ã«ã¨ä¾ããã£ãããµã¼ãã¼ã®ã¦ã§ãã½ã±ããæ¥ç¶ã¯ WebRTC ã®ã·ã°ããªã³ã°ã¨ãã¦ç¨ãããã¾ãã
WebRTC ãç¨ããä¸ã§ãã©ã¦ã¶ã¼ã対å¿ãã¹ãã³ã¼ããã¯ã¨æ§ã ãªæåãªãã©ã¦ã¶ã¼ã§å¯¾å¿ããã¦ãã追å çãªã³ã¼ããã¯ã«ã¤ãã¦ã®ã¬ã¤ããå¿ è¦ã«å¿ãããã¹ããªã³ã¼ããã¯ã®é¸ã³æ¹ã«ã¤ãã¦ã®ã¬ã¤ããå«ã¿ã¾ãã
ãã®ã¬ã¤ãã§ã¯ããã¢ã¼æ¥ç¶ã¨é¢é£ãã RTCDataChannel
ã使ç¨ãã¦ã2 ã¤ã®ãã¢ã¼éã§ä»»æã®ãã¼ã¿ã交æããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
RTCDTMFSender
ã¤ã³ã¿ã¼ãã§ã¤ã¹ãç¨ãã DTMF ãã¼ã³éä¿¡ãµãã¼ããå«ããæ§å¼ã®é»è©±ã·ã¹ãã ã¨ã®ã²ã¼ãã¦ã§ã¤ã¨ããã¨ããè¡ãããã® WebRTC 対å¿ã«ã¤ãã¦ããã®ã¬ã¤ãã§ã¯ããã®æ¹æ³ã説æãã¾ãã
ãã®ã¬ã¤ãã§ã¯ãã¯ã¼ã«ã¼ã§å®è¡ãã TransformStream
ã使ç¨ãã¦ãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãå
¥åºåãã WebRTCã®ã¨ã³ã³ã¼ããããæ åããã³é³å£°ãã¬ã¼ã ã夿´ããæ¹æ³ã示ãã¾ãã
WebRTC çµç¹ã¯ãç°ãªããã©ã¦ã¶ã¼ã® WebRTC å®è£ ã«ãããäºææ§ã®åé¡ãåé¿ãããã adapter.js ãæä¾ãã¦ãã¾ãããã®ã¢ããã¿ã¼ã¯ JavaScript ã®ã¯ã·ã (Shim) ã§ãããªãã®ã³ã¼ãã仿§ã«åããã¦è¨è¿°ãããã¨ã§ãWebRTC ã«å¯¾å¿ãã¦ãããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§ããã åã (just work) ãããã«ãã¦ããã¾ãã
RTCDataChannel
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã¯ã2ã¤ã®ãã¢ã¼éã§ä»»æã®ãã¼ã¿ãéåä¿¡ããããã®ãã£ãã«ãéããã¨ãã§ããæ©è½ã§ãããã®APIã¯æå³çã« WebSocket API ã«ä¼¼ãã¦ããã®ã§ãããããã«åãããã°ã©ãã³ã°ã¢ãã«ã使ç¨ãããã¨ãã§ãã¾ãã
ãã®ãã¥ã¼ããªã¢ã«ã¯ã Peer.js ã使ç¨ãã¦é»è©±ãæ§ç¯ããæ¹æ³ã段éã追ã£ã¦ã¬ã¤ããã¾ãã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4