Wowza® Media Systems 使用配置手册。
准备
1,先安装Java:http://www.java.com/zh_CN/
2,官网下载安装:http://www.wowza.com/pricing/installer ,需要输入用户名邮箱等信息获得一个试用版激活码
3,下载Eclipse:https://www.eclipse.org/downloads/ ,可选,如果你不需要服务端编码进行权限控制等操作可以不要
4,网页播放器,flowplayer:http://flash.flowplayer.org/download/ ,支持流媒体的flash播放器
安装(Windows下)
装完Java之后,直接安装第二步下载的文件,中间会要你输入序列号,到下载的时候你填的邮箱里面找就可以了(如果你能自己激活,请联系我);还要输入用户名和密码,是安装完成之后的进入管理控制台的账号,要记着。
安装完成之后应该会自动打开管理控制台(web版,类似于路由器的管理员界面),地址一般是 http://localhost:8088
启动和停止
安装目录:/Wowza Streaming Engine 4.0.1/bin/下,shutdown.bat是关闭服务,startup.bat是启动服务,需要注意,启动服务之后需要检查服务【WowzaStreamingEngine401】是否启动了,如果没有要手动启动该服务。
启动之后就可以进入管理控制台:http://localhost:8088 预览默认的application,有两个 一个是live,另一个是vod,可以看到相关的播放代码,这里就不贴图了。
播放端口
一般刚刚装好时播放端口是1935好像,可以去【安装目录/Wowza Streaming Engine 4.0.1/conf/VHost.html 】里面改 <Port>节点,改完重启就可以了。
新建Application
这里Application类似一个网站,一个配置文件对应一个Application。
1,通过控制台新建Application
进入http://localhost:8088 切换到Application标签,点击新建,输入名字就可以快速创建一个Application。创建完成后进入编辑页面,相关选项就不细解释了,就是直播、点播、视频格式等选项,最重要的 是Content Directory 项,这里表示你要把这个Application的相关视频文件放到哪个目录下,之后你的相关的视频文件都要放进去。
2,通过资源管理器新建Application
进入【安装目录/Wowza Streaming Engine 4.0.1/conf/】新建一个文件夹,最好是个英文名吧,中文的我没试过,不确定,然后拷贝con/vod下面的Application.xml文件进来就可以了。
要改相关配置的话可以打开Application.xml文件修改。完成之后重启就行了。
Application.xml
几个常用的修改选项:
AllowDomains 节点:域控制。
StorageDir节点:就是控制台里面的Content Directory,用来存放相关视频文件的目录。
Modules节点:用来为当前Application增加服务端HttpModule处理类(java)。
网页播放
服务端做好之后就可以在自己的网站里面使用播放器播放了,这里我们暂且使用flowplayer提供的播放器插件。
播放磁盘文件:http://flash.flowplayer.org/plugins/streaming/httpstreaming.html
通过查看http://localhost:8088的 TestPlayers 可以看到各种不同的播放路径,这里我们使用Adobe HDS,上一行的链接里面有详细的说明,这里只展示一下核心代码:
<a id="httpstreaming" style="display: block; width: 660px; height: 350px;"></a>
<script type="text/javascript">
flowplayer("httpstreaming", "/flowplayer-3.2.18.swf", {
plugins: {
f4m: {
url: "/flowplayer.f4m-3.2.10.swf",
dvrBufferTime: 12,
liveBufferTime: 12
},
httpstreaming: {
url: "/flowplayer.httpstreaming-3.2.11.swf"
}
},
clip: {
url: "http://videoplayer.jackz.cc:8999/vod/mp4:jack_trainer.mp4/manifest.f4m?jack&zhang",
urlResolvers: ['f4m'],
provider: 'httpstreaming',
autoPlay: false
}
});
</script>
第一行是一个占位,规定了播放器的尺寸等信息,还可以放一个背景图,万一网页出现问题,不至于太悲观。
第15行是你的视频地址,结尾处的参数是用来在HttpModule里面写代码控制权限用的,如果不需要可以不写。
至于其他的参数意思以及更多API可以去看文档
还有一个RTMP的播放和这个差不多,请自己看文档
HttpModule(服务端代码)
刚才说了防盗链可以使用域控制 ,但是系统内的权限控制就需要自己写相关代码了。
1,打开安装目录:/Wowza Streaming Engine 4.0.1/lib 这里都是他的默认的一些包,稍后我们写的也要放到这里。
2,打开Eclipse,新建Java项目(com.company.project.video),引用刚才那个目录下的三个外部包:wms-server.jar, wms-core.jar, log4j-1.2.17.jar
3,新建类,比如叫Authorize.java
4,继承ModuleBase
5,实现相关方法,例如我这里使用的是httpstreaming播放的,就实现onHTTPSessionCreate方法,那么每次对服务器的请求都会进入这个类过滤。
代码如下:
package facn.sunnet.lmt; import com.wowza.wms.amf.AMFDataList;
import com.wowza.wms.application.IApplicationInstance;
import com.wowza.wms.client.IClient;
import com.wowza.wms.httpstreamer.model.IHTTPStreamerSession;
import com.wowza.wms.module.ModuleBase;
import com.wowza.wms.request.RequestFunction; public class Authorize extends ModuleBase {
public void onAppStart(IApplicationInstance appInstance)
{
getLogger().info("zzjj 8 onAppStart: ");
String fullname = appInstance.getApplication().getName() + "/"
+ appInstance.getName(); getLogger().info("zzjj 8 onAppStart: " + fullname); } public void onConnect(IClient client, RequestFunction function, AMFDataList params)
{
getLogger().info("zzjj 8 onConnect");
} static public void onConnectAccept(IClient client)
{
getLogger().info("zzjj 8 onConnectAccept: ");
} static public void onConnectReject(IClient client)
{
getLogger().info("zzjj 8 onConnectReject: " );
} static public void onDisconnect(IClient client)
{
getLogger().info("zzjj 8 onDisconnect: " );
} public void onHTTPSessionCreate(IHTTPStreamerSession httpSession)
{
boolean isGood = true;
String queryStr = httpSession.getQueryStr() + "";
String[] auths = queryStr.split("&");
String streamName = httpSession.getStreamName();
getLogger().info("zzjj 8 " + queryStr);
getLogger().info("zzjj 8 ModuleAccessControlHTTPStreaming.onHTTPSessionCreate["+streamName+"]: checking");
if(auths != null && auths.length == 2)
{
if(streamName.indexOf(auths[0])!=0)
isGood = false;
}
else
{
isGood = false;
} getLogger().info("zzjj 8 ModuleAccessControlHTTPStreaming.onHTTPSessionCreate["+streamName+"]: accept:"+isGood); if (!isGood)
httpSession.rejectSession();
} }
第43行开始是核心代码,这里实现的逻辑是:只能观看以传入的用户名开始的文件;否则不允许。
6,导出JAR包,比如我这里导出的就是com.company.project.video.jar
7,拷贝JAR包到 安装目录:/Wowza Streaming Engine 4.0.1/lib 下
8,打开要应用权限控制的Application的Application.xml文件,跳转到Modules节点,增加一个子节点:
<Module>
<Name>Authorize</Name>
<Description>Check if user has authority to access current file.</Description>
<Class>com.company.project.video.Authorize</Class>
</Module>
这样,每个网络请求都会进入你的Module进行过滤。
相关的日志会输出到【安装目录:/Wowza Streaming Engine 4.0.1/logs】下面,可以查看你的调试信息。
其他补充
Wowza 中文论坛:http://www.wowza.cn/ 里面也有相关教程以及说明。
本人也是昨天才刚刚接触这个东西,搞了半天终于知道怎么回事了,Mark一下,有误之处 欢迎指正。
Wowza® Media Systems 使用配置手册。的更多相关文章
- Webpack 5 配置手册(从0开始)
针对新手入门搭建项目,Webpack5 配置手册(从0开始) webpack安装顺序 1. `npm init -y`,初始化包管理文件 package.json 2. 新建src源代码目录 3. 新 ...
- Varnish缓存服务器的搭建配置手册
Varnish缓存服务器的搭建配置手册 1.Varnish官方环境依赖提示 Installing Varnish Cache is as simple as enabling our package ...
- Ubuntu_10.04下Hadoop-0.20.2集群配置手册
Ubuntu_10.04下Hadoop-0.20.2集群配置手册 一.软硬件环境的准备 下面的文章来自hadoopor.com,我先交待一下我自己的环境: 两台机器,每台机器上面两个虚机(vmware ...
- nginx1.9.4 +php 5.5.29+yii2.0配置手册
nginx1.9.4 +php 5.5.29+yii2.0配置手册 目录 一. php5.5.29安装配置 2 二. nginx1.9.4安装配置 2 三. yii2.0 ...
- QC邮件转发工具Mail Direct安装配置手册
QC邮件转发工具Mail Direct安装配置手册 2010-06-11 10:00:56| 分类: 软件测试 | 标签: |举报 |字号大中小 订阅 QC邮件转发工具安装配置手册 由于公司没有独立的 ...
- Nginx+Tomcat+MemCached 集群配置手册
系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目 录 第1章 概述 1.1 目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架 ...
- Git 安装配置手册
Git 安装配置手册 首先我们要了解 Git 是类似于 SVN 用来管理项目的 首先要先下载 Git ,这个东西相当于一个核,是该功能的核心 下载地址(<https://gitforwindow ...
- 网站 HTTP 升级 HTTPS 完全配置手册
网站 HTTP 升级 HTTPS 完全配置手册 今天,所有使用Google Chrome稳定版的用户迎来了v68正式版首个版本的发布,详细版本号为v68.0.3440.75,上一个正式版v67.0.3 ...
- 泛微云桥e-birdge之金蝶云之家集成配置手册
最近在配置金蝶云之家与泛微ecology的打通,没有看官方文档,直接配置,一直配置不通,看了官方文档后知道了少配置参数了,转载一下,省得四处去找了. 泛微云桥e-birdge之金蝶云之家集成配置手册 ...
随机推荐
- 关于Ubuntu运行级别、开机启动脚本的说明
关于Ubuntu运行级别.开机启动脚本的说明 目录简介 1.1介绍Ubuntu下面的自启动脚本目录 1.2 Linux操作系统运行级别的概念 1.3关于操作系统自启脚本的启动顺序 1.4 Lin ...
- ssh(sturts2_spring_hibernate) 框架搭建之hibernate2
一.今天要进行解答的是对上次hibernate1进行进一步的完善,这次第一是进一步使用spring注入一个SessionFactory实例,避免了自己new实例:第二是应用数据库池(c3p0). 二. ...
- 【WP8.1开发】认识后台任务
在手机上,使用后台,不像电脑上那么随意,准确地讲嘛,在移动平台上,后台任务都有严格的限制.至于说为什么会有这么多限制,我估计初衷很明显——保证系统的性能不受某个或某几个应用的负面影响:另外就是出于安全 ...
- IO流-文本IO\读写二进制数据
文本IO 一.简述 OutputStreamWriter类使用选定的编码方式吧Unicode字符流转换为字节流,InputStreamReader类将包含字节的输入流转为可以产生Unicode字符的读 ...
- java简单词法分析器(源码下载)
java简单词法分析器 : http://files.cnblogs.com/files/hujunzheng/%E7%AE%80%E5%8D%95%E8%AF%8D%E6%B3%95%E5%88%8 ...
- [Qt5] Develop openCV3 by QML on Qt-creator
QML的酷炫控件,适合移动设备开发. qt-creator的跨平台是QML与opencv的粘合剂. 关键: QImage有若干种格式,转化为相应的Mat. Mat处理完后,还要正确得还原为原来格式的Q ...
- CSS SANS – 神奇!使用 CSS3 创建的字体
在我们的认识中,CSS 所能做的就是改变网页的排版布局,调整字间距等.然而,这里我们要介绍的则是使用 CSS3 制作字体.CSS SANS 可以通过 CSS 技术创建的A-Z字体,一起来围观下. 在线 ...
- Hibernate的session一级缓存
一级缓存是Session周期的,当session创建的时候就有,当session结束的时候,缓存被清空 当缓存存在的时候,每次查询的数据,都会放在缓存中,如果再次查询相同的数据,则不会再次查询数据库, ...
- JS魔法堂:ASI(自动分号插入机制)和前置分号
一.前言 今晚在知乎看到百姓网前端技术专家——贺师俊对<JavaScript 语句后应该加分号么?>的回答,让我又一次看到大牛的风采,实在佩服万分.但单纯的敬佩是不足以回报他如此优秀的文字 ...
- Android Studio快捷键每日一练(1)
原文地址:http://www.developerphil.com/android-studio-tips-of-the-day-roundup-1/ 1.高亮显示相同的字符串 苹果:Cmd+shif ...