@flussonic/flussonic-webrtc-player

中文文档
24.7.1-10-g016867a发布于 2026/03/31ISCCommonJS近 30 天下载 2338

Flussonic Webrtc 发布和播放

中文使用文档
文档目录11 节
  1. 安装
  2. 发展
  3. 出版商
  4. 使用量
  5. 字段
  6. 方法
  7. 示例
  8. 玩家
  9. 使用量
  10. 方法
  11. 示例

风能网络游戏

风能网络RTC Player是一个JavaScript库,用于通过WebRTC发布并播放视频. 它依赖于Flussonic后端,HTML5视频和WebRTC.

在您的工程中安装, 并在您的网站或应用程序中用于通过WebRTC与流体交换视频 .

图书馆设有课程:

  • Publisher 用于从您的应用程序到流体媒体服务器的视频发布.
  • Player 在您的应用程序中播放已发布视频.

安装

安装 flussonic-webrtc-player 通过运行命令从国家预防机制:

npm install --save @flussonic/flussonic-webrtc-player

发展

要在开发模式中运行嵌入版本的玩家,首先必须构建它:

yarn build:flussonic

然后以 dev 模式运行 :

yarn start:embed

出版商

曾经通过WebRTC从客户端的应用程序流出视频,通过Flussonic流出到其他客户端.

使用量

用网络包装

import {
  Publisher,
  PUBLISHER_EVENTS,
  PUBLISHER_STATUSES,
} from '@flussonic/flussonic-webrtc-player';
// ...
const publisher = new Publisher(url, opts, shouldLog);

使用脚本标签 :

<script type="text/javascript" src="../../dist/index.js"></script>
<script>
  const { Publisher, PUBLISHER_EVENTS, PUBLISHER_STATUSES } =
    window.FlussonicWebRTCPlayer;
  // ...
  const publisher = Publisher(url, opts, shouldLog);
</script>

地点:

url - 一条流的URL.

opts - 普通物体,可包括:

  • preview?: HTMLMediaElement - 如果通过, 在装入流前显示预览 。 这是一个元素,您可以在其中输出一个已公布的流而不创建一个单独的播放器来监听同一流.

  • previewOptions?: object - 预览选项对象.

  • previewOptions?.autoplay? - 狦 true,预览的回放会自动启动.

  • previewOptions?.controls? - 狦 true,预览会有控件.

  • previewOptions?.muted? - 狦 true中,预览将被关闭.

  • inputStreams - 现在你可以直接将你的MediaStreamTracks发送给出版商并出版它们

  • constraints - 说吧 媒体约束。 。 。 .

  • shouldLog - 如果通过,内部活动将被记录到控制台(true|false) (中文(简体) ).

  • returnCapabilities() - 获取视频设备能力的回调.

  • password - 通过一个流密码.

  • authTokenName - 设置自定义密码符名

  • tokenValue - 设置符号值

  • maxBitrate - 在出版商中设置最大比特立特冰壶选项.

  • onEvent() - 出版商事件召回。 用于跟踪连接状态和玩家工作流程. 活动如下:

    • { type: 'started', started_at: #Date# } - 水流启动后运行.
    • { type: 'closed', closed_at: #Date# } - 水流关了就跑.
    • {type: 'connection state', connection: 'connected' } - 当连接状态发生变化时运行。 各国名单如下:
      • opened - 当连接打开时
      • connected - 当ICE候选人连接时
      • closed - 当用户执行连接关闭时
      • disconnected - 当服务器侧关闭 ICE 候选人连接时
  • canvasCallback - 回调功能,不能同时发布画布预览和画布。 返回一个画布 html 元素,您可以实时修改以添加一些视频效果来发布视频流.

  • radeonCheck - 当一些AMD Radeon(tm)以低比特率发布时, 启用该期的变通工作 。 这是实验性选择,将重新设计.

字段

  • 状态 - 当前出版商的地位,可能的价值是: 'initializing'|'streaming'|'stopped'。 。 。 .

方法

  • 启动( 选项) - 开始出版并设定当前出版商的 status 改为 streaming。 。 。 .
start(opts?: {
  openPeerConnectionOptions?: {
    getMediaOptions?: {
      // Called if mediaDevices.getUserMedia fails
      onGetUserMediaError: (error: Error) => void
    }
  }
}) => void
  • 共享Screen( ) - 允许用户在发布开始后激活屏幕铸造. 为了停止屏幕共享,你必须再次使用这种方法.

  • 停止( ) - 停止流的音轨;将当前出版商状态设置为 stopped。 。 。 .

  • 重新启动( c) - 重新启动出版进程.

  • (活动,cb) - 订阅 event 与召回 cb活动如下:

    • STREAMING - 接获ICE候选人并开始串流时运行.
  • 哑巴( ) - 关闭已公布的音轨.

  • 切换轨迹( 轨迹) - 出版开始后切换RTCRtp Transportceiver发件人音轨的方法, track 用于用户的新 MediaStream Track .

示例

import {
  Publisher,
  PUBLISHER_EVENTS,
  PUBLISHER_STATUSES,
} from '@flussonic/flussonic-webrtc-player';
const publisher = new Publisher(
  // The URL to a Flussonic stream that has a published source
  'https://FLUSSONIC_IP/STREAM_NAME',
  {
    // A <video> or <audio> element for previewing a published stream
    preview: document.getElementById('preview'),
    previewOptions: {
      autoplay: true,
      controls: true,
      muted: false,
    },
    constraints: {
      video: {
        width: { min: 320, ideal: 1920, max: 4096 },
        height: { min: 240, ideal: 1080, max: 2160 },
      },
      audio: true,
    },
  },
  // Log to console the Publisher's internal debug messages?
  true,
);
publisher.on(PUBLISHER_EVENTS.STREAMING, () => {
  console.log('Streaming started');
});
publisher.start();
// ...
publisher.stop();

玩家

用于播放Flussonic通过WebRTC在客户端上的回放视频.

使用量

用网络包装

import { Player, PLAYER_EVENTS } from '@flussonic/flussonic-webrtc-player';
// ...
const player = new Player(element, url, opts, shouldLog);

使用脚本标签 :

<script type="text/javascript" src="../../dist/index.js"></script>
<script>
  const { Player, PLAYER_EVENTS } = window.FlussonicWebRTCPlayer;
  // ...
  const player = new Player(element, url, opts, shouldLog);
</script>

地点:

element - 一个 <video> DOM 元素用于查看流.

url - 溪流的URL。 - 什么? - The stream's URL.

opts - 普通对象,可以包括以下选项:

  • autoplay - 自动开始播放(true|false) (中文(简体) ).

  • shouldLog - 如果通过,内部活动将被记录到控制台(true|false) (中文(简体) ).

  • onMediaInfo(tracks, abr) - 返回带有音轨信息的 MediaInfo 对象,以及 ABR( adaptive Bitrate Streaming) 指示旗

  • onTrackInfo(trackInfo) - 返回轨道更改中的轨道信息,对 ABR 模式信息有用

  • onEvent() - 玩家事件召回.

  • authTokenName - 设置自定义密码符名

  • tokenValue - 设置符号值

  • start_track - 启动回放音轨(v1a1 | auto) (中文(简体) ).

  • videoDisabled - 禁用录像收发机.

  • audioDisabled - 禁用音频收发器.

方法

  • 播放() - 开始回放.

  • 变化跟踪( ['v1','a1']) - 手动改变轨迹 如果源头有ABR,则可以是[]或"自动". Tracklist和abr旗可以通过使用MediaInfo调用实现.

  • 停止( ) - 停止播放,设定 srcObject 联 合 国 <video> 改为无效.

  • 销毁() - 打电话 stop() 并解除所有的听众.

  • (活动,cb) - 订阅 event 与召回 cb活动如下:

    • FAIL - 当出现错误时,随描述该错误的消息一起运行.
    • PLAY - 回放开始就跑.
    • DEBUG - 用于发展幼崽.
  • 获取媒体信息 () - 获取媒体关于溪流的信息.

示例

import { Player, PLAYER_EVENTS } from '@flussonic/flussonic-webrtc-player';
const player = new Player(
  // A <video> or <audio> element to playback the stream from Flussonic
  document.getElementById('player'),
  // The URL of the stream from Flussonic
  'https://FLUSSONIC_IP/STREAM_NAME',
  // Options
  { autoplay: true },
  // Log to console the Player's internal debug messages?
  true,
);
player.on(PLAYER_EVENTS.PLAY, (msg) => console.log(`Play: ${msg}`));
player.on(PLAYER_EVENTS.DEBUG, (msg) => console.log(`Debug: ${msg}`));
player.play();
player.changeTracks('auto');
// ...
player.stop();
// ...
player.destroy();

版本与发布记录

@flussonic/flussonic-webrtc-player 共发布 147 个版本,首次发布于 2019/02/05;过去 12 个月发布了 1 个版本。

版本发布日期距今
24.7.1-10-g016867alatest2026/03/317 个月前
24.7.1-8-geaef8572025/07/081.4 年前
24.7.1-6-g395cdc72025/03/061.7 年前
24.7.1-2-g1b8eaa22024/07/222 年前
24.7.1-0-g20fa1ce2024/07/112 年前
24.6.1-7-g04ca7102024/07/112 年前

其他发布通道:beta → 23.4.1-beta.0。

关于 @flussonic/flussonic-webrtc-player 的常见问题

@flussonic/flussonic-webrtc-player 是什么?

Flussonic Webrtc 发布和播放

如何安装 @flussonic/flussonic-webrtc-player?

在项目目录运行 npm install @flussonic/flussonic-webrtc-player,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@sentry/browser(^5.8.0)、core-js(^2.5.7)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@flussonic/flussonic-webrtc-player 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/flussonic__flussonic-webrtc-player 是否存在。

@flussonic/flussonic-webrtc-player 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@flussonic/flussonic-webrtc-player 可以商用吗?

@flussonic/flussonic-webrtc-player 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@flussonic/flussonic-webrtc-player 的下载量有多少?

根据 npm 官方下载统计,@flussonic/flussonic-webrtc-player 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,338 次,日均约 78 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@flussonic/flussonic-webrtc-player 还在维护吗?

最新版本 24.7.1-10-g016867a 发布于 2026/03/31(7 个月前);至今共发布 147 个版本,其中过去 12 个月发布了 1 个;首次发布于 2019/02/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。