Skip to content

Commit

Permalink
Merge branch 'release/1.16.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
voluntas committed Jan 20, 2020
2 parents 648b467 + 261a9d7 commit ada78cd
Show file tree
Hide file tree
Showing 20 changed files with 851 additions and 485 deletions.
29 changes: 29 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,36 @@

## develop

## 1.16.0

- [ADD] タイムアウトを指定可能にする
- デフォルトではタイムアウトは有効にはなっていない
- @yuitowest
- [ADD] 新しい role である sendrecv / sendonly / sendrecv を利用できるようにする
- @voluntas
- [ADD] サンプルに multsitream_sendonly.html を追加する
- @voluntas
- [UPDATE] サンプルで利用する role を新しいものに変更する
- @voluntas
- [CHANGE] サンプルの multistream.html を multistream_sendrecv.html に変更する
- @voluntas
- [CHANGE] サンプルの multistream_down.html を multistream_recvonly.html に変更する
- @voluntas
- [CHANGE] サンプルの spotlight.html を spotlight_sendrecv.html に変更する
- @voluntas
- [CHANGE] サンプルの spotlight_down.html を spotlight_recvonly.html に変更する
- @voluntas
- [CHANGE] サンプルの updown.html を sendonly_recvonly.html に変更する
- @voluntas
- [CHANGE] sdk_version と sdk_type を廃止し sora_client を追加
- @voluntas
- [CHANGE] user_agent を廃止し sora_client を追加
- @voluntas
- [FIX] README から simulcast_rid を削除する
- @voluntas

## 1.15.0

- [CHANGE] Plan B のコードをすべて削除する
- [CHANGE] ssrc group simulcast のコードをすべて削除する
- [UPDATE] タスクランナーを webpack から rollupjs に変更
Expand Down
143 changes: 114 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
# Sora JavaScript SDK
[![CircleCI](https://circleci.com/gh/shiguredo/sora-js-sdk.svg?style=svg)](https://circleci.com/gh/shiguredo/sora-js-sdk) [![GitHub tag](https://img.shields.io/github/tag/shiguredo/sora-js-sdk.svg)](https://github.com/shiguredo/sora-js-sdk) [![npm version](https://badge.fury.io/js/sora-js-sdk.svg)](https://badge.fury.io/js/sora-js-sdk)
[![CircleCI](https://circleci.com/gh/shiguredo/sora-js-sdk.svg?style=svg)](https://circleci.com/gh/shiguredo/sora-js-sdk)
[![GitHub tag](https://img.shields.io/github/tag/shiguredo/sora-js-sdk.svg)](https://github.com/shiguredo/sora-js-sdk)
[![npm version](https://badge.fury.io/js/sora-js-sdk.svg)](https://badge.fury.io/js/sora-js-sdk)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

Sora JavaScript SDK は[株式会社時雨堂](https://shiguredo.jp/)が開発、販売している [WebRTC SFU Sora](https://sora.shiguredo.jp) をブラウザから扱うための SDK です。

使い方は [Sora JavaScript SDK ドキュメント](https://sora.shiguredo.jp/js-sdk-doc/) を参照してください。

- sora.js
- https://github.com/shiguredo/sora-js-sdk/blob/master/dist/sora.js
- sora.min.js
- https://github.com/shiguredo/sora-js-sdk/blob/master/dist/sora.min.js

## About Support

Support for Sora JavaScript SDK by Shiguredo Inc. are limited
**ONLY in JAPANESE** through GitHub issues and there is no guarantee such
as response time or resolution.
We check PRs or Issues only when written in JAPANESE.
In other languages, we won't be able to deal with them. Thank you for your understanding.

## サポートについて

Expand All @@ -23,18 +18,35 @@ Sora JavaScript SDK に関する質問・要望・バグなどの報告は Issue

Sora JavaScript SDK に対する有償のサポートについては現在提供しておりません。

## 使い方

使い方は [Sora JavaScript SDK ドキュメント](https://sora.shiguredo.jp/js-sdk-doc/) を参照してください。

- sora.js
- https://github.com/shiguredo/sora-js-sdk/blob/master/dist/sora.js
- sora.min.js
- https://github.com/shiguredo/sora-js-sdk/blob/master/dist/sora.min.js

## システム条件

- WebRTC SFU Sora 19.04 以降
- WebRTC SFU Sora 19.10 以降

## サンプル

- Upstream/Downstream
- https://github.com/shiguredo/sora-js-sdk/blob/master/example/updown.html
- Multistream
- https://github.com/shiguredo/sora-js-sdk/blob/master/example/multistream.html
- Multistream Downstream
- https://github.com/shiguredo/sora-js-sdk/blob/master/example/multistream_down.html
- Sendonly/Recvonly
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/sendonly_recvonly.html
- Multistream Sendrecv
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/multistream_sendrecv.html
- Multistream Sendonly
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/multistream_sendonly.html
- Multistream Recvonly
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/multistream_recvonly.html
- Spotlight Sendrecv
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/spotlight_sendrecv.html
- Spotlight Recvonly
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/spotlight_recvonly.html
- Simulcast
- https://github.com/shiguredo/sora-js-sdk/blob/develop/example/simulcast.html

## Issues について

Expand All @@ -59,12 +71,84 @@ example
var sora = Sora.connection('ws://127.0.0.1/signaling');
```

### Sendrecv (Publisher)

受信もする配信者として接続する

- sora.sendrecv(channelId, metadata, options={});

|Param |Type |Default |Description |
|:--|:-:|:-:|:--|
| channelId | string | | チャネルID |
| metadata | string | | メタデータ |
| options | object | | シグナリングパラメーター |
| * audio | boolean | true | オーディオ有効/無効 |
| * audioCodecType | string | | オーディオコーデックタイプ(OPUS/PCMU) |
| * audioBitRate | integer | | オーディオビットレートの最大値 |
| * video | boolean | true | ビデオ有効/無効 |
| * videoCodecType | string | | ビデオコーデックタイプ(VP8/VP9/H264) |
| * videoBitRate | integer | | ビデオビットレートの最大値 |
| * multistream | boolean | | マルチストリーム有効/無効 |
| * spotlight | integer | | 最大話者数 |
| * simulcast | boolean | | サイマルキャスト有効/無効 |
| * simulcastQuality | string | | サイマルキャストクオリティ(low/middle/high) |
| * clientId | string | | クライアントID |
| * timeout | integer | | タイムアウト時間(ms) |


- connect(stream)

|Param |Type |Default |Description |
|:--|:-:|:-:|:--|
| mediaStream | MediaStream Object | | メディアストリームオブジェクト |

- disconnect()

|Param |Type |Default |Description |
|:--|:-:|:-:|:--|

- on(kind, callback)

|Param |Type |Default |Description |
|:--|:-:|:-:|:--|
| kind | string | | イベントタイプ(disconnect, push, addstream, removestream, notify, log, timeout) |
| callback | function | | コールバック |

example
```javascript
var channelId = 'Sora';
var metadata = 'ham';
var publisher = sora.sendonly(channelId, metadata);

navigator.mediaDevices.getUserMedia({audio: true, video: true})
.then(mediaStream => {
// connect
publisher.connect(mediaStream)
.then(stream => {
// stream を video.src に追加する等の処理
});
})
.catch(e => {
console.error(e);
});

// disconnect
publisher.disconnect()
.then(() => {
// video を止める等の処理
});

// event
publisher.on('disconnect', function(e) {
console.error(e);
});
```

### Publisher
### Sendonly (Publisher)

配信者として接続する
受信しない配信者として接続する

- sora.publisher(channelId, metadata, options={});
- sora.sendrecv(channelId, metadata, options={});

|Param |Type |Default |Description |
|:--|:-:|:-:|:--|
Expand All @@ -80,8 +164,8 @@ var sora = Sora.connection('ws://127.0.0.1/signaling');
| * multistream | boolean | | マルチストリーム有効/無効 |
| * spotlight | integer | | 最大話者数 |
| * simulcast | boolean | | サイマルキャスト有効/無効 |
| * simulcast_rid | boolean | | rid ベースサイマルキャスト有効/無効 |
| * clientId | string | | クライアントID |
| * timeout | integer | | タイムアウト時間(ms) |


- connect(stream)
Expand All @@ -99,14 +183,14 @@ var sora = Sora.connection('ws://127.0.0.1/signaling');

|Param |Type |Default |Description |
|:--|:-:|:-:|:--|
| kind | string | | イベントタイプ(disconnect, push, addstream, removestream, notify, log) |
| kind | string | | イベントタイプ(disconnect, push, addstream, removestream, notify, log, timeout) |
| callback | function | | コールバック |

example
```javascript
var channelId = 'Sora';
var metadata = 'ham';
var publisher = sora.publisher(channelId, metadata);
var publisher = sora.sendonly(channelId, metadata);

navigator.mediaDevices.getUserMedia({audio: true, video: true})
.then(mediaStream => {
Expand All @@ -133,11 +217,11 @@ publisher.on('disconnect', function(e) {
```


### Subscriber
### Recvonly (Subscriber)

視聴者として接続する
視聴者のみとして接続する

- sora.subscriber(channelId, metadata, options={});
- sora.recvonly(channelId, metadata, options={});

|Param |Type |Default |Description |
|:--|:-:|:-:|:--|
Expand All @@ -155,6 +239,7 @@ publisher.on('disconnect', function(e) {
| * simulcast | boolean | | サイマルキャスト有効/無効 |
| * simulcastQuality | string | | サイマルキャストクオリティ(low/middle/high) |
| * clientId | string | | クライアントID |
| * timeout | integer | | タイムアウト時間(ms) |


- connect()
Expand All @@ -171,14 +256,14 @@ publisher.on('disconnect', function(e) {

|Param |Type |Default |Description |
|:--|:-:|:-:|:--|
| kind | string | | イベントタイプ(disconnect, push, addstream, removestream, notify, log) |
| kind | string | | イベントタイプ(disconnect, push, addstream, removestream, notify, log, timeout) |
| callback | function | | コールバック |

example
```javascript
var channelId = 'Sora';
var metadata = 'ham';
var subscriber = sora.subscriber(channelId, metadata, options);
var subscriber = sora.recvonly(channelId, metadata, options);

// connect
subscriber.connect()
Expand Down
Loading

0 comments on commit ada78cd

Please sign in to comment.