Rootop 服务器运维与web架构

2015-03-02
发表者 Venus
Adobe Http Dynamic Streaming的简单配置与实现 (FMS, HLS, HDS)已关闭评论

Adobe Http Dynamic Streaming的简单配置与实现 (FMS, HLS, HDS)

Adobe的Http Dynamic Streaming简称HDS是针对苹果的HLS方案提出基于HTTP的流媒体传输方案,基于其方案说明,它既能支持HTTP也能支持RTMP,既能支持点播(VOD),也支持直播。 因此配了一下此方案,过程如下:

服务器环境:
WindowsServer2008R2,这里没用linux,因为在测试时候linux为云主机,某些系统部分可能因为运营商修改的原因无法使用。

软件环境:
Adobe Media Server5_x64 下载地址:http://download.macromedia.com/pub/adobemediaserver/5_0_7/AdobeMediaServer5_x64.exe
OSMF Simple Player For Http Dynamic Streaming 下载地址: http://www.osmf.org/downloads/OSFMPlayer_zeri2.zip   最好用迅雷云加速下载

说一下,在adobe中流媒体版本5之前,比如4.5,名字叫FMS,在版本5之后叫AMS

安装配置过程:

1)安装AMS5,根据提示,基本都是下一步。安装自带的apache,端口部分默认。

创建一个管理用户并记住密码 这个地方需要注意记住设置的账户和密码

直至完成

2) 下载安装OSMF Simple Player,将下载到的Player解压并放到:C:\Program Files\Adobe\Adobe Media Server 5\webroot\OSFMPlayer 目录中

3) 配置:

3.1) 默认情况下,FMS4.5监听80端口接收traffic然后传递给Apache的8134端口(FMS自带的Apache被配成了监听8134端口),这个传递过程在高网络负载下会带来性能的问题。因此,做以下配置来解决这个问题。

修改 安装目录\conf\fms.ini, 将其中的ADAPTOR.HOSTPORT = :1935,80一行,改为ADAPTOR.HOSTPORT = :1935 不让FMS监听80端口;

同时,将其中 HTTPPROXY.HOST = :8134 一行,改为: HTTPPROXY.HOST =

这样便去掉了以上的代理转发过程。(在FMS4.5中需要修改,AMS5中已经为这样了)

3.2) 安装目录\Apache2.2\conf\httpd.conf文件中的 Listen 8134 一行改为80 (在FMS4.5中需要修改,AMS5中已经为监听80端口)

3.3) HTTP Origin Module 不用配置,FMS4.5和AMS5版本自带安装的Apache都已经配置好了这些支持Http Dynamic Streaming的模块,主要用于点播和直播时下发流媒体数据到观看端;

3.4) 找一个装有摄像头的电脑用于直播视频编码端,安装Flash Media Live Encoder 3.2 :

修改 Encoder 安装目录\Conf下面的config.xml文件,修改红色部分, 把”false” 改为 “true”

<streamsynchronization>
<!– “true” to enable this feature, “false” to disable. –>
<enable>true</enable>
<!– A Past UTC reference time. –>
<!– Past reference time should not be earlier than 30 days from the –>
<!– time when encoding is started. –>
<!– If invalid reference time is provided, current month is taken as –>
<!– reference time. –>
<referencetime>
<!– A past/current month. –>
<!– 1 for January, 2 for February and so on. –>
<!– 0 means use current month. –>
<month>0</month>
<!– A past/current year. –>
<!– for Example, 2008,2009 etc. –>
<!– 0 means use current year. –>
<year>0</year>
</referencetime>
</streamsynchronization>

3.5) 配置AMS在直播时使用绝对时间:
打开C:\Program Files\Adobe\Adobe Media Server 5\applications\livepkgr\Application.xml
修改 <AssumeAbsoluteTime>true</AssumeAbsoluteTime> 部分改为true

3.6) 修改 C:\Program Files\Adobe\Adobe Media Server 5\conf\Server.xml
<MaxFlushTime>1</MaxFlushTime> 改为1

4) 重启AMS相关服务,并配置为系统账户启动服务。

4.1)验证点播过程就不做了

4.2) 验证直播
启动Flash Media Live Encoder 3.2开始配置参数:

首先是video部分:
preset 部分选择 preset Custom, format 选择 H264, frame rate 选择29.97 ,input size 选择320×240 ,bit rate 部分选择200kbps
output size 为320×240

audio音频部分:
format 选mp3,其它音频部分都默认即可。

最右边有个 stream to flash media server
FMS URL填写:rtmp://42.62.101.177/livepkgr
Stream 写:livestream?adbe-live-event=liveevent

点击connect
点击下面绿色的START开始发布

客户端:

用浏览器打开上面安装的OSMFPlayer地址: http://42.62.101.177/OSFMPlayer/OSMFPlayer.html
在播放器中打开视频流地址:http://42.62.101.177/hds-live/livepkgr/_definst_/liveevent/livestream.f4m

就开始直播了(走http协议)

直播时生成的视频数据文件保存在 安装目录\applications\livepkgr\streams\_definst_\ 目录下
控制文件保存在 安装目录\applications\livepkgr\events\_definst_\liveevent\ 目录下

5)几种文件的作用
*.f4m — Flash Media Manifest file. Contains information about codec, resolution, and the availability of multi-bitrate files.类似于苹果HLS方案中的m3u8,是mainfest索引文件,里面包括编码,分辨率码率等

*.f4x — Index file. Contains the location of specific fragments within a stream.

*.f4f — A segment. The tool outputs one or more F4F files. Each file contains a segment of the source file. Each segment contains one or more fragments of content. A player can use a URL to address each fragment.

注意:以上配置的是http dynamic streaming — 注意直播时,视频发布者用RTMP协议将视频发布到AMS上,观看者播放器OSMF通过Http协议分段将视频下载下来并播放观看;

基于以上AMS服务器,还有一种配置和实现是采用RTMP进行直播, 也就是说,视频发布者用RTMP协议将视频发布到AMS上, 观看者通过另外一个支持RTMP协议的播放器将视频通过RTMP下载播放。配置如下:

在以上配置的基础上:

1) 将AMS服务器中C:\Program Files\Adobe\Adobe Media Server 5\samples目录下的videoPlayer目录拷贝到
C:\Program Files\Adobe\Adobe Media Server 5\webroot下,这是一个支持RTMP协议播放的Flash播放器,类似于上面的OSMF播放器。

2) 在Flash Media Live Encoder3.2那里的FMS URL那里填上: rtmp://42.62.101.177/live

在下面的stream 那里填上 livestream

3) 观看端用浏览器打开:http://42.62.101.177/videoPlayer/videoPlayer.html, 然后在页面下部的 STREAM URL: 那里输入:

rtmp://42.62.101.177/live/livestream ,并勾选中LIVE,然后点击Play Stream即可观看。

这里观看者用的是RTMP下载方式而不是HTTP下载方式。这就是区别。

感觉通过rtmp观看的延迟要小于hds。

测试完成。

PS:

关于adobe flash media live encoder 视频编码中推送视频流到FMS的经验收获

hds播放需要支持hds协议的播放器,hls播放需要苹果设备,直接在Safari打开即可。

在encoder编码推送时的配置:
FMS URL: rtmp://42.62.101.177/livepkgr/virtual
                通信协议/服务器IP地址/livepkgr/视频目录

视频目录如果不存在会自动创建

Stream:222?adbe-live-event=liveevent
222为视频文件名称

通过hds访问的时候地址为:
http://42.62.101.177/hds-live/livepkgr/virtual/liveevent/222.f4m

通过hls访问的时候地址为:
http://42.62.101.177/hls-live/livepkgr/virtual/liveevent/222.m3u8

如果推送视频时候不设置目录,默认为:
rtmp://42.62.101.177/livepkgr/_definst_
对应物理目录为:
C:\Program Files\Adobe\Adobe Media Server 5\applications\livepkgr\streams\_definst_

2015-02-27
发表者 Venus
Error: Missing Dependency: kernel-headers is needed by package glibc-headers已关闭评论

Error: Missing Dependency: kernel-headers is needed by package glibc-headers

在安装gcc编译器的时候报错:

glibc-headers-2.5-123.el5_11.1.x86_64 from updates has depsolving problems
–> Missing Dependency: kernel-headers is needed by package glibc-headers-2.5-123.el5_11.1.x86_64 (updates)
glibc-headers-2.5-123.el5_11.1.x86_64 from updates has depsolving problems
–> Missing Dependency: kernel-headers >= 2.2.1 is needed by package glibc-headers-2.5-123.el5_11.1.x86_64 (updates)
Error: Missing Dependency: kernel-headers >= 2.2.1 is needed by package glibc-headers-2.5-123.el5_11.1.x86_64 (updates)
Error: Missing Dependency: kernel-headers is needed by package glibc-headers-2.5-123.el5_11.1.x86_64 (updates)
You could try using –skip-broken to work around the problem
You could try running: package-cleanup –problems
package-cleanup –dupes
rpm -Va –nofiles –nodigest

提示找不到 kernel-headers这个包,检查yum仓库没问题,后来确认是配置文件中禁止了 kernel-headers开头的包安装升级。

解决方法:
[root@1 ~]# vi /etc/yum.conf

bugtracker_url=http://bugs.centos.org/yum5bug
#exclude=kernel* cloud-init* qemu-ga*   添加#注释

PS: 这台机器为云服务器,基于openstack,估计是防止升级后出现异常,所以在系统中禁止了安装升级功能。

2015-02-25
发表者 Venus
vCenter Single sign-on 5.5重置密码已关闭评论

vCenter Single sign-on 5.5重置密码

通过vclient登陆vcenter结果想不起来密码,重置步骤如下:

切换到目录:
cd C:\Program Files\VMware\Infrastructure\VMware\CIS\vmdird

执行vdcadmintool.exe程序:
C:\Program Files\VMware\Infrastructure\VMware\CIS\vmdird>vdcadmintool.exe

==================
Please select:
0. exit
1. Test LDAP connectivity
2. Force start replication cycle
3. Reset account password
4. Set log level and mask
5. Set vmdir state
==================

选择选项 3 重置账户密码:

Account DN: cn=Administrator,cn=users,dc=vSphere,dc=local
New password is –
d\+uxxxxxxZ0S;    //这个地方为新的密码

官方提示:
vdcadmintool,该实用程序生成的密码包含无效或不受支持的字符(例如,分号 (;)、双引号 (“)、音调符号 (^)、反斜线 (\) 或高位 ASCII 字符等),则下次尝试升级 vCenter Single Sign-On 时,升级可能会失败。

解决办法:如果您曾经使用 vdcadmintool 实用程序生成 administrator@vsphere.local 的密码,请使用 vSphere Web Client 更改该用户的密码。

2015-02-13
发表者 Venus
浪潮NF5245M3服务器RAID0配置及安装windows server 2008 R2已关闭评论

浪潮NF5245M3服务器RAID0配置及安装windows server 2008 R2

转载自:http://www.68idc.cn/help/opersys/2013083151187.html

 然后按ctrl+h键入WebBIOS中

 再按ctrl+s键入LSI设置即RAID设置模式

 进入到WebBISO界面如下图

 第三步、在WebBIOS中配置RAID0

点击配置向导

 新建配置,如果以前配置过RAID的话,需要选择清除配置,再新建配置

 将所有磁盘选择加入到阵列add to array

 加入到阵列后,点击accept dg

  next

 add to SPAN

选择RAID0,并按照提示可用的空间来选择使用多少磁盘空间,比如我这里有1TB,我选择1000GB

 保存配置

 快速初始化,并返回到初始页面,退出重启系统。

然后点击 set boot drive 设置为启动驱动器。

第四步、直接用浪潮自带的锐捷服务器套件引导安装08.

2015-01-27
发表者 Venus
自动化运维工具puppet安装及简单测试已关闭评论

自动化运维工具puppet安装及简单测试

系统版本              ip地址                主机名
centos6.5_x64 192.168.0.153    master (puppetmaster代表服务端)
centos6.5_x64 192.168.0.154    node1   (agent代表客户端)

修改master和node1的hosts文件,添加主机名和ip映射:
192.168.0.154    node1
192.168.0.153    master

master和node1安装epel源(或者用puppet官方源):
[root@master ~]# yum install -y epel-*
[root@node1 ~]# yum install -y epel-*

master安装服务端:
[root@master ~]# yum install -y ruby ruby-libs ruby-shadow puppet puppet-server facter

node1安装客户端:
[root@node1 ~]# yum install -y ruby ruby-libs ruby-shadow puppet facter

master配置:
主目录为/etc/puppet/
auth.conf          #定义puppet master的acl文件
environments   #这个可能在3.x版本上才有
fileserver.conf  #定义puppet master文件服务器的配置文件
manifests           #puppet脚本主文件目录,site.pp文件必须存在
modules             #puppet模块目录
puppet.conf       #puppet主配置文件

默认不需要太多配置,先保持默认。
启动服务。
[root@master ~]# service puppetmaster start
默认占用8140端口,在防火墙中放行,或关闭iptables。

node1配置:
/etc/puppet/puppet.conf

[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = master     #设置master
runinterval = 5s    #探测master时间间隔 s/m/h/d/y 分别为秒/分/时/年 数字零0代表立即
listen = true
保存退出,启动服务。
[root@node1 ~]# service puppet start

客户端在puppetmaster登记:
[root@master ~]# puppet agent –test
Exiting; no certificate found and waitforcert is disabled  #出现此错误为正常,因为客户端还没有在master登记。

master检查证书请求:
[root@master ~]# puppet cert list
“node1” (B8:96:46:DD:B7:1C:21:8B:3A:2E:3B:6E:35:96:81:B1)

会看到一个包含计算机名的请求,对此请求签名:
[root@master ~]# puppet cert sign node1
notice: Signed certificate request for node1
notice: Removing file Puppet::SSL::CertificateRequest node1 at ‘/var/lib/puppet/ssl/ca/requests/node1.pem’

node1再次查看登记:
[root@node1 certs]# puppet agent –test
info: Caching certificate for node1
info: Caching certificate_revocation_list for ca
info: Caching catalog for node1
info: Applying configuration version ‘1422335958’
info: Creating state file /var/lib/puppet/state/state.yaml
notice: Finished catalog run in 0.03 seconds

配置差不多就完成了,现在测试对客户端发布命令,安装nmap、wget软件:
[root@master ~]# vi /etc/puppet/manifests/site.pp  #创建配置文件

node 'node1' {
 include install_rpm
}

class install_rpm {
 package { ["nmap","wget"]:
 ensure => latest,
 }
}

重启服务:
[root@master ~]# service puppetmaster restart

客户端根据上面配置是5秒跟master通信一次,如果想立即执行master下发的任务就执行:
[root@node1 ~]# puppet agent -t

node1上过5秒查看进程:

已经开始安装软件。

调试方法:

puppet agent -t #使用“-t”选项,你可以看到puppet的详细输出。
puppet agent -t --debug #debug 选项会显示puppet本次运行时的差不多每一个步骤。
puppet agent -t --noop #让 puppet 工作在dry-run模式下,不会应用任何修改,不会对真实环境产生影响。