Release Note – Javascript SDK

Release Note

버전 명명은 유의적 버전-2.0.0을 따르도록 합니다.

2.2.21(2017-07-21)

  • 변경
    • 음성 전송이 제한되는 버그 수정.

2.2.20(2017-06-30)

  • 변경
    • 영상, 음성, 데이터 전송 중에 일부 기능을 제한 할 경우 영상 혹은 음성이 제한되지 않는 버그 수정

2.2.19(2017-03-28)

  • Network 전환시 reconnect : Network 전환으로 인한 P2P disconnect일 경우 처리 이전 토큰 채널 퇴장 reason으로 reconnect, timeout case 발생
    • [reason] connect일 경우: 이전 토큰 채널 퇴장
    • [reason] reconnect일 경우 : 이전 토큰 채널 퇴장 이후 재시그널링 처리
    • [reason] timeout일 경우 : 이전 토큰 채널 퇴장 안하고 timeout 알림 전달

2.2.18(2017-01-24)

  • p2p failed 통계 오류 수정 – 최초 커넥션 실패일 경우에만 서버로 전송
  • audio codec이 opus가 아닌 경우 bandwidth 변경시 오류 발생되므로 예외처리

2.2.17(2016-11-24)

  • MCU DataChannel 대응 Header(Master Block) 정보 추가
  • DATA(TEXT/FILE) send/receive : 버전정보 체크 및 변경기능
  • FILE send/receive : 버전정보 체크 및 변경기능
  • 이기종간(web/android/ios) 지원 버전 체크 및 변경기능

2.2.16(2016-09-22)

  • Firefox 브라우저 bandwidth sdp 컨트롤 설정 추가.
  • 이종 브라우저간(예 : 파이어폭스-크롬) bandwidth sdp 처리 방법 변경.
  • error 발생시 channel 및 connection 정리를 SDK 내부에서 자동 처리하도록 변경함. 기존 error 발생시 처리를 아래와 같이 변경하시면 됩니다.
  • <기존>
    app.on("error", function(code, desc){
         //에러 발생 - 개발자가 에러를 판단하여 disconnectChannel 을 호출하여 종료한다.
         app.disconnectChannel();
    });
    
    <변경>
    app.on("error", function(code, desc){
         
    });

2.2.15(2016-07-26)

  • ring 옵션이 켜져 있고 ring 관련 이벤트가 기술 되어 있지 않을 경우 무조건 accept 를 호출하여 쌍방간의 연결이 되도록 변경.
  • audio bandwidth 를 조정 가능하도록 변경. 오디오의 경우 기본값은 32, 비디오의 경우 1500 입니다. 이를 변경하는 방법은 아래와 같습니다.
  • new PlayRTC({
         bandwidth: {
                 audio: 32,
                 video: 1500
         }
    });

2.2.14(2016-06-16)

  • 크롬/파이어폭스 간에 SDP 를 검출하는 방법에 차이에 따른 대응 코드 삽입. 해당 코드로 크롬/파이어폭스 간에 서로 다른 미디어를 가진 Peer 끼리 통신이 가능하도록 함.
  • PeerID 를 SDK 내에 저장하는 시점을 변경하여 connectChannel 이벤트 내에서 getPeerId() 로 Peer 아이디를 알 수 있도록 변경
  • preferCodec 을 PlayRTC 객체 생성시 옵션으로 지정할 수 있도록 변경. 기본값은 audio 는 opus 이며 video 는 VP8 이며 기본값을 변경하고 싶다면 아래와 같이 사용하면 됨.
  • var app = new PlayRTC({
         preferCodec: {
              audio: "ISAC",
              video: "VP9"
         }
    });

2.2.13(2016-04-07)

  • 자잘한 버그 수정
  • Http REST API 호출시 네트워트 오류를 잡을 수 있도록 에러 처리 로직 강화.
  • 비디오 코덱은 VP8, 오디오 코덱은 ISAC 이 우선 적용되도록 변경
  • 연결된 Peer 종료 후에 멈췄던 TURN 서버 세션 시간 연장을 다시 재개함 . 재개 후 40초마다 TURN 서버 세션 연장을 수행함.
  • P2P Connect, disconnect 마다 서버에 로그 전송하도록 변경
  • DataChannel 파일 수신시, 총 소요시간을 서버에 전송하도록 변경
  • video bandwidth 기본값을 2500 에서 1500 으로 변경
  • 미디어 관련 에러 코드를 상세적으로 구분함
    • M4002 : Permission denied -> 사용자에 의해 거부 되었을때
    • M4003 : Devices not found -> 사용자 단말기에서 미디어장치 찾을 수 없을때
    • M4004 : Unknown media error -> 그외 알수 없는 에러가 발생했을때

2.2.12(2016-02-18)

  • 제거 : PlayRTC 객체 생성시 bandwidth 중 audio 항목 삭제
  • 변경 : 레코딩 시작시 주기적으로 레코딩 결과를 전달받을 콜백함수를 지정할 수 있도록 변경. 직전 3초간의 레코딩 결과가 해당 콜백함수의 인자로 전달된다.
    • //변경된 레코딩 사용 방법
      
      //로컬
      app.getMedia().record("vidoe") or app.getMedia().record(function(blobData){
         //3초간의 레코딩 데이터가 blob 으로 전달됨
      });
       
      //리모트
      var peer = app.getPeerById("peer id")
      peer.getMedia().record("video") or peer.getMedia().record(function(blobData){
         //3초간의 레코딩 데이터가 blob 으로 전달됨
      });
  • 변경 : error 처리
    • 기존 P2P 연결 FAILED 시 SDK 내부에서 채널연결/P2P 연결 등의 상황을 정리했던 것을 응용프로그램 개발자에게 위임함
    • 개발자가 에러 상황을 판단하여 종료 여부를 결정한다.
    • //변경된 에러 처리 방법
      
      app.on("error", function(code, desc){
           //에러 발생 - 개발자가 에러를 판단하여 disconnectChannel 을 호출하여 종료한다.
           app.disconnectChannel();
      });

2.2.11(2016-01-28)

  • 제거 : IE 지원 중단
  • 변경 : 레코딩
    • 레코딩시 AudioContext 를 제거하고 MediaRecorder 만 사용하여 레코딩을 수행하도록 변경.
    • 객체 생성시 video, audio 가 모두 true 일 경우는 video, audio 를 같이 레코딩함
    • 객체 생성시 video 는 사용하지 않아 false 로 지정하고 audio 만 true 일경우 audio 만 레코딩함
    • video와 audio 를 같이 쓰는 환경에서 audio 만 따로 추출하여 레코딩할 수 없음.
    • 기존 레코딩 사용법
    • //로컬
      app.getMedia().record("vidoe") or app.getMedia().record("audio");
       
      //리모트
      var peer = app.getPeerById("peer id")
      peer.getMedia().record("video") or peer.getMedia().record("audio")
    • 새로 바뀐 레코딩 사용법 – 인자가 사라짐
    • //로컬
      app.getMedia().record() or app.getMedia().record();
       
      //리모트
      var peer = app.getPeerById("peer id")
      peer.getMedia().record() or peer.getMedia().record();
    • 로컬

      음성

      로컬

      영상

      원격

      음성

      원격

      영상

      크롬 X X X X
      파이어폭스 O O O O

2.2.10(2016-01-15)

  • 변경 : localMediaTarget 으로 지정한 비디오/오디오 태그에 강제로 muted 속성 적용

2.2.9(2016-01-07)

  • 변경 : SDK 내 불용코드 및 소스 정리
  • 변경 : FireFox 에서 startStatsReport 의 결과값인 AudioRTT, VideoRTT 를 크롬과 마찬가지로 RTT 하나로 통일

2.2.8(2015-12-16)

  • 변경 : disconnectChannel 시 Peer Id 를 넘기면 해당 Peer 가 종료되는 API 관련 기능 버그 픽스
  • 신규 : startStatsReport 메소드 추가 – 지정한 상대 peer 와의 네트워크 품질 및 미디어 품질 알 수 있는 정보를 반환하는 타이머를 시작. API 문서 참조

2.2.7 (2015-11-12)

  • 변경 : configuration
app = new PlayRTC({
        projectKey: "YOUR PROJECT KEY",
        localMediaTarget: "localStream",
        remoteMediaTarget: "remoteStream",
        ring: false,
        bandwidth: {
            audio: 50,
            video: 2500,
            data: 1638400
        },
        video: {
            minWidth: 320,
            minHeight: 240,
            maxWidth: 320,
            maxHeight: 240
        },
        audio: true,
        data: true
    });
Configuration
설명
자료형
기본값
video 비디오에 관해 설정합니다. width, height, framerate를 조정할 수 있습니다. Boolean or Object true
ring 허가/거절 프로세스 추가 Boolean false
remoteMediaTarget 원격 비디오 태그 아이디 명시 String null
projectKey 프로젝트 키 String
localMediaTarget 로컬 비디오 태그 아이디 명시 String null
data 데이터 채널 생성 유무 Boolean true
bandwidth 밴드위드스 설정 Object { audio: 50, video: 2500, data:1638400 }
audio 오디오 사용 유무 Boolean or Object true
  • 변경 : dataChannelEnabled 가 data 로 대체
  • 변경 : userMedia 가 video, audio 로 대체

2.2.6 (2015-09-24)

  • 변경 : IE ActiveX Plugin : 1.0.0.60
  • 변경 : IE ActiveX Plugin : IE 강제종료 시 발생하던 예외 사항 처리
  • 변경 : IE ActiveX Plugin : 안드로이드폰 1280*720인경우 녹화 잘 안되는 문제 수정. 그 외 녹화 안정성 향상.
  • 변경 : IE ActiveX Plugin : 비디오 잔상이 남는 문제 수정

2.2.5 (2015-09-21)

  • 변경 : SDP 조작시 잠재적 오작동 개선

2.2.4 (2015-09-17)

  • 변경 : IE ActiveX Plugin : 1.0.0.56
  • 변경 : IE ActiveX Plugin : IE 로그 체계 개선
  • 변경 : IE ActiveX Plugin : 1280*720 해상도 지원및 녹화 지원

2.2.3 (2015-09-11)

  • 신규 : 브라우저 언어 설정(utils.language)과 국가 설정(utils.nation)을 가져오는 유틸 함수 추가
  • 변경 : 로그 체계 개선
  • 변경 : P2P/채널 종료시 안정성 강화
  • 변경 : 데이터채널을 이용한송수신시 일부 버그 수정 및 안정성 강화

2.2.2 (2015-08-13)

  • 신규: IE ActiveX Plugin: ActiveX Plugin 설치 실행파일 배포
    • Microsoft의 2015년 6월 10일 누적 보안 업데이트 KB3058515를 통해 향후 모든 ActiveX 플러그인 설치는 사용자가 설치파일을 다운로드 받아 직접 설치로 변경
      • https://technet.microsoft.com/ko-kr/library/security/ms15-056.aspx
    • 최초 설치에 대한 자세한 안내는 아래 링크를 확인
      • https://www.playrtc.com/ko/documents-ko/javascript-ie-support-ko/
  • 변경: IE ActiveX Plugin: 비정상 종료 등의 대한 보강 코드 작성으로 인해 전체적인 안정성 강화
  • 변경: IE ActiveX Plugin: 녹화/녹음 안정성 강화
  • 변경: IE ActiveX Plugin: 데이터 채널을 통한 텍스트/파일 전송 버그 수정 및 안정성 강화
  • 제거: IE ActiveX Plugin: dataSend 메소드 제거
  • 신규: IE ActiveX Plugin: sendText 메소드 추가. 데이터 채널을 통한 텍스트 전송 수행
  • 신규: IE ActiveX Plugin: sendFile 메소드 추가. 데이터 채널을 통한 파일 전송 수행
  • 신규: IE ActiveX Plugin: selectFile 메소드 추가. 파일의 경로를 가져옴
    • 파일 전송시 selectFile 를 호출하여 파일을 선택하고 그 반환값은 sendFile 의 인자로 넘겨주는 형태
    • var path = app.selectFile();
      app.sendFile(path);
  • 변경: dataSend 메소드 삭제예정(deprecated) 메소드로 분류
  • 신규: sendText 메소드 추가. 데이터 채널을 통한 텍스트 전송 수행
  • 신규: sendFile 메소드 추가. 데이터 채널을 통한 파일 전송 수행
  • 변경: 파이어폭스에서 데이터 채널을 통한 데이터를 제대로 받지 못하던 문제 수정

2.2.1 (2015-07-06)

  • 변경 : 두번째 레코딩 부터 늘어지는 현상 방지
  • 변경 : dataChannel 을 이용한 파일 전송시, 파일인지 텍스트인지 판별하는 로직 변경
  • 변경 : 파일 리시브시 worker 를 통한 안정성 강화
  • 변경 : ring 옵션 적용시 accept 이벤트 핸들러 호출 안에서 alert 을 띄울 경우 peerConnection 객체가 SDP 을 검출하지 못 했던 버그 수정
  • 신규 : 음성 통화(voice only)
    •  voice only 일 경우 음성만 녹화
  • 신규: 데이터 채널 전용 (Datachannel only)
  • 변경 : IE ActiveX Plugin : 안정성 강화
  • 변경 : IE ActiveX Plugin : window 권한에 따라 설치 되지 않는 일부 PC 에 대해 설치 되도록 코드를 보강

2.2.0 (2015-05-27)

  • 신규 : Microsoft Internet Explorer 지원 추가
    • IE 지원은 베타 버전으로 기능 테스트 용도로 사용을 요청 드립니다.
    • PlayRTC IE ActiveX Plugin 1.0.0.13
    • Windows 7 SP1 Home Premium, Professional, Ultimate 지원
      • IE 10 지원
      • IE 11 지원
    • Windows 8.1, 8.1 Pro 지원
      • IE 10 지원
      • IE 11 지원
    • 지원 기능
      • 영상 통화
      • 영상 녹화
      • 데이터 채널에서 텍스트 사용
    • 미지원 기능
      • 음성 통화 (Voice only)
      • 음성 녹화
      • 데이터 채널 전용 사용 (Datachannel only)
      • 데이터 채널에서 파일 사용

2.1.1 (2015-05-26)

  • 변경 : 개발 테스트를 위한 설정 추가

2.1.0 (2015-05-20)

  • 변경 : DataChannel 만 사용할 수 있도록 버그 픽스
  • 변경 : dataSend 메소드 사용시 number 형 전송 가능하도록 변경
  • 변경 : dataSend API사용법을 다음과 같이 “succFn”, “errorFn”의 콜백을 사용할 수 있도록 API 추가
    • dataSend(data);
      dataSend(data, pid or uid);
      dataSend(data, succFn);
      dataSend(data, succFn, errorFn);
      dataSend(data, pid or uid, succFn);
      dataSend(data, pid or uid, succFn, errorFn);

2.0.0 (2015-04-16)

  • 제거 : Service Helper 제거(아키텍처 변경)
    • SDK 에서 PlayRTC 서버를 바로 연동 하도록 변경
  • 변경 : 채널링 및 시그널링 과정 단순화
    • 채널링에서 불필요한 과정 삭제
    • 시그널링 과정을 채널링 과정으로 통합하여 단순화(소켓을 하나로 관리)
    • 소켓을 하나로 통합하여 에러 처리 강화
  • 변경 : 내부적으로 P2P 시그널링(메타 데이터 교환) 방법 변경으로연결 시간 단축 (서비스 API v3적용, SSL 적용)
  • 변경 : 코드 재작성 및 클린업

1.0.6 (2015-03-26)

  • 변경 : 내부 채널 종료 API 변경 적용
  • 변경 : 시그널링 메타 데이터 교환 방식 변경으로 P2P 연결 시간 단축
  • 변경 : 채널 소켓, 시그널 소켓의 에러에 대응

1.0.5.02 (2015-02-03)

  • 변경 : PlayRTC 객체 생성시 ring 옵션에 관한 버그 수정

1.0.5.01 (2014-12-23)

  • 변경 : DataChannel 만 사용할시 상호간의 네트워크 정보를 제대로 확인하지 못하는 문제 수정

1.0.5 (2014-12-18)

  • 변경 : SDK 내에서 채널 서비스에 대한 v2 API 연동

1.0.4 (2014-12-11)

  • 신규 : playrtc-debug-view.js 배포
  • 변경 : 연결 종료시 서버 응답이 없을 경우 SDK 내에서 강제 종료
  • 변경 : disconnectChannel, deleteChannel과 같이 P2P 연결시에만 의미 있는 일부 API 를 연결 중이 아닐 때 호출할시에 동작하지 않도록 함

1.0.3 (2014-12-04)

  • 변경 : 로그 체계 및 형식을 보기 쉽도록 개선 – http://www.playrtc.com/?p=620
  • 변경 : 서버 타임 아웃에 대응할 수 있도록 내부 SDK 개선
  • 변경 : stateChange, error 이벤트 개선 및 메시지 정리

1.0.2.01 (2014-11-27)

  • 변경 : DataChannel 을 이용하여 데이터를 전송할 시 보다 안정적으로 보내기 위해 스레드 정책을 변경 함

1.0.2 (2014-11-17)

  • 변경 : SDK 내의 Helper 를 직접 사용하지 않도록 변경. PlayRTC.Helper 와 같은 형태로는 더이상 사용 불가.
  • 변경 : createChannel 이벤트를 connectChannel 로 변경. JS SDK 스펙문서를 확인 부탁드립니다.
  • 변경 : Call 객체의 기능을 PlayRTC 의 기능으로 변경
    • accept, reject 메소드
    • ring 이벤트 핸들러 함수의 인자 변경. 기존 세개에서 peerid, userid 만 전달되도록 함
      • 기존
      • conn.on(“ring”, function(call, peerid, userid){
        call.accept(peerid); or call.reject(peerid);
        });
      • 변경
      • conn.on(“ring”, function(peerid, userid){
        conn.accept(peerid); or conn.reject(peerid);
        });

1.0.1.02 (2014-11-13)

  • 신규 : DataChannel Only Mode 지원
  • 변경 : 다자간 DataChannel 사용시 존재 했던 버그 수정

1.0.1.01 (2014-11-11)

  • 변경 : addRemoteStream, ring 이벤트 내에 userId 가 정상적인 값으로 표시되지 않는 버그 수정

1.0.1 (2014-10-31)

  • 신규 : 서비스 서버의 Helper 와 연동을 위한 모듈 도입
  • 신규 : PlayRTC 객체에 createChannel, connectChannel, disconnectChannel, deleteChannel 메소드 추가
  • 변경 : call, hangUp 메소드 deprecated 예정으로 분류

1.0.0.01 (2014-10-21)

  • 변경 : FireFox 연동 문제 해결
  • 변경 : Chrome 에서 Candidate 처리 버그 수정
  • 변경 : 연결 종료시 Media Stream 도 함께 종료되도록 변경
  • 변경 : Log 전송 실패 시 Storage에 저장하지 못 했던 버그 수정
  • 제거 : Peer Class 내 사용하지 않는 메소드 정리

1.0.0 (2014-10-20)

  • 신규 : SDK 첫 릴리즈
 

Play RTC

서비스 체험

Play RTC build PlaygrOund

나만의 플레이그라운드를 만들어 친구를 초대해보세요 !

www.playrtc.com/

번거로운 가입이나 설치 없이ID만 만들어서 영상통화나 파일 공유, 채팅 서비스를 무료로 즐겨보세요.

 

Play RTC

서비스 체험

개설한 Playground 주소를 복하해서 친구에게 보내조세요. 친구가 Playground에 접속하면 이곳에 친구의 영상과 음성이 나타납니다. Waiting..

Photo

X
이미지 미리보기
이미지
 

서비스 체험

 

서비스 체험

서비스 체험은 크롬과 파이어폭스 브라우저에 최적화되어 있습니다.
크롬 또는 파이어폭스 브라우저를 설치 후 다시 이용해주세요.