当前位置:文档之家› 课题_nginx搭建rtmp协议流媒体服务器总结

课题_nginx搭建rtmp协议流媒体服务器总结

nginx搭建rtmp协议流媒体服务器总结

最近在ubuntu12.04上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下。

大部分都是参考网络上的资料。

前提:

在linux下某个目录中新建一个nginx目录。

然后进入该目录去下载搭建环境所需要的一些资源包。

此处在/root/ 目录下新建一个nginx目录即:

/root/nginx/

====================================

1、安装依赖包:

#yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64

2、安装相关工具包

1). git

# mkdir soft-source

# cd soft-source

# wget ://http://biz.doczj.com/doc/2d8539122.html,/projects/git-snapshots/git/git-latest.tar.xz

# xz -d git-latest.tar.xz

# tar xzvf git-latest.tar

# cd git-2014-06-27

# autoconf

# ./configure

# make && make install

# git --version

git version 2.0.0.GIT

# cd ..

2). zlib

# wget ://http://biz.doczj.com/doc/2d8539122.html,/zlib-1.2.8.tar.gz

# tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8

# ./configure

# make

# make install

# cd ..

3). pcre

# wget ://exim.mirror.fr/pcre/pcre-8.12.tar.gz

# tar zxvf pcre-8.12.tar.gz

# cd pcre-8.12

# ./configure

# make && make install

# cd ..

4). yadmi

yadmi的作用是为flv文件添加关键帧,才能实现拖动播放

# wget ://http://biz.doczj.com/doc/2d8539122.html,/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download

# tar xzvf download

# cd yamdi-1.4

# make && make install

# cd ..

使用方法:

# yamdi -i input.flv -o out.flv

给input.flv文件添加关键帧,输出为out.flv文件

5). OpenSSL

# wget ://http://biz.doczj.com/doc/2d8539122.html,/source/openssl-1.0.1c.tar.gz

# tar -zxvf openssl-1.0.1c.tar.gz

# ./config

# make

# make install

3、安装ffmpeg及其依赖包:

1). Yasm

# wget ://http://biz.doczj.com/doc/2d8539122.html,/projects/yasm/releases/yasm-1.2.0.tar.gz

# tar xzvf yasm-1.2.0.tar.gz

# cd yasm-1.2.0

# ./configure

# make

# make install

# cd ..

2). x264

# git clone git://http://biz.doczj.com/doc/2d8539122.html,/x264

# cd x264

# ./configure --enable-shared

# make

# make install

# cd ..

3). LAME

# wget ://http://biz.doczj.com/doc/2d8539122.html,/project/lame/lame/3.99/lame-3.99.5.tar.gz

# tar xzvf lame-3.99.5.tar.gz

# cd lame-3.99.5

#./configure --enable-nasm

# make

# make install

# cd ..

4). libogg

# wget ://http://biz.doczj.com/doc/2d8539122.html,/releases/ogg/libogg-1.3.0.tar.gz

# tar xzvf libogg-1.3.0.tar.gz

# cd libogg-1.3.0

# ./configure

# make

# make install

# cd ..

5). libvorbis

# wget ://http://biz.doczj.com/doc/2d8539122.html,/releases/vorbis/libvorbis-1.3.3.tar.gz

# tar xzvf libvorbis-1.3.3.tar.gz

# cd libvorbis-1.3.3

# ./configure

# make

# make install

# cd ..

6). libvpx

# git clone ://http://biz.doczj.com/doc/2d8539122.html,/webm/libvpx.git

# cd libvpx

# ./configure --enable-shared

# make

# make install

# cd ..

7). FAAD2

# wget ://http://biz.doczj.com/doc/2d8539122.html,/project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gz # tar zxvf faad2-2.7.tar.gz

# cd faad2-2.7

# ./configure

# make

# make install

# cd ..

8). FAAC

# wget ://http://biz.doczj.com/doc/2d8539122.html,/project/faac/faac-src/faac-1.28/faac-1.28.tar.gz # tar zxvf faac-1.28.tar.gz

# cd faac-1.28

# ./configure

# make

# make install

# cd ..

注:编译时可能遇到一下错误:

mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’解决方法:

从123行开始修改此文件mpeg4ip.h,到129行结束。

修改前:

#ifdef __cplusplus

extern "C" {

#endif

char *strcasestr(const char *haystack, const char *needle);

#ifdef __cplusplus

}

#endif

修改后:

#ifdef __cplusplus

extern "C++" {

#endif

const char *strcasestr(const char *haystack, const char *needle);

#ifdef __cplusplus

}

#endif

9). Xvid

# wget ://http://biz.doczj.com/doc/2d8539122.html,/downloads/xvidcore-1.3.2.tar.gz

# tar zxvf xvidcore-1.3.2.tar.gz

# cd xvidcore/build/generic

# ./configure

# make

# make install

# cd ..

10). ffmpeg

# git clone git://http://biz.doczj.com/doc/2d8539122.html,/ffmpeg

# cd ffmpeg

# ./configure --prefix=/opt/ffmpeg/ --enable-version3

--enable-libvpx --enable-libfaac --enable-libmp3lame

--enable-libvorbis --enable-libx264 --enable-libxvid

--enable-shared --enable-gpl --enable-postproc --enable-nonfree

--enable-avfilter --enable-pthreads

# make && make install

# cd ..

修改/etc/ld.so.conf如下:

include ld.so.conf.d/*.conf

/lib

/lib64

/usr/lib

/usr/lib64

/usr/local/lib

/usr/local/lib64

/opt/ffmpeg/lib

# ldconfig

二、安装Nginx相关模块

1. 模块安装

# wget ://http://biz.doczj.com/doc/2d8539122.html,/download/nginx_mod_h264_streaming-2.2.7.tar.gz # tar zxvf nginx_mod_h264_streaming-2.2.7.tar.gz

# git clone git://http://biz.doczj.com/doc/2d8539122.html,/arut/nginx-rtmp-module.git

2. 创建用户和组

# groupadd

# useradd -g

3. nginx安装

# wget ://http://biz.doczj.com/doc/2d8539122.html,/download/nginx-1.6.0.tar.gz

# tar zxvf nginx-1.6.0.tar.gz

# cd nginx-1.6.0

4.编译安装nginx

在nginx-1.6.0目录下新建文件:nginx_configure.sh

然后使用gedit 打开进行编辑:

#!/bin/sh

echo "configure start ..."

./configure \

--prefix=/usr/local/nginx \

--sbin-path=/usr/local/nginx/nginx \

--conf-path=/usr/local/nginx/nginx.conf \

--pid-path=/usr/local/nginx/nginx.pid \

--error-log-path=/usr/local/nginx/logs/error.log \

--add-module=../nginx_mod_h264_streaming-2.2.7 \

--with-pcre=../pcre-8.12 \

--with-zlib=../zlib-1.2.8 \

--with-_dav_module \

--with-_flv_module \

--with-_stub_status_module \

--without-_scgi_module \

--without-_uwsgi_module \

--without-_gzip_module \

--without-_ssi_module \

--without-_proxy_module \

--without-_memcached_module \

--without-_empty_gif_module \

--without-mail_pop3_module \

--without-mail_imap_module \

--without-mail_smtp_module \

--with-_ssl_module \

--with-openssl=../openssl-1.0.1c \

--add-module=../nginx-rtmp-module \

--with-cc-opt=-I/opt/ffmpeg/include \

--with-ld-opt=`-L/opt/ffmpeg/lib -Wl, -rpath=/opt/ffmpeg/lib`

echo "configure end!"

【保存并退出】

# chmod +x nginx_configure.sh

# ./nginx_configure.sh

# make

# make install

备注:

在执行make的时候可能出现错误1:

adding module in ../nginx_mod_h264_streaming-2.2.7

+ ngx__h264_streaming_module was configured

adding module in ../nginx-rtmp-module

+ ngx_rtmp_module was configured

checking for OpenSSL library ... not found

./configure: error: SSL modules require the OpenSSL library.

You can either do not enable the modules, or install the OpenSSL library

into the system, or build the OpenSSL library statically from the source

with nginx by using --with-openssl= option.

configure end!

root@ubuntu:/home/song/nginx-t/nginx-1.6.0# make

make: *** No rule to make target `build', needed by `default'. Stop.

解决方法:

a)可以安装ssl

apt-get install openssl

apt-get install libssl-dev

b)也可以添加

--with-openssl=

在执行make的时候可能出现错误2:

/root/nginx_mod_h264_streaming-2.2.7/src/ngx__streaming_module.c: In function ‘ngx_streaming_handler’:

/root/nginx_mod_h264_streaming-2.2.7/src/ngx__streaming_module.c:158: error: ‘ngx__request_t’ has no member named ‘zero_in_uri’make[1]: *** [objs/addon/src/ngx__h264_streaming_module.o] Error 1

make[1]: Leaving directory `/root/nginx-0.8.54'

make: *** [build] Error 2

解决方法:

那么将src/ngx__streaming_module.c文件中以下代码删除或者是注释掉就可以了:

/* TODO: Win32 */

if (r->zero_in_uri)

{

return NGX_DECLINED;

}

在执行make的时候可能出现错误3:

../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c: 在函数‘esds_read’中:

../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:377:16: 错误:变量‘stream_priority’被设定但未被使用[-Werror=unused-but-set-variable] ../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:376:12: 错误:变量‘stream_id’被设定但未被使用[-Werror=unused-but-set-variable]

../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c: 在函数‘stsd_parse_vide’中:

../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:529:22: 错误:变量‘level_indication’被设定但未被使用[-Werror=unused-but-set-variable] ../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:528:22: 错误:变量‘profile_compatibility’被设定但未被使用[-Werror=unused-but-set-variable] ../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:527:22: 错误:变量‘profile_indication’被设定但未被使用[-Werror=unused-but-set-variable] ../nginx_mod_h264_streaming-2.2.7/src/mp4_reader.c:526:22: 错误:变量‘configuration_version’被设定但未被使用[-Werror=unused-but-set-variable] cc1: all warnings being treated as errors

make[1]: *** [objs/addon/src/mp4_reader.o] 错误1

解决方法:

# vim objs/Makefile (修改objs/Makefile文件, 去掉其中的"-Werror"), 然后就能够正常编译了.

然后在make就能过了。

三、配置Nginx相关模块

1.

安装好了之后终端进入 nginx安装的目录:/usr/local/nginx/html/

然后新建目录:nginx-rtmp-module

然后拷贝之前用于存放下载nginx 所需资源包的目录:/root/nginx/nginx-rtmp-module/

拷贝目录test 到/usr/local/nginx/html/ 目录下:

# cp /root/nginx-rtmp-module/test /usr/local/nginx/html/nginx-rtmp-module/

# cp /root/nginx-rtmp-module/stat.xsl /usr/local/nginx/html/nginx-rtmp-module/

2.

拷贝之后就需要修改/usr/local/nginx/nginx.conf 文件:

下面是配置好的nginx.conf 文件:

#user nobody;

worker_processes 4;

#error_log logs/error.log;

#error_log logs/error.log notice;

error_log logs/error.log info;

pid logs/nginx.pid;

worker_rlimit_nofile 51200;

events {

use epoll;

worker_connections 51200;

}

#切换自动推送(多worker 直播流)模式。默认为off

rtmp_auto_push on;

#当worker 被干掉时设置自动推送连接超时时间。默认为100 毫秒

rtmp_auto_push_reconnect 1s;

#设置用于流推送的UNIX 域套接字目录。默认为/tmp

#rtmp_socket_dir /var/sock;

rtmp {

server {

listen 1935;

#点播配置

application vod {

play /opt/media/nginxrtmp/flv;

}

#直播流配置

application live {

live on;

#为rtmp 引擎设置最大连接数。默认为off

max_connections 1024;

# default recorder

record all;

record_path /var/rec;

recorder audio {

record audio;

record_suffix -%d-%b-%y-%T.flv;

}

recorder chunked {

record all;

record_interval 15s;

record_path /var/rec/chunked;

}

#on_publish ://localhost:8080/publish;

#on_play ://localhost:8080/play;

#on_record_done ://localhost:8080/record_done;

#rtmp日志设置

#access_log logs/rtmp_access.log new;

#access_log logs/rtmp_access.log;

#access_log off;

}

#HLS协议支持

#application hls {

#live on;

#hls on;

#hls_path /tmp/app;

#hls_fragment 5s;

#}

application hls{

live on;

hls on;

hls_path /usr/local/nginx/html/app;

hls_fragment 1s;

}

}

}

{

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$_referer" '

# '"$_user_agent" "$_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

server {

listen 80;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

#location / {

# root html;

# index index.html index.htm;

#}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

# proxy_pass ://127.0.0.1;

#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

#location ~ \.php$ {

# root html;

# fastcgi_pass 127.0.0.1:9000;

# fastcgi_index index.php;

# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

# include fastcgi_params;

#}

# deny access to .htaccess files, if Apache's document root

# concurs with nginx's one

#

#location ~ /\.ht {

# deny all;

#}

location /rtmp-publisher {

root /root/nginx/nginx-rtmp-module/test;

}

#location /hls {

#server hls fragments

#types{

#application/vnd.apple.mpegurl m3u8;

#video/mp2t ts;

#}

#alias /usr/local/nginx/html;

#expires -1;

#}

location /hls {

#server hls fragments

types{

application/vnd.apple.mpegurl m3u8;

video/mp2t ts;

}

#alias /usr/local/nginx/html/app;

alias /usr/local/nginx/html;

expires -2;

}

location / {

#root /root/nginx/nginx-rtmp-module/test/rtmp-publisher;

types{

application/vnd.apple.mpegurl m3u8;

video/mp2t ts;

}

root /usr/local/nginx/html/rtmp-publisher;

expires -1;

}

}

# another virtual host using mix of IP-, name-, and port-based configuration #

#server {

# listen 8000;

# listen somename:8080;

# server_name somename alias another.alias;

# location / {

# root html;

# index index.html index.htm;

# }

#}

# S server

#

#server {

# listen 443;

# server_name localhost;

# ssl on;

# ssl_certificate cert.pem;

# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;

# ssl_ciphers HIGH:!aNULL:!MD5;

# ssl_prefer_server_ciphers on;

# location / {

# root html;

# index index.html index.htm;

# }

#}

#支持flv

server

{

listen 8081;

server_name localhost;

#root /opt/pub/media/nginx; #协议时候,flv视频位置#root /root/nginx/nginx-rtmp-module/test/;

root /usr/local/nginx/html/;

location ~ .*.(flv|swf|mp4|wma|wmv)$ {

valid_referers none blocked *http://biz.doczj.com/doc/2d8539122.html, ://localhost;

if ($invalid_referer) {

return 403;

}

}

location ~ \.flv$ {

flv;

#limit_conn one 20;#限制客户端并发连接数

limit_rate 200k;#限制每客户端最大带宽

}

location ~ \.mp4$ {

flv;

#limit_conn one 20;

limit_rate 200k;

}

#access_log logs/nginxflv_access.log main;

}

server

{

listen 8082;

server_name localhost;

index index.html;

location / {

#root /opt/pub/media/nginx-rtmp;

root /root/nginx/nginx-rtmp-module/test/rtmp-publisher;

}

#access_log logs/nginxrtmpflv_access.log main;

}

server {

listen 8080;

server_name localhost;

index player.html;

location /stat {

rtmp_stat all;

rtmp_stat_stylesheet /root/nginx/nginx-rtmp-module/stat.xsl;

}

location /stat.xsl {

root /root/nginx/nginx-rtmp-module;

}

location /rtmp-publisher {

root /usr/local/nginx/html/test/rtmp-publisher;

}

location / {

root /root/nginx/nginx-rtmp-module/test/rtmp-publisher;

}

}

}

四、启动Nginx相关模块

1.

配置好之后就可以开启nginx服务器了。

可以在终端执行:

#service nginx start

注:可能会出现一下错误:

nginx: unrecognized service

解决方法:

下载nginx的启动脚本:

# wget -O init-deb.sh ://http://biz.doczj.com/doc/2d8539122.html,/assets/660-init-deb.sh

将脚本添加到init.d目录和生成可执行:

# sudo mv init-deb.sh /etc/init.d/nginx

# sudo chmod +x /etc/init.d/nginx

加的nginx到系统启动:

# sudo /usr/sbin/update-rc.d -f nginx defaults

现在我们可以使用nginx的控制:

sudo service nginx stop

sudo service nginx start

sudo service nginx restart

sudo service nginx reload

2.

在开启之前记得要打开 1935端口。

具体怎么打开此处不做介绍。

3.

但是开启的时候命令行要这样去启动:

# /usr/local/ngnix/nginx –c /usr/local/nginx/nginx.conf

这样nginx 的rtmp协议流媒体服务器才能用。

4.下面使用ffmpeg 往rtmp服务器推送一个视频:

ffmpeg -re -i /home/song/Desktop/apk/test.flv -f flv rtmp://172.16.80.18/live/steam

这样在 vlc或者 flash player 上就可以打开 rtmp地址:

rtmp://172.16.80.18/live/steam

进行观看了。

---------------------------------------------------------------------------------

注:如果ubuntu使用的是虚拟机安装的话,记得网络适配器要选择“桥接模式”使用虚拟机里的ip 地址和主机地址在一个网端,这样外部比如手机或者局域网内的其他机器才能访问

该虚拟机上搭建的nginx服务器了。

流媒体服务器的搭建

流媒体服务器的搭建 实验目的: 掌握流媒体服务器的安装与配置,学会视频/音频的传送方法。 实验内容: 安装Windows Media Service 使用Windows Media Service发布视频点播 实验设备及环境: 计算机、 Windows 2003 Sever 虚拟机 实验步骤: 在桌面双击VMware Player,选择“”,打开Windows 2003 Sever虚拟操作系统。 1、安装Windows Media Service服务 打开控制面板,选择“添加/删除程序”页面,点击“添加/删除windows组件”,在Windows组件向导对话框中选中“Windows Media Services”,点击“详细信息”,勾选所有,点击确定。 点击下一步,安装相关组件。安装过程所需文件存储在D:盘2003文件夹中。 2、在Windows Media Service服务中配置流媒体服务 (一)新建发布点 开始--程序--管理工具-- windows media service,如下图,右击“发布点”,选择“添加发布点(向导)”。在“添加发布点向导”窗口,点击下一步。输入名称movie,点击下一步。选择“目录中的文件”,点击下一步。选择“点播发布点”,点击下一步。选择文件位置,点击下一步。可以勾选“启用该发布点的日志记录”,点击下一步。点击下一步。把图中的钩选取消,点击完成。查看movie发布点的属性,确定如图中的三项

以启用。点击“源”,选择播放,进行测试。 (二)创建播放列表 播放列表创建能够添加一个或多个流媒体文件的发布点以便发布一组已经在播放列表中指定的媒体流。点击“源”,选择“”查看播放列表编辑器”,选择“新建一个新的播放列表”。右键点击smil,选择“添加媒体”。在添加媒体元素对话框中,点击浏览,选择要添加到播放列表中的一个或多个媒体文件。选中后,点击右侧“选择文件”,再选择“添加”、“确定”,即可在smil下看到添加到播放列表中的媒体文件。点击“文件”—“保存”为movie.wsx。 (三)创建带有播放器的web页(.htm文本) 成功创建发布点以后,为了能让用户知道已经发布的流媒体内容,应该创建发布公告告诉用户,操作步骤如下所述: 选择“公告”,点击“运行单播公告向导”,点击“下一步”,在点播目录对话框选择“目录中的所有文件”,点击“下一步”。在访问该内容对话框,点击“修改”,输入本机ip(127.0.0.1为本机默认预留IP,若要作为互联网中流媒体服务器使用,需设为本机的互联网IP地址),并“确定”—“下一步”。在保存公告选项页面,勾选“创建一个带有嵌入的播放机和指向该内容的链接的网页”,点击下一步。在编辑公告元数据页面,可以添加相关的版权描述信息。点击下一步,完成单薄公告向导。(四)验证流媒体服务器 1)验证播放列表配置 打开IE窗口,在地址栏输入mms://127.0.0.1/movie/movie.wsx。 MMS(MicrosoftMediaServerprotocol)是一种串流媒体传送协议,用来访问并流式接收Windows Media服务器中文件的一种协议。MMS协议用于访问Windows Media发布点上的单播内容。MMS是连接Windows Media单播服务的默认方法;127.0.0.1为流媒体服务器的ip,这里选的是预留本机IP;movie为发布点的名字,movie.wsx为播放列表对应文件。 回车后,将弹出Windows Media Player播放器,播放播放列表中的音视频文件。或先打开Windows Media Player播放器,右键点击标题栏,选择文件—-打开URL,在打开URL对话框输 入mms://127.0.0.1/movie/movie.wsx,进行验证。 2)验证网页中的点播服务 打开IE窗口,在地址栏输入http://127.0.0.1/movie.htm,将打开一个嵌入了播放器的h网页。如不能正常播放视频文件,可在internet选项---安全—自定义安全级别中启用有关ActiveX的选项。

rtmp流媒体协议

H5视频直播扫盲 1 H5到底能不能做视频直播 当然可以, H5火了这么久,涵盖了各个方面的技术。 对于视频录制,可以使用强大的webRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音对话或视频对话的技术,缺点是只在PC的chrome上支持较好,移动端支持不太理想。 对于视频播放,可以使用HLS(HTTP Live Streaming)协议播放直播流,ios和android都天然支持这种协议,配置简单,直接使用video标签即可。 webRTC兼容性: video标签播放hls协议视频:

1 2 3 4

Your browser does not support HTML5 video. 2 到底什么是HLS协议 简单讲就是把整个流分成一个个小的,基于HTTP的文件来下载,每次只下载一些,前面提到了用于H5播放直播视频时引入的一个.m3u8的文件,这个文件就是基于HLS协议,存放视频流元数据的文件。 每一个.m3u8文件,分别对应若干个ts文件,这些ts文件才是真正存放视频的数据,m3u8文件只是存放了一些ts文件的配置信息和相关路径,当视频播放时,.m3u8是动态改变的,video标签会解析这个文件,并找到对应的ts文件来播放,所以一般为了加快速度,.m3u8放在web服务器上,ts文件放在cdn上。 .m3u8文件,其实就是以UTF-8编码的m3u文件,这个文件本身不能播放,只是存放了播放信息的文本文件: 1 2 3 4 5#EXTM3U m3u文件头 #EXT-X-MEDIA-SEQUENCE 第一个TS分片的序列号#EXT-X-TARGETDURATION 每个分片TS的最大的时长#EXT-X-ALLOW-CACHE是否允许cache #EXT-X-ENDLISTm3u8文件结束符

Windows下Nginx的安装与配置

Windows下Nginx的安装与配置 Windows下Nginx的安装与配置 Nginx ("engine x") 是一款高性能的,轻量级的HTTP Web服务器和反向代理服务器及电子邮件IMAP/POP3/SMTP代理服务器。 Nginx是由俄罗斯的程序设计师Igor Sysoev 所开发,为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多时间了,Igor 将源代码以类BSD许可证的形式发布。 自Nginx 发布四年来,Nginx 已经因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。Nginx 超越Apache的高性能和稳定性,使得国内使用Nginx 作为Web 服务器的网站也越来越多。 目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;新近发现Nginx 技术在国内日趋火热,越来越多的网站开始应用部署Nginx。 一、首先去官网下载nginx1.0.11的Windows版本,官网下载: http://biz.doczj.com/doc/2d8539122.html,/download/nginx-1.0.11.zip 下载到软件包后,解压nginx-nginx1.0.11.zip 包到你喜欢的根目录,并将目录名改为nginx。 然后,执行下列操作: cd nginx start nginx 这样,nginx 服务就启动了。打开任务管理器,查看nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。然后再打开浏览器,输入http://127.0.0.1/就可以看到nginx 的欢迎页面了,非常友好 nginx -s stop // 停止nginx nginx -s reload // 重新加载配置文件 nginx -s quit // 退出nginx 二、接下来就是配置nginx的conf文件了。下面是我的配置: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid;

流媒体服务器配置教程

流媒体服务器配置教程 流媒体文件是目前非常流行的网络媒体格式之一,这种文件允许用户一边下载一边播放,从而大大减少了用户等待播放的时间。另外同过网络播放流媒体文件时,文件本身不会在本地磁盘中存储,这样就节省了大量的磁盘空间开销。正是这些优点,使得流媒体文件被广泛应用于网络播放。 Windows Server 2003系统内置的流媒体服务组件Windows Media Services(W indows媒体服务,简称WMS)就是一款通过Internet或Intranet向客户端传输音频和视频内容的服务平台。WMS支持.asf、.wm a、.wmv、.mp3等格式的媒体文件。能够像Web服务器发布HTML文件一样发布流媒体文件和从摄像机、视频采集卡等设备传来的实况流。而用户可以使用Windows Media Player 9及以上版本的播放器收看这些媒体文件。本章内容以Windows Server 2003(SP1)系统为例,介绍如何使用WMS打造网络媒体中心。 默认情况下,Windows Server 2003(SP1)没有安装Windows Media Ser vices组件。用户可以通过使用“Windows组件向导”和“配置您的服务器向导”两种方式来安装该组件。以使用“配置您的服务器向导”安装为例,操作步骤如下所述: Step1 在开始菜单中依次单击【管理工具】→【配置您的服务器向导】菜单项,打开“配置您的服务器向导”对话框。在欢迎对话框中直接单击【下一步】按钮。 Step2 配置向导开始检测网络设备和网络设置是否正确,如未发现错误则打开【配置选项】对话框。选中【自定义配置】单选钮,并单击【下一步】按钮。 Step3 打开“服务器角色”对话框,在“服务器角色”列表中显示出所有可以安装的服务器组件。选中【流式媒体服务器】选项,并单击【下一步】按钮, Step4 在打开的“选择总结”对话框中直接单击【下一步】按钮,配置向导开始安装Win dows Media Services组件。在安装过程中会要求插入Windows Server 2003(SP1)系统安装光盘或指定系统安装路径,安装结束以后在“此服务器现在是流式媒体服务器”对话框中单击【完成】按钮。 成功安装Windows Media Services组件以后,用户可以测试流媒体能不能被正常播放,以便验证流媒体服务器是否运行正常。测试流媒体服务器的步骤如下所述: Step1 在开始菜单中依次单击【管理工具】→【Windows Media Services】菜单项,打开Windows Media Services窗口。 Step2 在左窗格中依次展开服务器和【发布点】目录,默认已经创建“<默认>(点播)”和“S am ple_Broadcast”两个发布点。选中“<默认>(点播)”发布点,在右窗格中切换到【源】选项卡。在【源】选项卡中单击【允许新的单播连接】按钮以接受单播连接请求,然后单击【测试流】按钮, Step3 打开“测试流”窗口,在窗口内嵌的Windows Media Player播放器中将自动播放测试用的流媒体文件。如果能够正常播放,则说明流媒体服务器运行正常。单击【退出】按钮关闭“测试流”窗口, 提示:用户可以重复上述步骤测试“Sample_Broadcast”广播发布点是否正常。另外在Windows Server 2003(SP1)系统中,即使安装了声卡驱动程序,系统依然没有启动音频设备。用户需要在“控制面板”窗口中打开“声音和音频设备”对话框,并选中【启用Windows音频】复选框。 就像Web站点向网络上发布网页一样,流媒体服务器是通过建立发布点来发布流媒体内容和管理用户连接的。流媒体服务器能够发布从视频采集卡或摄像机等设备中传来的实况流,也可以发布事先存储的流媒体文件,并且发布实况流和流媒体文件的结合体。一个媒体流可以由一个媒体文件构成,也可以由多个媒体文件组合而成,还可以由一个媒体文件目录组成。 流媒体服务器能够通过点播和广播两种方式发布流媒体,其中点播方式允许用户控制媒体流的播放,具备交互性;广播方式将媒体流发送给每个连接请求,用户只能被动接收而不具备交互

多媒体技术实验4流媒体服务器的搭建

实验四:流媒体服务器的搭建(2课时) ●实验目的: 掌握流媒体服务器的安装与配置,学会视频/音频的传送方法。 ●实验容: 1、安装Windows Media Service 2、使用Windows Media Service发布视频点播 ●实验设备及环境: 计算机、Windows 2003 Sever 虚拟机 ●相关知识: 1、流媒体 流媒体顾名思义,可以认为是流动的媒体,以连续流(数据包)的形式通过网络传递数字媒体。指的是影音等媒体文件被分解编码成数字信号像流水一样流向目的地,并在到达目的地时由播放器还原为图像或声音。这种方法在接收的同时呈现容,从而可以连续地播放数据,而不必等待下载整个文件,流式处理的文件播放完后,它不会存储在计算机中。 2、发布点 Windows Media服务器是用来将客户端对媒体容的访问请求转换为放置该容的服务器上的物理路径(呈现给播放器的是一个网址,类似于的根目录)。发布点是网管人员用来标志某种类型的媒体服务的点,通过媒体服务器的控制界面,可以看到这些点的工作状态并随时管理。 在客户端成功连接到发布点之后,Windows Media 服务器管理该连接并传输该容,客户端通过连接到发布点而能访问来自服务器的容流。有两种类型的发布点:“点播发布点”和“广播发布点”。一个 Windows Media 服务器可以配置为运行多个发布点,可以广播和点播同时存在。 点播和广播有一些重要的区别。 (1)点播发布点 如果希望由客户端来控制播放,可以操作播放器的播放、暂停、快进等功能,则使用点播发布点。这种类型的发布点最常用于以文件、播放列表或目录为源的容。当客户端连接到该发布点时,将从头开始播放容。最终用户可以使用播放机上的播放控件来暂停、快进、倒回、跳过播放列表中的项目或停止。只有当客户端已连接且可以接收流时,点播发布点才可以传输容。从点播发布点传输的容总是以单播流的形式传递。这种方式适用于媒体的点播服务,这也是电影服务器要采用的方式。 (2)使用广播发布点 如果希望在服务器上控制播放和传输容,则使用广播发布点。这就像是电台或电视台播放节目的方式,节目由服务器持续播放,你错过了就只能错过。这使用户有看电视节目的

在centos上搭建nginx图片服务器(包含上传模块)

安装Nginx 和相关的插件 (Image Filter Module & Upload Module & Upload Progress Module) (1) install essential sys library $ yum -y install gcc-c++ $ yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gd gd-devel (2)install nginx & related module plugin $ wget https://http://biz.doczj.com/doc/2d8539122.html,/masterzen/nginx-upload-progress-module/archive/v0.9.1.tar.gz $ wget https://http://biz.doczj.com/doc/2d8539122.html,/vkholodkov/nginx-upload-module/archive/2.2.0.tar.gz $ wget http://biz.doczj.com/doc/2d8539122.html,/download/nginx-1.3.8.tar.gz $ tar zxvf *.tar.gz $ cd /nginx-1.3.8/conf (3)configure nginx.conf $ vi nginx.conf #user root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"';

Windows-Media-Server搭建流媒体服务器

Windows-Media-Server搭建流媒体服务器

Windows Media Server搭建流媒体服务器 随着Internet和Intranet应用日益丰富,视频点播也逐渐应用于宽带网和局域网。人们已不再满足于浏览文字和图片,越来越多的人更喜欢在网上看电影、听音乐。而视频点播和音频点播功能的实现,则必须依靠流媒体服务技术。就目前来看,最流行的流媒体点播服务器只有两种,即Windows Media服务和Real Server。下面我们在这里主要讨论在Windows 2003 Server 环境下如何搭建视频点播服务器。我们大家知道,Windows Media服务采用流媒体的方式来传输数据。通常格式的文件必须完全下载到本地硬盘后,才能够正常打开和运行。 而由于多媒体文件通常都比较大,所以完全下

载到本地往往需要较长时间的等待。而流媒体格式文件只需先下载一部分在本地,然后可以一边下载一边播放。Windows Media服务支持ASF 和WMV格式的视频文件,以及WMA和MP3格式的音频文件。 一、Windows Media服务的安装 Windows Media服务虽然是Windows Server 2003系统的组件之一,但是在默认情况下并不会自动安装,而是需要用户来手动添加。而在Windows Server 2003操作系统中,除了可以使用“Windows组件向导”安装Windows Media服务之外,还可以通过“配置您的服务器向导”来实现。 (1)在刚刚安装好Windows Server 2003操作系统并进入Windows时,系统会自动运行“管

windows下搭建基于nginx的rtmp服务器

windows下搭建基于nginx的rtmp服务器 Windows机器配置:Windows7旗舰版64位Intel(R) Core(TM)i5-2520 CPU @2.50GHz 2.50 GHz内存: 4GB1. 下载nginx 1.7.11.3 Gryphon下载链接: http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip 下载完成后解压;将解压后的目录名: nginx 1.7.11.3 Gryphon改成: nginx-1.7.11.3-Gryphon2. 下载服务器状态检查程序stat.xslhttps://http://biz.doczj.com/doc/2d8539122.html,/arut/nginx-rtmp-module/将nginx-rtmp-module-master.zip解压后复制到目 录:nginx-1.7.11.3-Gryphon下,保证stat.xls的目录 为:nginx-1.7.11.3-Gryphon\nginx-rtmp-module\stat.xsl3. 配置文件conf\nginx-win-rtmp.conf 内容如下:#user nobody;# multiple workers works !worker_processes 2;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 8192; # max value 32768, nginx recycling connections+registry optimization = # this.value * 20 = max concurrent connections currently tested with one worker # C1000K should be possible depending there is enough ram/cpu power # multi_accept on;}rtmp { server { listen 1935;

流媒体服务器配置教案

技工院校文化理论课教案(首页)(代号A-3) 审阅签名:

一、用户需求:(约5分钟)(口述+PPT) 软件学院多媒体专业的同学们制作了一些动画小短片和视频,在学院文化节到来之际准备将这些短片放到校园网上供全校学生点播观看,请你帮他们来实现一下吧。 二、项目分析 ◆提问:(约20分钟)(查找资料、思考、讨论) 1、网络上的点播视频是如何实现的? 2、流媒体技术的优势是什么? 3、可以架设流媒体服务器的软件有哪些? 4、流媒体文件支持哪些格式? ◆老师讲解相关知识:(约55分钟)(讲授+PPT+操作示范) 1、网络上的点播视频可以采用流媒体技术实现 2、所谓流媒体技术,是指将连续的影像和声音信息经过压缩处理后放在网站服务器上,让用户能够一边下载一边观看、收听(即所谓的“在线欣赏”),而不需要等整个压缩文件下载到自己的机器上才可以欣赏的网络传输技术。 3、可以架设流媒体服务器的软件:目前,在这个领域中的竞争者主要有微软、RealNetworks、Apple 三家公司,例如微软新近发布了Windows Media Services 9、RealNetworks公司新近发布的Helix Platform、Apple新近发布的Darwin streaming server 4.1,意图在流媒体领域大干一场。 4、常见的流媒体发布格式 asf Advanced Streaming format. smil Synchronised Multimedia Integration Language. ram RAM File. rpm Embedded RAM File. asx ASF Stream Redirector/ASF流转向器文件 xml eXtensible Markup Language 5、流式媒体系统构成 基于 Windows Media 技术的流式播放媒体系统通常由运行编码器(如 Microsoft Windows Media 编码器)的计算机、运行 Windows Media Services 的服务器和播放机组成。编码器允许您将实况内容和预先录制的音频、视频和计算机屏幕图像转换为 Windows Media 格式。运行 Windows Media Services 的服务器名为 Windows Media 服务器,它允许您通过网络分发内容。用户通过使用播放机(如 Windows Media Player)接收您分发的内容。 通常情况下,用户通过在网页上单击链接来请求内容。Web 服务器将请求重新定向到 Windows Media 服务器,并在用户的计算机上打开播放机。此时,Web 服务器在流式播放媒体过程中不再充当角色,Windows Media 服务器与播放机建立直接连接,并开始直接向用户传输内容。

手把手教你搭建流媒体服务器

流媒体服务器 流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。 相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于 流媒体服务器 流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。 作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。而流媒体服务器又是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。其主要功能是对媒体内容进行采集、缓存、调度和传输播放,流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。 主要产品流媒体服务器:大并发视频服务器、直播时移服务器、P2P直播服务器、视频交互应用服务器视频应用管理:媒体内容管理系统、H.264/MPEG-4编码工具、机顶盒终端管理系统、节目导航与发布系统。 架设 使用Windows Media Encoder这个软件即可实现网上广播服务,不过,借助于Wi ndows Media Services,利用Windows Media Encoder制作的流媒体文件,我们的网络广播站功能将更为强大。下面,我们将利用Windows Media Encoder单独建立广播站,并将其纳入Windows Media Services,实现更强大的功能。 1. 安装Windows Media Services。 首先安装Windows 2000 Server或者Windows .Net Server,然后打开“开始-控制面板-管理工具-管理您的服务器”或“开始-控制面板-添加或删除程序-添加/删除Windows组件”(建议使用第二种),在其中勾取“Web应用程序服务器”,也就是2000 Server中的IIS服务器,单击“下一步”进行添加;

课题_nginx搭建rtmp协议流媒体服务器总结

nginx搭建rtmp协议流媒体服务器总结 最近在ubuntu12.04上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下。 大部分都是参考网络上的资料。 前提: 在linux下某个目录中新建一个nginx目录。 然后进入该目录去下载搭建环境所需要的一些资源包。 此处在/root/ 目录下新建一个nginx目录即: /root/nginx/ ==================================== 1、安装依赖包: #yum -y install gcc glibc glibc-devel make nasm pkgconfig lib-devel openssl-devel expat-devel gettext-devel libtool mhash.x86_64 perl-Digest-SHA1.x86_64 2、安装相关工具包 1). git # mkdir soft-source # cd soft-source # wget ://http://biz.doczj.com/doc/2d8539122.html,/projects/git-snapshots/git/git-latest.tar.xz # xz -d git-latest.tar.xz # tar xzvf git-latest.tar # cd git-2014-06-27 # autoconf # ./configure # make && make install # git --version git version 2.0.0.GIT # cd .. 2). zlib # wget ://http://biz.doczj.com/doc/2d8539122.html,/zlib-1.2.8.tar.gz # tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 # ./configure # make # make install # cd .. 3). pcre # wget ://exim.mirror.fr/pcre/pcre-8.12.tar.gz # tar zxvf pcre-8.12.tar.gz # cd pcre-8.12 # ./configure # make && make install # cd .. 4). yadmi yadmi的作用是为flv文件添加关键帧,才能实现拖动播放 # wget ://http://biz.doczj.com/doc/2d8539122.html,/projects/yamdi/files/yamdi/1.4/yamdi-1.4.tar.gz/download # tar xzvf download # cd yamdi-1.4 # make && make install # cd .. 使用方法: # yamdi -i input.flv -o out.flv 给input.flv文件添加关键帧,输出为out.flv文件 5). OpenSSL # wget ://http://biz.doczj.com/doc/2d8539122.html,/source/openssl-1.0.1c.tar.gz # tar -zxvf openssl-1.0.1c.tar.gz # ./config # make # make install 3、安装ffmpeg及其依赖包: 1). Yasm # wget ://http://biz.doczj.com/doc/2d8539122.html,/projects/yasm/releases/yasm-1.2.0.tar.gz # tar xzvf yasm-1.2.0.tar.gz

视频网络监控中的流媒体服务器

视频网络监控中的流媒 体服务器 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

视频网络监控中的流媒体服务器 讯辉数码研发部-姜涛目前流媒体技术已经相当成熟,成功地解决了在网络一边下载一边收听观看的问题,用户在观看生动清晰的媒体演示的同时,不再为等待传输文件而花费大量时间。但在监控局域网中,流媒体服务器面临着监控网络视频传输的特殊需求。 一、传统直连监控平台不足 传统的点对点的直连监控平台具有很多不足点,主要表现在处理能力有限、无存储能力、在跨网段及安全性上存在问题,容易遭受攻击,此外在主干网压力、接入带宽和出口带宽上容易形成瓶颈,在网络负载均衡处理上不理想。如下图所示。 二、流媒体服务器在监控平台上的功能需求 流媒体服务器需要提供视频转发、用户认证、权限认证,在此基础上提供优化负载均衡的功能,降低网络带宽需求,提高整个视频分发部分的可靠性。 (一) 视频转发实现复杂均衡 流媒体服务器需支持监控网内外的视频转发。当有多个局域网客户端、外网多个客户需要访问同一远程画面时,可通过流媒体服务器从前端DVR中抽取视频进行多路转发,从而在广域网上只占用一个通道的资源。转发服务可以有效地减轻广域网的带宽压力,节省网络资源,不影响视频预览实际效果。 系统通过流媒体服务器来分担网络的负载,提供百人数量级的用户同时直接对前端监控主机进行访问,提高了系统的整体可靠性,使整体网络的负载较为均衡,不会在局部产生传

输瓶颈。 (二) 安全认证 流媒体服务器因涉及到对外网的视频专访,尤其在政府和公安等涉及部分重点机密区域的监控上,需要从用户、权限等多个方面进行安全认证:1)对外网访问用户进行认证,只接受流媒体服务器授权的用户访问;2)可根据时间段对授权用户访问前端主机进行限制,拒绝非授权时间访问;3)通过访问通道限制,实现部分通道的开放。 通过多重访问限制能有效保证监控中心视频数据的安全性,达到不合权限、非法时间的、不在控制列表中的用户无法访问前端主机. 此外,流媒体服务器需根据访问用户的重要性给予不同的级别,实现高级用户占据优势带宽,实现优先访问;根据网络环境情况能对流媒体服务器出口总带宽、前端网络上传视频带宽、前端主机上传通道的路数等多个方面进行限制。 三、展望:流媒体服务器在高清监控中的应用 监控网络发展的趋势已经朝着全数字、全高清IP摄像机的存储,流媒体服务器开始担当高清视频的存储、转发的责任,逐步转化为视频服务器,并随着视频容量的加大,逐步和存储网络(SAN)协作发挥存储转发作用,以更好的满足视频存储转发的需求

Windows下编译Nginx并添加模块

Windows下编译Nginx并添加模块 一.准备工作 1.环境安装 1.安装vs2010或vs2013等vs工具。 2.安装ActivePerl,安装完成后,将其安装路径加入到PATH环境变量。 3.安装MinGW,下载mingw-get-setup.exe,安装完成后,将其安装路径加入到PATH环境变量。(记得安装的时候装上msys,不懂就全勾了) 4.安装nasm,安装完成后,将其安装路径加入到PATH环境变量。 2.下载编译nginx源码文件 1.nginx源码:nginx-1.1 2.2 2.pcre:pcre-8.40 3.zlib:zlib-1.2.11 4.openssl:openssl-1.0.2l 3.下载添加模块文件 1.文件上传模块: nginx-upload-module 2.rtmp模块:nginx-rtmp-module 3.文件上传进度条模块:nginx-upload-progress-module 二.编译并添加模块 1.将上述7个压缩包文件解压至文件夹msys文件目录下,如C:\MinGW\msys\1.0\home\$UESRNAME\。 2.找到msys.bat的路径并双击msys.bat,运行。如下图所示

3.打开msys.bat后如下所示 右击上方编辑栏,选择编辑,粘贴,可进行粘贴复制功能。 4.cd 至nginx源码路径,并在源码路径下执行下面语句: auto/configure --with-cc=cl --builddir=objs --prefix= \ --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid \ --http-log-path=logs/access.log --error-log-path=logs/error.log \ --sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp \ --http-proxy-temp-path=temp/proxy_temp \ --http-fastcgi-temp-path=temp/fastcgi_temp \ --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=../pcre-8.40 \ --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2l \ --with-select_module --with-http_ssl_module \ --with-http_sub_module \ --add-module=../nginx-upload-module-2.255 \ --add-module=../nginx-upload-progress-module-master \ --add-module=../nginx-rtmp-module-master \ 其中pcre,zlib,openssl的语句需根据版本号的不同进行改变,最后增加的模块也需更具实际情况进行相应的改变,步骤4操作如下图所示:

linux下Nginx+tomcat整合的安装与配置

linux下Nginx+tomcat整合的安装与配置 目的:搭建Nginx与tomcat整合,用Nginx代替apache 步骤: 一、安装Tomcat和JDK 1、上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin至/usr/local 2、执行如下命令安装tomcat: 查看 打印? 1. 2.#cd /usr/local 3.#tar zxvf apache-tomcat-6.0.18.tar.gz 解压完成后将apache-tomcat-6.0.18重命名为tomcat 3、执行如下命令安装JDK: 查看 打印? 1. 2.#./jdk-6u12-linux-i586.bin 4、配置环境变量: 编辑/etc下的profile文件,加上如下内容: 查看 打印? 1. 2.JAVA_HOME="/usr/local/jdk1.6.0_12" 3.CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib" 4.PATH=".:$PATH:$JAVA_HOME/bin " 5. 6.CATALINA_HOME="/usr/local/tomcat" 7.export JAVA_HOME CATALINA_HOME 5、启动tomcat并输入http://localhost:8080,如果看到猫的页面即tomcat和jdk安装成功 6、新建文件目录/home/www为网站存放目录,设置server.xml文件,在Host name="localhost"处将appBase=的指向路径改为/home/www/web

多媒体技术实验4流媒体服务器的搭建

实验四:流媒体服务器的搭建(2课时) 实验目的: 掌握流媒体服务器的安装与配置,学会视频/音频的传送方法。 实验内容: 1、安装Windows Media Service 2、使用Windows Media Service发布视频点播 实验设备及环境: 计算机、Windows 2003 Sever 虚拟机 相关知识: 1、流媒体 流媒体顾名思义,可以认为是流动的媒体,以连续流(数据包)的形式通过网络传递数字媒体。指的是影音等媒体文件被分解编码成数字信号像流水一样流向目的地,并在到达目的地时由播放器还原为图像或声音。这种方法在接收的同时呈现内容,从而可以连续地播放数据,而不必等待下载整个文件,流式处理的文件播放完后,它不会存储在计算机中。 2、发布点 Windows Media服务器是用来将客户端对媒体内容的访问请求转换为放置该内容的 服务器上的物理路径(呈现给播放器的是一个网址,类似于网站的根目录)。发布点是网管人员用来标志某种类型的媒体服务的点,通过媒体服务器的控制界面,可以看到这些点的工作状态并随时管理。 在客户端成功连接到发布点之后,Windows Media 服务器管理该连接并传输该内容,客户端通过连接到发布点而能访问来自服务器的内容流。有两种类型的发布点:“点播发布点”和“广播发布点”。一个Windows Media 服务器可以配置为运行多个发布点,可以广播和点播同时存在。 点播和广播有一些重要的区别。 (1)点播发布点 如果希望由客户端来控制播放,可以操作播放器的播放、暂停、快进等功能,则使用点播发布点。这种类型的发布点最常用于以文件、播放列表或目录为源的内容。当客户端连接到该发布点时,将从头开始播放内容。最终用户可以使用播放机上的播放控件来暂停、快进、倒回、跳过播放列表中的项目或停止。只有当客户端已连接且可以接收流时,点播发布点才可以传输内容。从点播发布点传输的内容总是以单播流的形式传递。这种方式适用于媒体的点播服务,这也是电影服务器要采用的方式。 (2)使用广播发布点 如果希望在服务器上控制播放和传输内容,则使用广播发布点。这就像是电台或电视台播放节目的方式,节目由服务器持续播放,你错过了就只能错过。这使用户有看电视节目

Nginx-1.0.15负载均衡安装配置

nginx-1.0.15负载均衡安装配置 OS:ubuntu 1、取得软件 pcre-8.30.zip nginx-1.0.15.tar.gz apt-get install gcclibpcre*zlib 2、安装rewrite的支持库pcre unzip pcre-8.30.zip cd pcre-8.30 ./configure make make install 3、配置nginx.conf cat /usr/local/nginx/conf/nginx.conf | grep -Ev '(#|^$)' worker_processes 1; events { worker_connections 1024; } http { includemime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream http://biz.doczj.com/doc/2d8539122.html, { server 10.0.0.252:8080; server 10.0.0.253:8080; server 10.0.0.105:8080; } server { listen 80; server_name http://biz.doczj.com/doc/2d8539122.html,; location ~ ^/$ { rewrite ^/(.*) /jboss/ break; proxy_pass http://biz.doczj.com/doc/2d8539122.html,; } } }

4、启动nginx服务 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

用HelixServer搭建流媒体服务器教程

搭建Helix Server服务器 如今网络上最流行的多媒体格式得算是RM格式了,这种格式由于压缩率高以及体积小的特点,所以特别适合于在网络上传播,因而很多娱乐网站都提供Real格式的媒体资源,以让用户进行访问,如在线电影,视频点播等。Real服务就是Real公司的流媒体服务器软件,其最新版本为Helix Server。它提供了对RM、RMVB、FLASH、RP/RT、MPEG-1、MPEG-4、QuickTime、ASF/WMA等几乎所有流行的流媒体格式文件的支持。下面我们来介绍如何在Windows xp中搭建、配置与管理Helix Server 视频点播服务器。 一、搭建Helix Server Helix Server软件既可从官方网站下载,也可以从国内许多知名软件网站获得。需要注意的是在安装Helix Server之前,应当确认自己已经获得了服务授权文件。当然如果到Helix Server的官方网站注册,可以获得一个免费试用12个月的授权文件(扩展名为.lic)。 (1)双击运行下载的Helix Server,它首先会自解压缩,然后将显示的Setup Of Helix Server安装向导。 (2)单击Next按钮,在这里键入授权文件的文件名及其所在的文件夹,也就是所申请的授权文件保存路径,当然也可以单击Browse按钮来查找并定位该文件。 (3)单击Next按钮,要求用户来详细阅读使用协议。 (4)单击其中的Accept按钮以接受协议,将显示安装路径对话框。建议采用系统默认值,即将应用程序文件保存在系统分区。由于在默认状态下,所有流媒体文件也将保存在该文件夹中,所以应当待安装完成后再来修改流媒体文件的保存路径。 (5)单击Next按钮,由于Helix Server是采用远程管理的方式,所以需要设置一个用来远程管理服务的用户名和密码。在Username文本框中键入用户名,Password文本框和Confirm Password文本框中分别键入相同的密码。 (6)单击Next按钮,将指定PNA方式连接时服务器的侦听端口,默认数值为7070,在这里建议采用系统默认值。 (7)单击Next按钮,在这里可以设置RTSP连接使用的端口号,默认端口号为554。建议采用系统默认值。 (8)单击Next按钮,这里要求设置HTTP的侦听端口,默认为80。由于80端口是Web服务的默认端口,因此当该计算机同时被配置为Web服务器时,应当将该数值修改为其他未被占用的端口号(如8080等),以避免由于端口冲突而

相关主题