风能网络游戏
风能网络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();