Linux RTSP Server

2019-07-12 23:31发布

http://blog.chinaunix.net/uid-22414998-id-113406.html


一、流媒体技术简介
简单的说,流媒体技术(Streaming Media Technology)是为解决以Internet为代表的中低带宽网络上多媒体信息(以视频、音频信息为重点)传输问题而产生发展起来的一种网络技术。采用流媒体技术,能够有效地突破低比特率接入Internet方式下的带宽瓶颈,克服文件下载传输方式的不足,实现多媒体信息在Internet上的流式传输。 "流媒体"的概念包括以下两个层面。其一,流媒体是计算机网络(尤其是中低带InternetIntranet) 上需要实时传输的多媒体文件,比如声音、视频文件。在传输前需要压缩处理成多个压缩包,并附加上与其传输有关的信息(比如,控制用户端播放器正确播放的必 要的辅助信息),形成实时数据流。数据流最大的特点是允许播放器及时反应而不用等待整个文件的下载。其二,流媒体是对多媒体信息进行"流化"处 理,可以称之为流技术。这种流技术把连续的影像和声音信息经过压缩处理后利用网络服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自 己的机器后才可以观看。该技术先在使用者的电脑上创造一个缓冲区,在播放前预先下载一段资料作为缓冲,在网络实际连接速率小于播放所耗用资料的速度时,播 放程序就会取用这一小段缓冲区内的资料,从而避免播放的中断,使得播放品质得以维持。
二、流媒体播放形式
1、单播方式:一台服务器传送的数据包只能传递给一个客户机,媒体服务器必须向每个用户发送所申请的数据包,多个点对点方式结合, 
2、组播方式:允许路由器将数据包复制到多个通道,客户端共享一个数据包,按需提供 
3、点播方式:客户端与服务器主动连接用户通过选择内容项目来初始化客户端连接 
4、广播方式:用户被动接受流,客户端接受流,但不能控制流。数据包的单独一个拷贝发动给网络上的所有用户,不管用户是否需要。 


三、流媒体的应用
1、远程教育 
2、视频电话会议 
3、视频点播 
4、互联网直播 
5、视频监控 


四、流媒体主流格式
1、realnetwork公司:三种 
2、apple公司:quicktimemov 
3、microsoft公司(1)asfwmvwma 
(2)avi 
(3)mpegmpgdat 
4、micromedia公司 
(1)flash的swf格式 
(2)metastream的mts格式 
(3)aam多媒体教学课件格式,可将authorware生成的文件压缩为aam和aas流式文件播放 

五、流媒体播放软件
1、RealOne Player:RealNetworks公司产品,保证低速用户在线播放,所以RM品质较差,对于交互式脚本动画支持较差,支持RA、MP3播放,但声音单薄 
2、Windows Media Player:微软公司产品,资源占用率较高,不提供卸载组件,与三方软件易产生冲突 
3、QuickTime:苹果公司产品,文件大适合与多媒体广告、产品演示、高清晰影片,只有文件片段下载完成后才能播放,图像质量低于前两者,mov格式在国内应用较少 

六、流媒体服务器种类
主流:Windows Media Server、Real Helix Server、Apple Darwin Server
直流:
1、Vatata发布的一款免费流媒体服务器软件-Vatata RTSP流媒体服务器,该软件是一款轻量级的流服务器软件,它可以替代目前主流的三种流媒体服务器软件:Windows Media Server、Real Helix Server和Apple Darwin Server,该系统目前可以运营在Windows、Linux以及大多数嵌入Linux平台上;
2、
 Missey流媒体服务器,Missey Streaming Server是南京感动科技自主研发并拥有完全自主产权的流媒体服务器软件。该服务器软件基于流媒体标准,在UNIX系统上开发而成,其应用性能指标和技术水准均属国际领先;(肯定不免费)
3、MSMStream是一套基于P2P的免费的完整的流媒体系统,它包括流媒体编码系统,流媒体服务器系统,客户端播放系统3个模块;
4、AVServer流媒体服务器 专业版 一款非常优秀的流媒体服务器程序!它支持 RM/RAM/ASF/WMV/MP3等等绝大多数格式的电影/音乐文件,拥用广泛的适应性、开放的数据库接口、超低的资源需求、智能化的流量控制、多方 位的及时监控能力、价格低廉、版本多样。企业版更有方便而全面的远程管理、监控、防止非法下载及全面的用户管理等等一系统特 {MOD}。是网吧、学校、小区、电影 网站等进行流媒体点播服务的理想选择。(非免费,有破解版)

七、Helix安装与配置
1、首先从www.realnetworks.com网站上下载helix(首页点击helix,然后点击download->30 days helix server),要下载必须先填写个人信息,切记必须选择上允许发送E-mail,否则将不能得到License文件。
2、保存rs1300-ga-linux-rhel5.tar.gz到/root/Desktop下,然后进入邮箱,下载附件RNKey-Helix_Server_10-Stream-130-701901058096682.lic,也放到桌面。
3、 修改文件权限:
[root@localhost Desktop]# chmod 755 rs1300-ga-linux-rhel5.bin 
[root@localhost Desktop]# ll
总计 17176
-rwxr--r-- 1 nobody nobody    26374 2009-12-02 RNKey-Helix_Server_10-Stream-130-701901058096682.lic
-rwxr-xr-x 1 root   root   17528347 07-01 11:18 rs1300-ga-linux-rhel5.bin
-rw------- 1 root   root       1192 11-25 12:00 server.c~
-rw------- 1 root   root          0 11-25 11:24 新文件~
4、开始安装:
[root@localhost Desktop]# ./rs1300-ga-linux-rhel5.bin 
Extracting files for Helix installation........................

Welcome to the Helix Server (Columbia) (13.0.0.479) Setup for UNIX
Setup will help you get Helix Server running on your computer.
Press [Enter] to continue...



If a Helix Server license key file has been sent to you,
please enter its directory path below. If you have not
received a Helix Server license key file, then this server
WILL NOT OPERATE until a license key file is placed in
the server's License directory.  Please obtain a free
Basic Helix Server license or purchase a commercial license
from our website at http://www.real.com/.  If you need
further assistance, please visit our on-line support area
at http://service.real.com/.

MachineID: 4907-e6f6-6367-c1f5-57be-f2cf-afdd-7744

License Key File: []: /root/Desktop/RNKey-Helix_Server_10-Stream-130-701901058096682.lic



Installation and use of Helix Server requires
acceptance of the following terms and conditions:
Press [Enter] to display the license text...
extracting text from file /root/Desktop/RNKey-Helix_Server_10-Stream-130-701901058096682.lic

REALNETWORKS, INC.
END USER LICENSE AGREEMENT

HELIX SERVER UNLIMITED - EVALUATION

REDISTRIBUTION NOT PERMITTED

IMPORTANT -- This RealNetworks
Evaluation License Agreement ("License
Agreement") is a legal agreement
between you (either an individual or an
entity) and RealNetworks, Inc. and its
suppliers and licensors (collectively
"RN") for an evaluation copy of RN's
Helix Server Unlimited (the
"Software").  You may install only ONE
copy of the Software.  By choosing
"Accept," installing, copying or
otherwise using the Software, you agree
to be bound by the terms of this
License Agreement.  If you do not agree
to the terms of this License Agreement,
select "Cancel" or "No" and/or do not
install the Software.

YOU AGREE THAT YOUR USE OF THE SOFTWARE
ACKNOWLEDGES THAT YOU HAVE READ THIS
LICENSE, UNDERSTAND IT, AND AGREE TO BE
BOUND BY ITS TERMS AND CONDITIONS.

ANY THIRD PARTY SOFTWARE, INCLUDING ANY
NON-REALNETWORKS PLUG-IN THAT MAY BE
PROVIDED WITH THE SOFTWARE IS INCLUDED
FOR USE AT YOUR OPTION.  IF YOU CHOOSE
TO USE SUCH SOFTWARE, THEN YOUR USE
SHALL BE GOVERNED BY SUCH THIRD PARTY'S
LICENSE AGREEMENT, AN ELECTRONIC COPY
OF WHICH WILL BE INSTALLED IN THE
"LICENSE" FOLDER UNDER THE DIRECTORY ON
YOUR COMPUTER IN WHICH YOU CHOOSE TO
INSTALL THE SOFTWARE.

1. ELIGIBILITY FOR THIS LICENSE.  This
license is only available to the
following organizations: (a)
Corporations, educational institutions,
government organizations or
not-for-profit organizations who deploy
the server for their own internal
non-commercial use.  Wireless Network
service providers or wireless network
operators may not deploy this Software
within their network(s). (b) End User
Network Service Providers of less than
200,000 subscribers.  As used in this
License Agreement, "End User Network
Service Providers" means an entity that
provides data network services to
consumers or individuals. (c ) Media
Companies with less than fifty million
dollars ($50,000,000) in  annual
revenue.  As used in this License
Agreement, "Media Company" means an
entity that provides text, audio or
video programming to distributors or
direct to consumers in exchange for
fees or based on an advertising
business model.  Notwithstanding the
above, this License Agreement is not
available to an organization that is
using this Software to provide content
to consumers via an Operator. As used
in this License Agreement, "Operator"
means an organization that provides
voice and/or data network services to
consumers and businesses through
wireless wide area network
technologies, including but not limited
to GPRS, Edge, CDMA2000, UMTS, EVDO and
WiMax; eligible organizations may
either own or lease network
infrastructure (MVNO).

2. SOFTWARE OWNERSHIP.  This is an
evaluation License Agreement and NOT an
agreement for sale.  Title, ownership
rights and intellectual property rights
in and to the Software (including any
images, animations, video, audio,
music, and text incorporated into the
Software), accompanying printed
materials, and any copies Licensee is
permitted to make herein are owned by
RN or its suppliers and are protected
by United States copyright law and
international treaty provisions.
Licensee's rights to use the Software
are specified in this License
Agreement, and RN retains all rights
not expressly granted to you in this
License Agreement.  Nothing in License
Agreement constitutes a waiver of RN's
rights under U.S. or international
copyright law or any other federal or
state law.
(按下Q键,提前退出)
GRANT OF LICENSE.  Subject to the
provisions contained herein,
Choose "Accept" to accept the terms of this
license agreement and continue with Helix Server setup.
If you do not accept these terms, enter "No"
and installation of Helix Server will be cancelled.
I accept the above license: [Accept]: 


Enter the complete path to the directory where you want
Helix Server to be installed.  You must specify the full
pathname of the directory and have write privileges to
the chosen directory.
Directory:  [/root/Desktop]: /usr/helix

Please enter a username and password that you will use
to access the web-based Helix Server Administrator and monitor.
Username []: admin
Password []: 
Confirm Password []: 

Please enter a port on which Helix Server will listen for
RTSP connections.  These connections have URLs that begin
with "rtsp://"
Port [554]: 

Please enter a port on which Helix Server will listen for
HTTP connections.  These connections have URLs that begin
with "http://"
Port [80]: 8090

Please enter a port on which Helix Server will listen for
MMS connections.  These connections have URLs that begin
with "mms://"
Port [1755]: 

Please enter a port on which Helix Server will listen for
Fast Channel Switching Control connections.  These connections have URLs that begin
with "http://"
Port [8008]: 


Please enter a port on which Helix Server will listen for
Playlist control connections.  These connections have URLs that begin
with "http://"
Port [8009]: 8090



Please enter a port on which Helix Server will listen for
File System control connections.  These connections have URLs that begin
with "http://"
Port [8010]: 



Helix Server will listen for Administrator requests on the
port shown.  This port has been initialized to a random value
for security.  Please verify now that this pre-assigned port
will not interfere with ports already in use on your system;
you can change it if necessary.

Port [23328]: 



You have selected the following Helix Server configuration:

Encoder User/Password:  admin/****
Monitor Password:       ****
Admin User/Password:    admin/****
Admin Port:             23328
RTSP Port:              554
HTTP Port:              8090
MMS Port:               1755
FCS Port:               8008
SSPL Port:              8090
Content Mgmt Port:      8010
Destination:            /usr/helix

Enter [F]inish to begin copying files, or [P]revious to go
back to the previous prompts: [F]: 



Copying Helix Server files....
Helix Server installation is complete.

If at any time you should require technical
assistance, please visit our on-line support area
at http://service.real.com/.

Cleaning up installation files...
Done.

启动helix服务器
[root@localhost ~]# cd /usr/helix/
[root@localhost helix]# ./Bin/rmserver rmserver.cfg &
Server Started:   02-Dec-09 05:44:58
Helix Server (c) 1995-2009 RealNetworks, Inc. All rights reserved.
Version:   Helix Server (Columbia) (13.0.0.479) (Build 192988/13941)
Platform:  linux-rhel5-i686

Using Config File: rmserver.cfg

System Info:
OS: Linux localhost.localdomain 2.6.18-92.el5 i686 (CentOS release 5.2 (Final))
CPU: GenuineIntel : Intel(R) Pentium(R) Dual  CPU  E2140  @ 1.60GHz
Host: localhost.localdomain
MACAddr(first): 00:0C:29:FF:3F:9C
MachineID: 4907-e6f6-6367-c1f5-57be-f2cf-afdd-7744
Starting PID 5052 TID 3085948656, procnum 0 (controller)
Creating Server Space...
Server has allocated 256 megabytes of memory
Starting TID 3083860864, procnum 1 (timer)
Calibrating timers...
Interval timer enabled (10ms resolution).
Starting TID 3081763712, procnum 2 (core)
Starting Helix Server 13.0 Core...
E: UASPath is not a valid directory
1 CPU Detected...
Testing File Descriptors...
Setting per-process descriptor capacity to 670(1000), 24...
Testing Mutex...(1391.30 ops/usec)
Testing AtomicOps...(55.98 ops/usec)
I: Loading Plugins from /usr/helix/Plugins...
I: slicensepln.so   0xd02430  RealNetworks Server Licensing Plugin
I: tagfsys.so       0x111850  RealNetworks XMLTagFileSystem
I: qtbcplin.so      0xaee7c0  RealNetworks RTP Live Broadcast Plugin
I: rn5auth.so       0x122ff0  RealNetworks RN5 Authenticator
I: rn5auth.so       0x122ff0  RealNetworks Digest Authenticator
I: smplfsys.so      0x13f530  RealNetworks Local File System
I: audplin.so       0x304530  RealNetworks G.7xx Renderer Plugin
I: audplin.so       0x304530  Helix PCM Audio Renderer Plugin
I: audplin.so       0x304530  RealNetworks AU File Format Plugin
I: audplin.so       0x304530  Helix WAVE File Format Plugin
I: audplin.so       0x304530  Helix AIFF File Format Plugin
I: audplin.so       0x304530  RealNetworks DVI4 Renderer Plugin
I: xmlcfg.so        0x168f10  RealNetworks XML Configuration Plugin
I: ppvallow.so      0x350700  RealNetworks Pay Per View Allowance Plugin
I: smonplin.so      0x193e60  RealNetworks System Monitor
I: wmsrcpln.so      0x8eb990  RealNetworks Windows Media Live Broadcast Source Plugin
I: ppvmsql.so       0xd3c730  RealNetworks Mini-SQL PPV Database Plugin
I: asncfsys.so      0x1a1470  RealNetworks Network Optimized File System
I: redbcplin.so     0x1bd380  RealNetworks Broadcast Redundancy Plugin
I: ppvbasic.so      0x1e0a00  RealNetworks FlatFile Database Plugin
I: cdadplin.so      0x4195d0  RealNetworks Content Distribution Advise Plugin
I: vsrcplin.so      0x1ede10  RealNetworks View Source Tag Replacement Plugin
I: vsrcplin.so      0x1ede10  RealNetworks View Source Allowance Plugin
I: vsrcplin.so      0x1ede10  RealNetworks View Source File System
I: imgfformat.so    0xda6f20  Helix JPEG File Format Plugin
I: imgfformat.so    0xda6f20  Helix GIF File Format Plugin
I: imgfformat.so    0xda6f20  Helix PNG File Format Plugin
I: imgfformat.so    0xda6f20  Helix RealPix Format Plugin
I: imgfformat.so    0xda6f20  Helix RealPix JPEG File Format Codec Plugin
I: imgfformat.so    0xda6f20  Helix RealPix GIF File Format Codec Plugin
I: imgfformat.so    0xda6f20  Helix RealPix PNG File Format Codec Plugin
I: imgfformat.so    0xda6f20  Helix WBMP File Format Plugin
I: shelfsys.so      0xc114f0  RealNetworks Shell File System
I: tmplgpln.so      0x2b3da0  RealNetworks Custom Logging Plugin
I: svrbascauth.so   0x538030  RealNetworks Basic Authenticator
I: authmgr.so       0x23a340  Helix Authentication Manager
I: pplyplin.so      0x26f460  RealNetworks Scalable Multicast Plugin
I: brcvplin.so      0x376d10  RealNetworks Broadcast Reception Plugin
I: isphoster.so     0x225d00  RealNetworks ISP hosting plugin
I: bdstplin.so      0x428910  RealNetworks Broadcast Distribution Plugin
I: adminfs.so       0x46c1d0  RealNetworks Admin File System
I: hxsdp.so         0x2de960  RealNetworks SDP Stream Description Plugin
I: wmmcastpln.so    0x3e81e0  RealNetworks Windows Media Multicast Plugin
I: mp4fformat.so    0x4df3e0  RealNetworks Mpeg4 File Format Plugin
I: archplin.so      0xe5f7d0  RealNetworks Live Archiver Plugin
I: mp3fformat.so    0x3fcf50  RealNetworks MP3 File Format Plugin
I: rtfformat.so     0x4ada60  Helix RealText File Format Plugin
I: cdistpln.so      0x2a1bc0  RealNetworks Content Distribution Plugin
I: plusplin.so      0x54d810  RealNetworks PlusURL File Format Plugin
I: rmfformat.so     0x5ba9d0  RealNetworks RealMedia File Format Plugin
I: httpfsys.so      0x603f90  RealNetworks HTTP File System with CHTTP Support
I: httpfsys.so      0x603f90  RealNetworks RFC 2397 Data Scheme File System
I: encfs.so         0xce0160  RealNetworks Encoder Administration File System Plugin
I: asfwmpln.so      0x57fa30  RealNetworks Active Stream Format Version 1 Plugin
I: meiffpln.so      0x695720  RealNetworks Media Export File Format Plugin
I: smlfformat.so    0x926440  RealNetworks SMIL File Format Plugin
I: sdpgenfsys.so    0xb2dfa0  RealNetworks Dynamic SDP Generation Plugin
I: snmpplin.so      0xc23e70  RealNetworks Snmp Plugin
I: asxplin.so       0x40e270  RealNetworks Asxgen File System
I: miiplin.so       0xf00af0  RealNetworks Media Import Plugin
I: dbmgr.so         0x58dd80  RealNetworks Database Manager
I: ramplin.so       0x52ba40  RealNetworks Ramgen File System
I: allow.so         0x65a2d0  RealNetworks Basic Allowance Plugin
I: rncache.so       0x6a1f10  RealNetworks Cache Plugin
I: swfformat.so     0x8a3e20  RealNetworks Macromedia Flash 4 File Format Plugin
I: avifformat.so    0x6c6b10  RealNetworks AVI File Format Plugin
Starting TID 3079666560, procnum 3 (rmplug)
Loading Helix Server License Files...
Starting TID 3077569408, procnum 4 (rmplug)
Starting TID 3075472256, procnum 5 (rmplug)
Starting TID 3073375104, procnum 6 (rmplug)
Starting TID 3071277952, procnum 7 (rmplug)
Starting TID 3069180800, procnum 8 (rmplug)
Starting TID 3067083648, procnum 9 (rmplug)
Starting TID 3064986496, procnum 10 (rmplug)
Starting TID 3062889344, procnum 11 (rmplug)
Starting TID 3060792192, procnum 12 (rmplug)
Starting TID 3058695040, procnum 13 (rmplug)
Starting TID 3056597888, procnum 14 (rmplug)
Starting TID 3054500736, procnum 15 (rmplug)
Starting TID 3052403584, procnum 16 (rmplug)
Starting TID 3050306432, procnum 17 (rmplug)
Starting TID 3048209280, procnum 18 (memreap)
Starting TID 3046112128, procnum 19 (streamer)



停止helix服务器
 ps -ef | grep rmserver
root      4910  4890  0 05:41 pts/1    00:00:00 ./Bin/rmserver rmserver.cfg
root      4916  4910  2 05:41 ?        00:00:03 ./Bin/rmserver rmserver.cfg
root      4917  4910  0 05:41 ?        00:00:00 ./Bin/rmserver rmserver.cfg
root      5041  4995  0 05:43 pts/2    00:00:00 grep rmserver
[root@localhost ~]# cd /usr/helix/
[root@localhost helix]# ls
adm_b_db  Commerce     enc_r_db            Lib         plm_b_db      slta.cfg
Bin       Content      enc_w_db            License     Plugins
Cache     default.cfg  HelixAdministrator  Logs        rmserver.cfg
cdi_b_db  enc_b_db     helixserver.my      master.cfg  Secure
[root@localhost helix]# cat Logs/rmserver.pid 
4916
[root@localhost helix]# kill 4916