实时音视频云

  • 更新日志

    最近更新时间:2018-09-06 18:32:11

    1.2.1

    功能

    增加 republish 事件

    // 当发布者本身因为网络问题断线重连后重新发布成功时触发
    // 一般用来更新发布者自己的合流配置(重新发布后需要重新调用一次合流 api)
    myRTC.on("republish", () => {
        myRTC.setMergeStreamLayout(...)
    })
    

    缺陷

    修复 Chrome 69 无法连麦的问题

    1.2.0

    API 修改

    unpublish 和 unsubscribe 更变为同步方法

    myRTC.unpublish();
    console.log('unpublish success!');
    

    功能

    增加持续订阅模式

    普通订阅需要和对端的发布状态耦合,即只有发布方发布才订阅,发布方取消发布即订阅结束。
    持续订阅是指无视对端的发布状态,无论他是否发布都可以发起订阅并返回一个 Stream 对象。
    这个 Stream 对象可以立刻调用其的 play 方法,SDK 会自动检测对端的发布状态将媒体数据填充进 Stream 对象。
    只有当主动调用 unsubscribe 或者对端退出房间持续订阅才会结束。

    // 这里 myRTC 指的是实例化的 QNRTCSession 对象
    // 第二个参数为 true,代表使用持续订阅模式订阅
    const stream = await myRTC.subscribe(userId, true);
    

    自动切换媒体设备的逻辑可以配置

    // 关闭自动切换设备(默认打开)
    deviceManager.autoSwitch = false;
    

    增加媒体设备事件区分设备插入/设备拔出

    deviceManager.on("device-add", (device) => {
      console.log("检测到新设备",device);
    });
    deviceManager.on("device-remove", (device) => {
      console.log("设备被移除",device);
    });
    

    重复调用 getLocalStream 会自动切流(如果正在发布)

    const stream = await deviceManger.getLocalStream({ video: { enabled: true } });
    await myRTC.publish(stream);
    
    // 会自动切换到新的流上
    await deviceManager.getLocalStream({ screen: { enabled: true }});
    
    // 如果需要同时采集复数的流,可以实例化一个新的 deviceManager
    import { DeviceManager } from "pili-rtc-web";
    const newDeviceManager = new DeviceManager();
    

    采集的分辨率支持范围配置

    const stream = await deviceManager.getLocalStream({
      video: {
        enabled: true,
        // width 希望能取到1280
        // 如果不能就在 600-1500的范围内选择一个摄像头支持的值,还是不能就抛出错误
        width: { min: 600, max: 1500, ideal: 1280 },
        // height 希望能取到720,如果失败就抛出错误
        height: { exact: 720 },
      }
    })
    

    增加音频采集参数控制 WebRTC 的一些音频优化选项

    deviceManager.getLocalStream({
      audio: {
        enabled: true,
        autoGainControl: false, // 关闭自动增益,默认打开
        echoCancellation: false, // 关闭回声消除,默认打开
        noiseSuppression: false, // 关闭噪声抑制,默认打开
      }
    });
    

    缺陷

    • 修复 roomToken 非法无限重试的问题
    • 修复 IE 引入 SDK 的 js 报错问题
    • 修复 Firefox 候选交换导致连麦失败的问题

    优化

    • 增加连麦在弱网环境下的稳定性
    • stream 的 onAudioBuffer 方法现在会直接返回 AudioBuffer 对象

    1.1.0

    * 功能
        * 支持单独屏幕共享的模式(窗口模式/屏幕模式)
        * 屏幕共享支持配置分辨率
        * 屏幕共享插件支持 360 浏览器
        * 支持单独合流音频或者单独合流视频
    * 缺陷
        * 修复纯音频连麦可能导致的无法订阅
        * 修复 SDK 长时间断线导致的状态不同步
        * 修复火狐浏览器和屏幕共享模式下带宽控制失效
        * 修复 minify 后的代码错误对象不能正常显示的问题
        * 修复重复采集导致没有即使释放旧采集流的问题
        * 修复网络波动下的视频闪烁问题
    * 优化
        * 现在使用 USB 媒体设备连麦,设备被拔出时会自动切到系统设备
        * 现在 SDK 生成的 video 标签会默认带上基本的 css
        * 增加一些 http 请求的重试策略,增加稳定性
    

    1.0.0

    * 功能
        * 增加屏幕共享功能
        * 增加外部音频导入功能
        * 支持 360 浏览器
    * 缺陷
        * 修复发布过程导致的 ICE 失败
        * 修复重复发布的错误
        * 修复加入房间中 WS 断连导致无法重连
    * 优化
        * 增加连麦过程中 p2p 连接可用性, 增加重连策略
    

    0.2.0

    - 支持合流配置
    - 修改 stream.play 方法
    

    0.1.1

    - 支持音视频码率的配置 
    - 支持 USB 外置媒体设备
    - 支持 Mac Safari(11.0以上)
    - 支持纯音频互动 
    

    0.1.0

    - 基本的音视频通话功能
    - 支持内置音视频采集
    - 支持 Typescript
    - 支持踢人功能 
    - 支持静音功能 
    - 支持帧率配置 
    - 支持视频尺寸配置 
    - 支持自动重连 
    - 支持丰富的消息回调 
    - 支持视频的大小窗口切换 
    
    以上内容是否对您有帮助?
  • Icon free helper
    Close