@antmedia/videojs-webrtc-plugin

中文文档
2.0.1发布于 2026/08/27MITESM + CJS构建来源已验证近 30 天下载 3487

streaming via WebRTC with Ant-MediaServer

原始使用文档
文档目录11 节
  1. Table of Contents
  2. Quick Start
  3. Installation
  4. Usage
  5. Source Object
  6. <script> Tag
  7. Browserify/CommonJS
  8. RequireJS/AMD
  9. Handling error-callbacks
  10. License
  11. Issues

videojs-webrtc-plugin

Plugin for viewing streams located on the ant-media server. There is also a function to change the resolution of the stream

Table of Contents

Quick Start

To quickly install the videojs-webrtc-plugin and run it locally on your server, follow the below steps.

  • Clone the repository on your local system.

    git clone https://github.com/ant-media/videojs-webrtc-plugin.git
    
  • After cloning the repository, run the below commands to build and run the project locally.

    npm install
    
    npm run build
    
    npm run start
    

After the project runs, it will run on any specific port (for example, port 10000), so you can access it on http://localhost:10000 or http://IP-address:10000 if running on any cloud server.

Once the plugin runs in browser, replace the websocket URL with your server's websocket URL in the WS stream link and load the stream. Check the streamUrl part for reference.

Installation

In order to integrate the plugin into your external project, use the below command to install the package.

npm install --save @antmedia/videojs-webrtc-plugin

Usage

To include videojs-webrtc-plugin on your website or web application, use any of the following methods.

Source Object

streamUrl

Ant-MediaServer stream address format:

ws://[ant-address]/[app]/[streamId].webrtc?token=[token(opt)]&subscriberId=[subscriberId(opt)]&subscriberCode=[TOTP-code(opt)]

For example:

ws://12.23.322.157:5080/LiveApp/stream1.webrtc

Addtional Parameters:-

  • token (optional) - a one-time token generated for the stream (in case the stream is protected by the one-time token protection mechanism
  • subscriberId (optional) - subscriber Id. Required if the stream is protected by a TOTP password
  • subscriberCode (optional) - generated TOTP password. Required if the stream is protected by a TOTP password

iceServers

Array of Ice-servers (STUN, TURN) in JSON string format to establish a WebRTC connection.

For example:

'[ { "urls": "stun:stun1.l.google.com:19302" } ]'

<script> Tag

This is the simplest case. Get the script in whatever way you prefer and include the plugin after you include video.js, so that the videojs global is available.

<script src="//path/to/video.min.js"></script>
<script src="//path/to/videojs-webrtc-plugin.min.js"></script>

<div id="video_container">
    <video id=my-video width=960 height=540 class="video-js vjs-default-skin" controls>
        <source
           src="ws://localhost:5080/LiveApp/stream1.webrtc" iceServers = '[ { "urls": "stun:stun1.l.google.com:19302" } ]'
           >
      </video>
</div>
<script>
  var player = videojs('my-video');
</script>

Browserify/CommonJS

When using with Browserify, install videojs-webrtc-plugin via npm and require the plugin as you would any other module.

var videojs = require('video.js');

// The actual plugin function is exported by this module, but it is also
// attached to the `Player.prototype`; so, there is no need to assign it
// to a variable.
require('videojs-webrtc-plugin');

var player = videojs('my-video');

player.src({
  src: 'ws://localhost:5080/LiveApp/stream1.webrtc',
  iceServers: '[ { "urls": "stun:stun1.l.google.com:19302" } ]'
});

RequireJS/AMD

When using with RequireJS (or another AMD library), get the script in whatever way you prefer and require the plugin as you normally would:

require(['video.js', 'videojs-webrtc-plugin'], function(videojs) {
  var player = videojs('my-video');

  player.src({
    src: 'ws://localhost:5080/LiveApp/stream1.webrtc',
    iceServers: '[ { "urls": "stun:stun1.l.google.com:19302" } ]'
  });
});

Handling error-callbacks

Ant-MediaServer has functionality to handle errors coming from the backend. To catch an error, you need to subscribe to the event "ant-error":

<script src="//path/to/video.min.js"></script>
<script src="//path/to/videojs-webrtc-plugin.min.js"></script>
<script>
  var player = videojs('my-video');

  player.src({
    src: 'ws://localhost:5080/LiveApp/stream1.webrtc',
    iceServers: '[ { "urls": "stun:stun1.l.google.com:19302" } ]'
  });
  player.on('ant-error', function(event, errors) {
    console.log(errors);
  });
</script>

License

MIT. Copyright (c) Ant Media

Issues

In case of any problem, please create issues at Ant-Media-Server Repository

版本与发布记录

@antmedia/videojs-webrtc-plugin 共发布 13 个版本,首次发布于 2022/02/24;过去 12 个月发布了 1 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.0.1latest2026/08/272 个月前
1.3.32025/05/121.5 年前
1.3.22025/02/011.8 年前
1.3.12024/10/082 年前
1.3.02024/10/062 年前
1.2.32024/09/072 年前

关于 @antmedia/videojs-webrtc-plugin 的常见问题

@antmedia/videojs-webrtc-plugin 是什么?

streaming via WebRTC with Ant-MediaServer

如何安装 @antmedia/videojs-webrtc-plugin?

在项目目录运行 npm install @antmedia/videojs-webrtc-plugin,或使用 pnpm add / yarn add / bun add。

@antmedia/videojs-webrtc-plugin 支持 TypeScript 吗?

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

@antmedia/videojs-webrtc-plugin 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@antmedia/videojs-webrtc-plugin 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=14。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@antmedia/videojs-webrtc-plugin 可以商用吗?

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

@antmedia/videojs-webrtc-plugin 的下载量有多少?

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

@antmedia/videojs-webrtc-plugin 还在维护吗?

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