CPU |
Intel(R) Core(TM)2 Quad CPU Q9300 @ 2.50GHz |
内存 |
8GB |
硬盘 |
80GB |
网卡 |
Atheros Communitions PCI-E Gigabit Etherent Controller (NDIS 6.20) |
操作系统 |
RHEL6.4_x86_64 |
Media Server |
WowzaMediaServer-3.6.2(试用版) |
Media Client |
Firefox; ffplay; VLC Player |
Wowza Server可以单独部署在一台服务器上,也可以作为集群环境部署到多台服务器上。本次仅简单部署到一台机器上。
下载地址:http://www.wowza.com/pricing/installer。
下载的文件为:WowzaMediaServer-3.6.2.rpm.bin
对于Wowza Server试用版,在Wowza官方网站上申请一个30天试用版本的License Key即可。地址:http://www.wowza.com/pricing。
Wowza Media Server 3.5 是一个基于Java 6 (也就是 1.6) 和Java 7 (也就是 1.7)的应用程序,需要先安装Java Runtime Environment (JRE) 6 或以上版本。如果要开发服务端应用, 那就需要先安装Java Development Kit (JDK) 6或以上版本。服务器也实现了Java Management Extensions (JMX) 接口,用于对服务器进行管理和监控。JConsole是一个很流行的JMX控制台,它被包含在JDK中。
因此,这意味着什么呢?如果你想要开发服务端应用或监控一个本地或远程的Wowza Media Server,你必须先安装JDK version 6 (也就是 1.6)或更高版本。如果你仅仅是部署Wowza Media Server用于使用,那么你只需要安装JRE version 6 (也就是1.6) 或更高版本。 我们推荐你为自己的平台安装最新的Java JDK 或JRE版本。如果你使用的是64位操作系统,请确认也选择64位的Java安装包。
你可以从Oracle的官网下载Java?。
如果你需要验证是否已经正确地安装并运行了Java 6 (也就是 1.6) 或Java 7 (也就是 1.7),你可以打开命令行提示窗口,并输入以下命令:
java -version
如果Java已经被正确的安装和配置,系统会返回一个等于或大于1.6的版本号。
直接执行解压出来的文件就可以进行安装了:./WowzaMediaServer-3.6.2.rpm.bin(如果提示没有权限执行的话,为其加上可执行权限:chmod +x WowzaMediaServer-3.6.2.rpm.bin)。
[root@yuanhuan install_softwares]# ./WowzaMediaServer-3.6.2.rpm.bin WOWZA MEDIA SOFTWARE END USER LICENSE AGREEMENT ("EULA") VERSION 3.6 NOTICE: BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY THE TERMS OF THIS EULA. IF YOU DO NOT AGREE TO THE TERMS OF THIS EULA, YOU MAY NOT DOWNLOAD, INSTALL, COPY OR USE THE SOFTWARE. "YOU" MEANS (1) THE NATURAL PERSON OR THE ENTITY THAT IS AGREEING TO BE BOUND BY THIS EULA; (2) YOUR EMPLOYEES AND THIRD PARTY CONTRACTORS THAT PROVIDE SERVICES TO YOU; AND (3) ANY OF YOUR CUSTOMERS USING THE SOFTWARE OR ANY SERVICE BASED UPON THE SOFTWARE, AS PERMITTED IN THIS AGREEMENT. YOU SHALL BE LIABLE FOR ANY FAILURE BY SUCH EMPLOYEES, THIRD PARTY CONTRACTORS OR CUSTOMERS TO COMPLY WITH THE TERMS OF THIS EULA. THIS EULA IS ENFORCEABLE AGAINST ANY PERSON OR ENTITY THAT DOWNLOADS, INSTALLS, COPYS OR USES THE SOFTWARE AND ANY PERSON OR ENTITY THAT DOWNLOADS, INSTALLS, COPYS OR USES THE SOFTWARE ON ANOTHER PERSON?S OR ENTITY?S BEHALF. YOU AGREE THAT THIS EULA IS LIKE ANY WRITTEN NEGOTIATED AGREEMENT SIGNED BY YOU. 1. DEFINITIONS 1.1 "AddOn" means any one (1) of the additional software features offered by Wowza as more fully described in the applicable documentation for such features. 1.2 "Channel" means one (1) unique media stream for input into one (1) unique Instance of the Software. 1.3 "Concurrent Connections" means the total number of simultaneous connections to the Software. Do you agree to the above license terms? [yes or no] yes Preparing... ########################################### [100%] 1:WowzaMediaServer ########################################### [100%] Install Location: /usr/local/WowzaMediaServer To enter license key: cd /usr/local/WowzaMediaServer/bin ./startup.sh |
此安装是采用rpm方式安装的,所有配置都是采用默认的。
按照提示执行startup.sh脚本:
cd /usr/local/WowzaMediaServer/bin ./startup.sh |
首次执行,会提示输出License key:
[root@yuanhuan install_softwares]# cd /usr/local/WowzaMediaServer/bin/ [root@yuanhuan bin]# ./startup.sh Configure logging: file:///usr/local/WowzaMediaServer/conf/log4j.properties Please enter your License Key in this format: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX[-XXXXXXXXXXXX] SVRT3-xmE4t-rTB9a-f93VB-ZGvek-dDwE9-7QVEVQxhdFFa INFO server server-start Wowza Media Server 3 Trial Edition (Expires: 八月 17, 2013) 3.6.2 build5334 - INFO server comment - Server License Key: SVRT3-XXXXX-XXXXX-XXXXX-XXXXX-dDwE9 INFO server comment - Maximum Connections: Unlimited INFO server comment - Transcoder Streams Available: Unlimited INFO server comment - Transcoder Watermark: Yes INFO server comment - nDVR Available: Yes INFO server comment - DRM Available: Yes INFO server comment - Hardware Available Processors: 4 INFO server comment - Hardware Physical Memory: 6537MB/7966MB INFO server comment - Max File Descriptor Count: 20000 INFO server comment - Open File Descriptor Count: 52 INFO server comment - OS Name: Linux INFO server comment - OS Version: 2.6.32-358.el6.x86_64 INFO server comment - OS Architecture: amd64 INFO server comment - Java Name: OpenJDK 64-Bit Server VM INFO server comment - Java Vendor: Oracle Corporation INFO server comment - Java Version: 1.7.0_09-icedtea INFO server comment - Java VM Version: 23.2-b09 INFO server comment - Java Spec Version: 1.7 INFO server comment - Java Home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre INFO server comment - Java Max Heap Size: 1066MB INFO server comment - Java Architecture: 64 INFO server comment - Java Locale[user.language]: zh INFO server comment - Java Locale[user.country]: CN INFO server comment - Java Locale[file.encoding]: UTF-8 INFO server comment - Java Timezone[user.timezone]: Asia/Shanghai INFO server comment - Java Args[0]: -Xmx1200M INFO server comment - Java Args[1]: -Djava.net.preferIPv4Stack=true INFO server comment - Java Args[2]: -Dcom.sun.management.jmxremote=true INFO server comment - Java Args[3]: -Dcom.wowza.wms.runmode=standalone INFO server comment - Java Args[4]: -Dcom.wowza.wms.native.base=linux INFO server comment - Java Args[5]: -Dcom.wowza.wms.AppHome=/usr/local/WowzaMediaServer INFO server comment - Java Args[6]: -Dcom.wowza.wms.ConfigURL= INFO server comment - Java Args[7]: -Dcom.wowza.wms.ConfigHome=/usr/local/WowzaMediaServer INFO server comment - Server runmode: standalone INFO server comment - Server native.platform: linux INFO server comment - Server threads[h/t]: 10/10 INFO server comment - CMDInterface now listening: [any]:8083 INFO vhost vhost-start _defaultVHost_ - INFO server comment - _defaultVHost_ threads[h/t]:120/80 home:/usr/local/WowzaMediaServer INFO vhost comment _defaultVHost_ Bind attempt ([any]:1935:4) INFO vhost comment _defaultVHost_ Bind successful ([any]:1935) INFO vhost comment _defaultVHost_ Bind attempt ([any]:8086:1) INFO vhost comment _defaultVHost_ Bind successful ([any]:8086) INFO server comment - Server.startShutdownHook: Start server shutdown hook INFO server comment - Wowza Media Server is started! |
以root用户登录Linux系统,执行如下命令:netstat -anp |grep "LISTEN "检查端口号。
[root@yuanhuan WowzaMediaServer]# netstat -anp |grep "LISTEN " tcp 0 0 0.0.0.0:1935 0.0.0.0:* LISTEN 6024/java tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1660/rpcbind tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 6024/java tcp 0 0 0.0.0.0:8086 0.0.0.0:* LISTEN 6024/java tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1932/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1781/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2015/master tcp 0 0 0.0.0.0:46878 0.0.0.0:* LISTEN 6024/java tcp 0 0 0.0.0.0:57415 0.0.0.0:* LISTEN 1678/rpc.statd tcp 0 0 :::111 :::* LISTEN 1660/rpcbind tcp 0 0 :::22 :::* LISTEN 1932/sshd tcp 0 0 ::1:631 :::* LISTEN 1781/cupsd tcp 0 0 ::1:25 :::* LISTEN 2015/master tcp 0 0 :::58145 :::* LISTEN 1678/rpc.statd |
红色部分表示Wowza Server所监听的端口号都启起来了。
执行如下命令检查Wowza Server启动的进程:ps -ef |grep java。
[root@yuanhuan WowzaMediaServer]# ps -ef |grep java root 6024 6022 1 13:11 pts/4 00:00:17 java -server -Xmx1200M -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote=true -Dcom.wowza.wms.runmode=service -Dcom.wowza.wms.native.base=linux -Dcom.wowza.wms.AppHome=/usr/local/WowzaMediaServer -Dcom.wowza.wms.ConfigURL= -Dcom.wowza.wms.ConfigHome=/usr/local/WowzaMediaServer -cp /usr/local/WowzaMediaServer/bin/wms-bootstrap.jar com.wowza.wms.bootstrap.Bootstrap start |
执行chkconfig --list |grep -i rmserver进行检查:
[root@yuanhuan AMS_5_0_1_r1076]# chkconfig --list |grep -i WowzaMediaServer |
可以发现,此命令是没有输出的,说明Wowza Server没有注册成为Linux服务。此时可以执行下面的命令注册为Linux 服务:
chkconfig --add WowzaMediaServer chkconfig --level 345 WowzaMediaServer on |
Wowza Server自带了一个样例,地址为rtmp://10.120.112.35:1935/vod/mp4:sample.mp4,可以将其在播放器里面进行播放以进行测试。
Linux/Unix平台上的启动:
打开命令Shell,输入如下命令:
命令:
cd /usr/local/WowzaMediaServer/bin
./startup.sh
Linux/Unix平台上的停止:
打开命令Shell,输入如下命令:
命令:
cd /usr/local/WowzaMediaServer/bin
./shutdown.sh
注意: 当Wowza Media Server 正在以单独模式运行时,服务器不会返回命令提示状态,而是会向控制窗口输出日志、警告、错误信息。当Wowza Media Server准备好可以随时接收流媒体连接请求时,它将会输出一句日志 INFO server comment - Wowza Media Server is started!
执行下面的命令进行Wowza Server的启动、停止、重启:
service WowzaMediaServer start/stop/restart |
Wowza Media Server 3.5将日志文件写在[install-dir]/logs目录下。默认的Logging级别(INFO)可以用于监控并辅助解决大部分故障问题,同时它对服务器增加了少许压力。当需要解决一些故障问题时,你可能会需要临时打开debug级别的日志(将会大大增加输出的日志信息量)。如果要这么做,请用文本编辑器打开[install-dir]/conf/log4j.properties文件,将第一行的日志级别从INFO改为DEBUG。由于Debug级别的日志会增加对服务器的压力,因此它不能被用于正式商用环境。
Wowza Media Server 3.5的默认配置是面向开发场景的。如果Wowza Media Server 将被用于商业运行环境,你必须对服务器进行调优。要获得最新的调优操作指导,请参阅网上的性能调优文档。
Wowza Media Server 3.5 使用Java Management Extensions (JMX)和JConsole 用于服务的管理和监控。JMX是用于管理基于Java的服务器的协议。JConsole是一个附带在Sun Java Development Kit (JDK)中的应用,使用JMX协议管理基于Java的服务器。
在Wowza Media Server中启用JMX
要启动JMX接口,你必须修改配置文件[install-dir]/conf/Server.xml中的配置。用文本编辑器打开Server.xml,找到下面几行:
Code:
<Root> <Server> <JMXRemoteConfiguration> <Enable>false</Enable> <IpAddress>localhost</IpAddress> <RMIServerHostName>localhost</RMIServerHostName> |
将Enable的设置改为true。
将IpAddress和RMIServerHostName的设置改为Wowza Media Server 的IP地址。如果在本地运行Wowza Media Server,就保留为localhost即可,但是,加入它是一个远程的server, 将他设置的这个Server的IP。 你可以使用域名。
Code:
<Root> <Server> <JMXRemoteConfiguration> <Enable>true</Enable> <IpAddress>localhost</IpAddress> <RMIServerHostName>localhost</RMIServerHostName> |
如果服务器处于NAT(network address translation) 防火墙后面,那么IpAddress 必须设置为私有IP地址(或 localhost) 并且 RMIServerHostName 应该被设置为外网IP地址,如下所示:
Code:
<Root> <Server> <JMXRemoteConfiguration> <Enable>true</Enable> <IpAddress>[internal-ip-address]</IpAddress> <!-- 如果在防火墙后面,则设置为localhost或私有IP地址 --> <RMIServerHostName>[external-ip-address]</RMIServerHostName> <!-- 如果在防火墙后面,则设置为外网地址或域名 --> |
重启Wowza Media Server,打开访问日志([install-dir]/logs/wowzamediaserver_access.log), 检查开始几行。找到JMX bind attempt后面跟着一个service URL。例如:
Code:
service:jmx:rmi://localhost:8084/jndi/rmi://localhost:8085/jmxrmi
-或-
Code:
service:jmx:rmi://[wowza-ip]:8084/jndi/rmi://[wowza-ip]:8085/jmxrmi
用JConsole连接Wowza Media Server
JConsole包含在Sun JDK中。如果你还没有它,请安装最新的JDK,就会在[java-install-dir]/bin/JConsole.exe找到JConsole。
如果Wowza Media Server被安装在Windows 或 Mac OS X 平台上,你可以使用Wowza Media Server 3.5.2的程序组中的JConsole Startup启动JConsole。
JConsole打开后,点击Remote Process,在输入框中输入Service URL,输入用户名admin 和 password admin,然后点击Connect按钮。
当第一次连接上时,你将会看到一个显示内存和CPU占用率的图形。在MBean tab, 展开WowzaMediaServerPro节点可有查看所有适用于JConsole和JMX接口的属性和操作。
不是所有的Wowza objects都会被默认的包含进去。你可以到/conf/Server.xml /AdminInterface /ObjectList,以及上面的注释看一下。ObjectList定义了可以被JConsole监控的对象,上面的注释列出了所有可用的对象。你可以增加 Client 和 MediaStream 对象,例如,如果你想在JConsole看到更详细的信息,你必须在修改Server.xml后重启Wowza Media Server。
将北京遇上西雅图视频片段beijing5-360p.mp4文件上传到Wowza安装目录的Content/下,那么发布出来的视频地址将会是:rtmp://10.120.112.35:1935/vod/mp4:beijing5-360p.mp4。
将北京遇上西雅图视频片段beijing5-360p.flv文件上传到Wowza安装目录的Content/下,那么发布出来的视频地址将会是:rtmp://10.120.112.35:1935/vod/flv:beijing5-360p.flv。
将音频文件4b.mp3文件上传到Wowza安装目录的Content/下,那么发布出来的视频地址将会是:rtmp://10.120.112.35:1935/vod/mp3:4b.mp3。
视频发布之后,就可以播放了,播放器可以有多重选择,ffplay、VLC都可以。Wowza本身自带了一个播放器HTML页面:Wowza安装目录下的examples/LiveVideoStreaming/FlashHTTPPlayer/player.html。
在Firefox里面输入:file:///usr/local/WowzaMediaServer-3.6.2/examples/LiveVideoStreaming/FlashHTTPPlayer/player.html,打开这个页面。在Stream里面输入上述发布的视频地址,点击后面的“Connection”,就可以进行播放了。
播放过程中还可以使用JConsole进行监控。首先按照前面介绍的JConsole管理和监控的步骤,在日志文件中找到jmxrmi的服务地址,本例中为:service:jmx:rmi://localhost:8084/jndi/rmi://localhost:8085/jmxrmi。执行jconsole命令,弹出JConsole的窗口,在其中的“远程进程”下面填写jmxrmi地址以及用户名密码(admin/admin),然后点击连接按钮。
说明:如果JConsole和Wowza服务是在同一台Linux系统中的话,可以直接在JConsole中选择本地连接中的wowza服务进行连接即可。
接下来将会出现JConsole的监控概述界面:
选择MBean,查看Wowza的状态:
1. http://www.wowza.cn/forums/content/3-quick-start-guide#installJava;
2. http://www.wowza.com/media-server/documentation;
本文出自 “烟花易冷” 博客,转载请与作者联系!