fms,url及串流码是什么

时间:2021-11-10 18:18:58 200字

篇一:《如何申请熊猫TV主播》

更新于2015.10.20

第一步:成为主播

首先,按照/retype/zoom/e579931c02d276a200292ee2?pn=1&x=0&y=1268&raww=553&rawh=299&o=png_6_0_0_135_442_622_337_892.979_1262.879&type=pic&aimh=259.52983725135624&md5sum=6a7a66797f3c64d557b6d10ea88bc086&sign=665a1c2a89&zoom=&png=0-70279&jpg=0-0" target="_blank">

直播最低要求UPLOAD SPEED大于1.0Mbps,否则将无法进行流畅的直播

第四步:OBS软件设置

1、设定-编码

I、 取消CBR固定位元率

II、 ”品质”根据不同游戏进行修改

射击、竞速和单机游戏类,请选6-7

DOTA2、LOL、SC2等,请选7-8

炉石传说、AVG类游戏,请选7-8

视频录播,请选9-10

III、 最大比特率

上行速度1Mbps左右的请设置最大码率为500kbps

上行速度2Mbps左右的请设置最大码率为1500kbps

2、 设定-影像

I、 基本解析度与你的系统保持一致

压缩分辨率: II、

上行速度1Mbps左右压缩分辨率为720x480或与480接近

III、

IV、 上行速度2Mbps左右压缩分辨率为1280x720或与720接近 滤镜:配置高可以选择Lanczos36采样数,配置低不开任何滤镜

V、 FPS:配置高可以选择25-30FPS,配置低选择24FPS

VI、

3、 设定-广播设定 勾选启动时停止Aero

FMS URL及串流码可通过直播设置-开始直播查看:

4、 添加场景及来源 开始直播

I、 添加场景:鼠标移至场景,右键添加场景,无需设置,确定即可

来源:所有游戏建议优先选择游戏源方式直播,第二是显示器获取,第三是获取窗口 II、

获取窗口:就是添加单个窗口给观众看

显示器获取:单屏幕或多屏幕选择某个显示器全屏幕或部分屏幕给观众看(英雄联盟选择) 游戏源:全屏游戏必须用游戏源来直播,否则观众看是黑屏。无边框或窗口化全屏可以直接用添加窗口进行直播。(DOTA2,炉石选择,英雄联盟)

(若显示器获取或者获取窗口时,预览串流显示黑屏,请在获取窗口的设置界面选择”兼容模式”) III、

化 保证服务器和串流码填写正确后,选择开始串流。进入游戏后,把图像改为无边框或窗口全屏

FAQ常见问题:

Q.别人老说我画面卡怎么回事?

A. 首先确定网络连接情况,并确保直播软件的设置与教程一致。确认无误后如果仍出现问题,那有可能是机器配置的问题。

篇二:《FMS视频直播系统搭建》

FMS视频直播系统搭建

一、准备工作:

(1)一台正常工作的电脑,保证电脑的网络没有异常;

(2)FlashMediaServer3.5.exe安装程序;

(3)陆伍视讯公司的网络摄像机一台;叁陆伍视讯网络摄像机支持嵌入式RTMP协议,码流极小,720P高清视频仅占用800kbps带宽,大大节省网络成本。

二、安装FMS

(1)双击安装程序

FlashMediaServer3.5.exe

点击next;

选I accept the agreement,点Next;

输入产品序列号,点Next;

点击Next;

点击Next;

点击Next;

点击Next;

输入用户名和密码后,点击Next;

不用做任何修改,点击Next;

篇三:《FMS服务端语法》

FMS 服务端语法 2009-04-14 9:16Application 类(1)Application.acceptConnection()可用性 Flash Communication Server MX 1.0 用法 application.acceptConnection(clientObj) 参数 clientObj 一个 Client 对象;一个要接受的客户 返回 无 描述 方法;接受所有来自客户端到服务端的连接。当客户端调用 NetConnection.connect()时,服 务端通过调用 方法 application.onConnect 处 理 事 件 来 通 知 脚 本 。 你 可 以 在 application.onConnect 处 理 事 件 中 使 用 application.acceptConnection()方法去接受来自客户端的连接。你也可以在 application.onConnect 处理 事 件外使用 application.acceptConnection()方法去接受处于被置于挂起状态的客户端连接(举个例子, 去验证用 户的名字和密 码)。当你使用组件而且你的代码包含外在的 application.acceptConnection()或者 application.rejectConnection 回复时,在 onConnect 处理事件的最后一行(按执行顺序)应该不是 application.acceptConnection()就是 application.rejectConnection()。同样,所有外在 accecptConnection 或者 rejectConnection 语句必须放在 application.onConnectAccept 和 application.onConnectReject 语句中,否则它将会被忽略。这个要求只有 你使用组件时才存在。 示例 下面的例子是用 application.acceptConnection()方法接受来自 client1的连接: application.onConnect = function(client1) { //这里可以插入代码 application.acceptConnection(client1); client1.call("welcome"); }; 注意:这个例子展示的代码是在没有使用组件的应用程序中 另请参见 Application.onConnect, Application.rejectConnection() Application.allowDebug 可用性 Flash Media Server 2 用法 Application.allowDebug 描述 属性;一个布尔值,允许管理员通过 approveDebugSession()服务器管理 API 可以或者不可以访问你的应用 程序。一个调试连接显示关于共享对象(shared object)和流(streams)的信息。 更多关于创建一个调试连接,查看 NetConnection.connect()和 approveDebugSession()。 Application.broadcastMsg() 可用性 FLash Media Server 2. 用法 application.broadcastMsg(cmd[,p1,p2,...pN]) 参数 cmd 一个字符串;要广播的消息 p1 一个字符串;附加的消息 返回 无 描述 方法;广播一条消息到所有连接的客户 这个方法等效于通过 Application.clients 数组的循环并为每个独立的用户调用 Client.call(),但是它更有效(特 别是针对大量客户端连接).唯一的区别是当你调用 broadcastMsg()时你不可以指定一个返回响应的对象。 共享对象可以通过 SharedObject.handlerName 属性来处理广播消息。 示例 下面是服务端的代码用来发送一个消息到客户端 application.broadcastMsg("handlderName", "Hello World"); 下面是客户端的代码用来捕获消息并显示到输出面板: nc = new NetConnection(); nc.handlerName = function(msg) {trace(msg); } //输出面{fms,url及串流码是什么}.

板显示 "Hello World" Application 类(2)Application.clearSharedObjects() 可用性 Flash Communication Server MX 1.0 用法 Apllicaion.clearSharedObjects(soPath) 参数 soPath 一个显示为共享对象 url 的字符串(the url of a shared object) 返回 布尔值;true 如果在指定路径中的共享对象被删除;否则为 flase;如果使用通配符来删除多个文件,该方法只有 当所有和通配符匹配的共享对象被成功删除时返回 true;否则返回 flase; 描述 方法;删除 soPath 参数指定的永久共享对象(FSO 文件)并且清除活动的共享对象(永久的和临时的)所有属 性。 soPath 参数指定共享对象的名称,在路径中该名称可以在目录之间包含正斜杠(/)作为分隔符。最后一个在路 径 中 的 元 素 可 以 包 含 通 配 符 ( 举 例 来 说 , 一 个 问 号 [?] 和 一 个 星 号 [*]) 或 者 共 享 对 象 的 名 字 。 application.clearSharedObjects()方法通过指定共享对象的层次来 清除所有的共享对象.只指定一个正斜杠 (/)将删除所有的和应用对象实例关联的共享对象. 如下是 soPath 参数的可能值: 1. / 清除所有和应用程序实例关联的本地和永久共享对象 2. /foo/bar 清除共享对象/foo/bar;如果 bar 是目录名字,将不会有共享对象被清除 3. /foo/bar/* 清除所有在应用程序实例目录/foo/bar 下的共享对象。 如果有临时共享对象在自己的命名空间使 用中,bar 目录也同样会清除 4. /foo/bar/xx?? 清除所有以 xx 为开头, 后面可以为两个任意字符的共享对象.如果一个目录的名字匹配这个 规范,在目录内部的所有共享对象将被清除 如果你调用 clearSharedObject()方法并且指定路径中匹配的共享对象正在活动中,它的所有属性将被清除, 并且一个"clear"事件将发往到所有该共享对象的订阅者。如果它是一个永久的共享对象,永久的存储也会被 删除。 示例 如下的例子清楚所有应用程序实例的共享对象 functin onApplicationStop() { application.clearSharedObjects("/"); } 另请参见 SharedObject.clear(); Application.clearStreams(); 可用性 Flash Communication Server MX 1.0 用法 application.clearStreams(streamPath); 参数 streamPath 一个显示流 URL 的字符串(the URL of a stream) 返回 一个布尔值;如果流在指定的位置被删除返回 true;否则为 flase。如果使用通配符来清除多个流文件,该方 法只有当所有和通配符匹配的流删除成功时返回 true;否则返回 false; 描述 方法;清除所有和应用程序实例相关联的录制流(FLV)文件和 MP3文件。你可以使用这个方法来清除单独的 流,所有和应用程序实例相关联的流,和那些指定应用程序实例子目录的流,也或者那些和通配符匹配的流 文件。 参数 streamPath 指定流的位置和名字,相对于应用程序实例的目录。你可以使用正斜杠(/)

来分割路径中的 目录. 路 径 中 的 最 后 一 个 元 素 可 以 包 含 通 配 符 ( 举 例 来 说 , 一 个 问 号 [?] 和 一 个 星 号 [*]) 或 者 为 流 的 名 字 。 application.clearSteams()方 法通过指定路径的流的层次来访问并且清楚所有的和通配符匹配的录制流。指 定一个正斜杠将清除所有和应用程序相关联的流。 要清除和应用程序相关联的 MP3文件,流文件的路径要以 mp3:开头(举例来说,mp3:/streampath)。缺省状 态下,application.clearStreams()方法只清除录制的 FLV 流文件。你可以直接通过在流路径前放入 flv:来显 式只删除 FLV 流文件。查看如下清除 FLV 和 MP3文件的部分例子。 如下的例子展示一些关于参数 streamPath 的可能值: 1. / 或者 flv:/ 清除所有和应用程序实例相关联的录制流(FLV) 2. /report 从应用程序实例目录中清除名为 report.flv 的录制流文件 3. /presentations/intro 从应用程序实例子目录 presentations 中清除名为 intro.flv 的录制流文件;如果 intro 是一个目录名称,将没有流被删除。 4. /presentations/* 从应用程序实例子目录 presentations 中清除所有的录制流文件。 /persentation 子目录如 果在自己命名空间中没被使用也同样被删除 5. mp3:/ 清除所有和应用程序实例相关联的 MP3文件 6. mp3:/mozart/requiem 从应用程序实例子目录/mozart 中清除名为 requiem.mp3的 MP3文件。 7. mp3:/mozart/* 从应用程序实例子目录/mozart 中清除所有的 MP3文件 8. /presentations/reprot?? 清除所有以"reprot"开头,后面为两个任意字符的录制流文件(FLV)。如果这里有 些目录同于给定的目录列表,匹配 report??目录中的任何 任何流将被删除。 任何 如果 application.clearStreams()方法在当前流文件录制时被调用, 录制文件将被设置为长度0(清除),并且内在 的缓存数据也被删除。 注意:你也可以使用服务器管理动作脚本 API 的 removeApp 方法来删除单个应用程序实例的所有资源。 示例 如下的例子清除所有的录制流: function onApplicationStop() { application.clearStream("/"); } 如下的例子从应用程序子目录/disco 中清除所有的 MP3文件: function onApplicationStop() { application.clearSteam("mp3:/disco/*"); }Application 类(3)Application.clients可用性 Flash Communication Server MX 1.0 用法 application.clients 描述 属性(read-only);包含所有当前连接到应用程序的 flash 客户端或其他 Flash Meida server 的一个对象。这 其他的 其他 个对象是自定义对象,有点像数组,但是它只有一个属性,length。每个在对象中的元素都指向客户端对象实 例,并且你可以使 用 length 属性去测定连接到应用程序的用户数量。你可以使用数组访问符([])通过 application.clients 来访问对象中的每个元素。 用于 clients 属性的对象

不是数组, 但是它具有相同的效果只是有一点区别: 你不可以使用下面的语法枚举对 象。 for(var i in application.clients){ //这里可以插入代码 } 相反,可以使用如下的代码循环访问在 clients 对象中的每个元素: for(var i = 0; i < application.clients.length; i++) { // 这里可以插入代码 } 示例 如下的例子是用 for 循环来访问在 application.clients 数组中的成员并且在每个客户端调用 serverUpdate 方 法: for( i = 0; i < application.clients.length; i++) { applicatin.clients.call("sererUpdate"); }Application 类(4)Application.onAppStart 可用性 Flash Communication Server MX 1.0 用法 application.onAppStart = function() {} 参数 无 返回 无 描述 处理事件; 当服务器第一次载入应用程序实例是调用。你可以用这个事件来初始化应用程序状态。你也可 以使用 application.onAppStart 和 application.onAppStop 来初始化和清除在应用程序中的全局变量, 因为在 应用程序实例的生命周期中这些事件仅仅调用一次。 示例 下面的例子为 application.onAppStart 事件定义一个匿名函数来发送一个 trace 消息: application.onAppStart = function() { trace("onAppStart called"); }; Application.onAppStop 可用性 Flash Communication Server MX 1.0 用法 application.onAppStop = function(info){} 参数 info 一个信息对象用来解释应用程序为什么停止运行 返回 通过你定义的函数来返回值,要么没有或 null。若拒绝卸载应用程序,返回 false.若卸载应用程序,返回 true 或者任何非 false 值。 描述 处理事件; 当相关的应用程序被服务器卸载时调用。当这个处理事件被调用时你可以自定义一个函数来执 行。如果函数返回 true,应用程序会卸载。如果函数返回 false,应用程序不会卸载。如果你没有为这个处理 事件自定义一个函数,或者返回的值不是一个布尔值,当处理事件调用时应用会被卸载。 Flash Meida 服务器应用程序传递一个信息对象到 application.onAppStop 事件中。你可以使用服务端动作 脚本来查看这个信息对象来决定在你自定义函数 该做什么。你同样可以自定义 application.onAppStop 事件 在关闭千去通知用户。 如 果 你 使 用 管 理 控 制 台 或者 服 务 器 管 理 动 作 脚 本 API 来 卸 载 Flash Meida Server 的 应 用 程 序 , application.onAppStop 不会被调用。那时你不能再使用 application.onAppStop 事件,举 个例子,你可以告 诉用户应用程序已经存在。 示例 下面的例子定义一个函数来完成关闭应用程序操作。这个函数然后被赋予处理事件,那么当事件被调用时它 就会执行。 function onMyApplicationEnd(info){ //DO all the application-specific shutdown logic here. } application.onAppStop = onMyApplicationEnd; Application.onConnect 可用性 Flash Communication Serve

r MX 1.0 用法 application.onConnect = function(clientObj[, p1, ..., pN]){} 参数 clientObj 一个客户对象。连接到应用程序的客户 p1..., pN 传递到 application.onConnection 事件的参数。当一个客户连接到应用程序时这些参数从客户端的 etConnection.connect 事件传递过来。 返回 你 提供的值。如果你返回一个 true 布尔值,服务器将接受连接;如果值为 false,服务器将拒绝连接。如果 你放回 null 或没有返回值,服务器将把客户放 到挂起状态并且客户端不可以接受或者发送消息。如果客户 端被放置到挂起状态,你必须调用 application.acceptConnection()或 者 application.rejectConnection()在以 后的时间里用来接受或拒绝连接。举个例子,你可以在你的 application.onConnect 处理事件中通过一个 NetConnection 会 话 来 为 应 用 程 序 服 务 器 执 行 一 个 外 部 的 验 证 而 且 你 有 个 回 复 事 件 application.acceptConnection()或者 application.rejectConnection(),并且依靠从回复 事件接受信息。 你 同 样 可 以 在 application.onConnect 处 理 事 件 中 调 用 application.acceptConnection 或 者 application.rejectConnection。如果你调用了,任何通过函数的返回值将被忽略。 注意: 返回 1 或者 0 不同于返回 true 或者 flase。 值1和0将和其他数值一样对待并且不会接受或拒绝一个 连接。 描述 事件处理;当 NetConnection.connect 在客户端被调用并且客户尝试去连接一个应用程序时该事件将在服务 端调用。 你可以为 application.onConnect 处理事件定义一个函数。如果你不定义一个函数,默认情况下连接将被接 受。如果服务器接受一个新的连接,application.clients 对象将会被更新。 你 可以在服务端脚本中使用 application.onConnect 事件来执行验证。所有准备验证的信息应该被当作客户 端的参数(p1,...,pN)传 送到服务器。在随后的验证中,脚本可以设置访问所有服务端对象的权限(通过修改 Client.readAccess 和 Client.writeAccess 属性来设置)。 如果这里有几个同时连接到应用程序的请求,服务器连续的 响应请求结果再同一时间只有一个 application.onConnection 事件被执行。一个好的方法是为 application.onConnection 函数写一些代码,以 快速的处理用来预防客户的较长的连接时间。 注 意:如果你使用 framework 组件(也就是,你在你的服务端脚本文件中载入你 components.asc 文件)你必 须 使 用 Application.onConnectAccept 方 法 去 接 受 客 户 的 连 接 。 更 多 信 息 请 查 看 调用Application.onConnectAccept. 示例 如下例子展示了 onConnect 事件的三种基本用法: (用法1) application.onConnect = function(clientObj[, p1, ..., pN]) { //在这里插入验证客户的方法 //返回 null 使客户端处于挂起状态 return null; } (用法2) ap

篇四:《FMS3.5开发指南》

FMS3.5开发指南

第一章:入门

1、服务器版本

FMS为构建富媒体应用提供流媒体和交互式服务,如即时开始、直播视频流和基于用户带宽的各种流速率。FMS有三个不同的版本:

(1)flash media interactive server:功能最全;

(2)flash media development server:FMIS的开发版本,限制连接数;

(3)flash media streaming server:仅仅支持直播和点播服务,不能改写服务器端代码和录制流。

2、FMS概述

应用程序通过rtmp协议连接到FMS,服务器可以向已连接的用户发送数据,也可以从已连接的用户获取数据,比如用户可以用摄像头向服务器推流,然后世界各地的用户都能观看到服务器上的视频流,FMS还能用来开发网络游戏。

客户端-服务器端结构:客户端的应用程序可以用flash或者flex来开发,它能捕获音视频和与用户交互,服务器端的应用程序在服务器上运行,它管理用户连接和授权等。 一个典型的FMS应用程序包括以下几个部分:客户端用户界面、客户端AS代码、视频或音频文件、摄像头或麦克风和服务器端AS代码。

3、配置开发环境

安装FMS,Flash或flex。

4、创建“Hello World”应用程序(sample1:Hello World)

这是一个客户端与服务器连接的小例子,实现的功能是:用户端有一个按钮和label,当按钮的text为connect时,点击按钮,label中显示“Hello, World! ”,按钮的text

变为disconnect,再次点击按钮,label中的内容清空。

实现过程:点击connect时,客户端先通过NetConnection与服务器建立连接,连接成功后,用call()调用服务器端的serverH