目前主流的流媒体服务器有微软的windows media
server、RealNetworks的Helixserver和苹果公司的Darwin Streaming Server. 微软的windows
media server只能在windows2000 server和windows 2003
server下使用,不在考虑之列。RealNetworks的Helixserver是一款跨平台的软件,功能也很强大,但并非免费软件,只能cut掉
了。苹果公司的Darwin
StreamingServer是一款跨平台的开源流媒体服务器软件,由苹果公司出品,其品质不用怀疑了,而且还免费。所以在架设流媒体服务器时就选择了
DarwinStreaming Server.
Darwin Streaming
Server使用标准的实时传输协议/实时流媒体协议(RTP/RTSP),通过互联网实时传送媒体。Darwin Streaming Server
也能提供对传送 H.264、MPEG-4 和3GPP 文件的固有支持——因此,你可以在 Mac 和
Linux、Windows上的任何与标准兼容的媒体播放器上执行你的内容,当然还包括手机和接收盒等各种兼容标准的设备。不仅如此,它还允许你使用
Icecast兼容协议,通过 HTTP 传送标准的 MP3 文件到 MP3 客户端。
一、软件安装
首先上http://dss.macosforge.org/下载源代码,当前最新版本为6.0.3,但我选择了5.5.5版本,因为这个版本提供
了针对linux的安装脚本。下载DarwinStreamingSrvr5.5.5-Linux.tar.gz文件后,解压缩,然后运行如下命令安装:
-
~/tmp/DarwinStreamingSrvrlinux-Linux$ chmod +x Install
-
~/tmp/DarwinStreamingSrvrlinux-Linux$ sudo ./Install
-
[sudo] password for keensword007:
-
Installing Darwin Streaming Server
-
Checking for and Killing currently running Darwin Streaming Server
-
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
-
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
-
Removing previous versions of Darwin Streaming Server
-
Backing up previous config files
-
Inserting path to perl into scripts..
-
Creating unprivileged user to run the
server
=
"qtss"
.
-
copying DarwinStreamingServer to /usr/local/sbin/DarwinStreamingServer
-
copying PlaylistBroadcaster to /usr/local/bin/PlaylistBroadcaster
-
copying MP3Broadcaster to /usr/local/bin/MP3Broadcaster
-
copying qtpasswd to /usr/local/bin/qtpasswd
-
creating /usr/local/sbin/StreamingServerModules directory
-
copying createuserstreamingdir to /usr/local/bin/createuserstreamingdir
-
creating /etc/streaming directory
-
Generating a new prefs file at /etc/streaming/streamingserver.xml
-
INFO: Module Loaded...QTSSRefMovieModule [dynamic]
-
INFO: Module Loaded...QTSSHomeDirectoryModule [dynamic]
-
INFO: Module Loaded...QTSSFileModule [static]
-
INFO: Module Loaded...QTSSReflectorModule [static]
-
INFO: Module Loaded...QTSSRelayModule [static]
-
INFO: Module Loaded...QTSSAccessLogModule [static]
-
INFO: Module Loaded...QTSSFlowControlModule [static]
-
INFO: Module Loaded...QTSSPosixFileSysModule [static]
-
INFO: Module Loaded...QTSSAdminModule [static]
-
INFO: Module Loaded...QTSSMP3StreamingModule [static]
-
INFO: Module Loaded...QTSSAccessModule [static]
-
WARNING: No users file found at /etc/streaming/qtusers.
-
WARNING: No groups file found at /etc/streaming/qtgroups.
-
chown: invalid user: `qtss'
-
copying relayconfig.xml-Sample to /etc/streaming/relayconfig.xml-Sample
-
copying qtusers to /etc/streaming/qtusers
-
chown: invalid user: `qtss'
-
copying qtgroups to /etc/streaming/qtgroups
-
chown: invalid user: `qtss'
-
copying readme.txt to /var/streaming/readme.txt
-
copying 3rdPartyAcknowledgements.rtf to /var/streaming/3rdPartyAcknowledgements.rtf
-
creating /usr/local/movies directory
-
creating /var/streaming/playlists directory
-
copying sample_100kbit.mov into /usr/local/movies/sample_100kbit.mov
-
copying sample_300kbit.mov into /usr/local/movies/sample_300kbit.mov
-
copying sample_100kbit.mp4 into /usr/local/movies/sample_100kbit.mp4
-
copying sample_300kbit.mp4 into /usr/local/movies/sample_300kbit.mp4
-
copying sample.mp3 into /usr/local/movies/sample.mp3
-
copying sample_50kbit.3gp into /usr/local/movies/sample_50kbit.3gp
-
copying sample_h264_100kbit.mp4 into /usr/local/movies/sample_h264_100kbit.mp4
-
copying sample_h264_300kbit.mp4 into /usr/local/movies/sample_h264_300kbit.mp4
-
copying sample_h264_1mbit.mp4 into /usr/local/movies/sample_h264_1mbit.mp4
-
copying StreamingLoadTool to /usr/local/bin/StreamingLoadTool
-
copying streamingloadtool.conf to /etc/streaming/streamingloadtool.conf
-
copying streamingadminserver.pl into /usr/local/sbin/streamingadminserver.pl
-
copying Admin HTML to /var/streaming/AdminHtml directory
-
chown: invalid user: `qtss'
-
chown: invalid user: `qtss'
-
chown: invalid user: `qtss'
-
Launching streamingadminserver.pl
-
Cannot switch to group qtss
-
Installation Complete
-
Darwin Streaming Server Setup
-
Inorder to administer the Darwin Streaming Server you must
create anadministrator user [Note: The administrator user name
cannot containspaces, or single or double quote characters, and
cannot be more than255 characters long].
-
Please enter a new administrator user name: keensword007
-
Youmust also enter a password for the administrator user [Note:
Theadministrator password cannot contain spaces, or quotes,
either singleor double, and cannot be more than 80 characters long].
-
Please enter a new administrator Password:
-
Re-enter the new administrator password:
-
Adding userName keensword007
-
chown: invalid user: `qtss'
-
Setup Complete!
|
从提示信息上看,应该是qtss用户未能创建造成的,查看了一下Install脚本,发现创建用户的脚本是这样的:
-
if [ $
INSTALL_OS
=
"Linux"
]; then
-
/usr/sbin/useradd -M qtss
>
/dev/null 2
>
&1
-
else
-
/usr/sbin/useradd qtss
>
/dev/null 2
>
&1
-
fi
|
但是useradd并没有-M的命令行参数,应该为-m,将-M修改成-m后,再执行Install脚本,安装成功。此时服务已经启动,可以使用如下命令确定服务是否已经启动:
-
~/tmp/DarwinStreamingSrvrlinux-Linux$ ps aux | grep Darwin
-
root 10963 0.0 0.0 4368 456 ? Ss 21:23 0:00 /usr/local/sbin/DarwinStreamingServer
-
qtss 10964 0.0 0.0 38032 2456 ? Sl 21:23 0:00 /usr/local/sbin/DarwinStreamingServer
-
1000 11003 0.0 0.0 3004 760 pts/1 R+ 21:24 0:00 grep Darwin
|
如果希望机器启动后自动运行流媒体服务器,输入如下命令:
-
~/tmp/DarwinStreamingSrvrlinux-Linux$ cd /etc/rc3.d
-
/etc/rc3.d$ sudo ln -s /usr/local/sbin/streamingadminserver.pl s20streamingserver
|
如果要手动启动服务,运行streamingadminserver.pl程序。
二、配置
Darwin Streaming Server采用了web管理模式,可以在本机的浏览器中输入:http://127.0.0.1:1220 。然后输入在安装流媒体服务器时设置的用户名称和密码。
第一次登录时,接着会出现设置向导。首先是一个MP3 广播密码设置对话框,在其“New Password”和“Re-enter New Password”输入自己想设置的密码。然后点击“Next”按钮继续。
为了保证数据传输的安全需要您可以在这里钩选“Secure Administration(SSL)”(安全管理),前提是您已经有了可用的SSL 证书。一般可以不选。直接点击“Next”按钮继续。
接下来要设置的是媒体文件的存放主目录。这个目录要记住,在服务器中以后添加媒体文件时就要加在这个目录中。设置完毕点击“Next”按钮继续。
最后设置默认传输端口,如果设置了“Streaming on
Port80”则此服务器的访问可以突破防火墙,但如果您在此服务器上同时建有Apache
等占用80端口的服务。则建议您不要设置此端口。这里如果您没有什么特殊要求的话,使用缺省配置即可。直接点击“Finish”按钮。
自此流媒体服务器的设置就告一段落,如果您要作进一步的设置,可以通过此管理页面,在其左侧点击相应的选项,进行设置。也可以通过此对前面所做的设置进行更改。
三、在线播放
流媒体服务器部署完毕后,我们就可以使用自己喜欢的播放器在线播放了。例如,在本机上打开Movie Player, 在地址栏输入:
-
rtsp://127.0.0.1/sample_100kbit.mp4
|
就可以看到一段QuickTime演示视频。
分享到:
相关推荐
### Ubuntu下架设流媒体服务器的基本流程 #### 一、概述 随着互联网技术的发展,流媒体服务成为一种广泛应用于视频会议、在线教育、娱乐直播等多个领域的关键技术。在众多流媒体服务器解决方案中,苹果公司开发的...
在本文中,我们将深入探讨如何在Ubuntu操作系统上利用QT5.7框架和海康摄像头设备的网络SDK进行开发。这个项目旨在实现摄像头的预览、抓拍、人脸检测以及背图上传等功能。为了达成这些目标,开发者需要具备对QT GUI...
总的来说,"decklink ubuntu系统sdk"是一个允许开发者在Ubuntu Linux环境下利用DeckLink硬件进行视频处理和流媒体应用开发的强大工具。通过深入学习DeckLink API和结合FFmpeg,开发者可以构建出高效、灵活且专业级的...
对于网络流媒体播放器的开发,开发者利用了Android的开源特性,采用Java编程语言,并借助Eclipse集成开发环境进行程序编写。 Android平台上的音乐流媒体播放器设计涵盖了多个关键组件和功能。首先,播放器需要具备...
安装完成后,你可以通过编写简单的程序来测试OpenCV是否成功安装,如显示一幅图像或进行基本的图像处理操作。在Ubuntu 11.10中,OpenCV的使用将使开发者能够利用其丰富的功能,进行图像识别、对象检测、视频分析等...
1. **Linux Ubuntu**: Linux Ubuntu是一个基于Debian的自由开源操作系统,广泛应用于服务器、桌面和开发环境中。它提供了一个稳定、安全且用户友好的工作环境,支持各种编程语言和工具,对于开发来说是一个理想的...
在描述中提到,该系统允许用户设置RTSP地址,这意味着它可以灵活地接入不同来源的视频流,无论是本地网络中的摄像头还是远程服务器提供的视频源。此外,多线程的使用使得程序能够在处理多个视频流的同时保持响应速度...
【标题】"live555.tar.gz"是一个包含live555流媒体库源代码的压缩文件,适用于Ubuntu操作系统,并且使用了CDT(C++ ...无论是构建自定义的流媒体服务器还是开发复杂的客户端应用,这个工具包都是一个强大的起点。
"基于Qt和openCV人脸识别程序(linux-ubuntu系统下)"是一个使用C++编程语言,结合Qt框架和openCV库开发的人脸识别应用程序。这个项目特别指出是在Linux Ubuntu操作系统环境下运行,这意味着它可能需要利用Ubuntu的...
总之,超低延迟播放器通过结合FFmpeg的强大功能和精心的优化策略,实现了在RTSP、RTMP和HTTP协议下的小于100毫秒的延迟,为实时通信和流媒体应用提供了卓越的用户体验。在开发此类播放器时,理解不同协议的特性和...
首先,我们需要准备的是一个支持流媒体服务的 Web 服务器,例如 Nginx。Nginx 是一款高性能的 HTTP 和反向代理服务器,同时也是一个邮件代理服务器。在这里,我们将利用 Nginx 的 RTMP 模块来支持 FLV 流的推送和...
Gstreamer是一个强大的开源多媒体框架,它允许开发者处理各种类型的媒体数据,包括音频、视频以及元数据。在Linux系统上,特别是在嵌入式设备如arm架构的设备中,Gstreamer广泛用于处理USB摄像头(V4L2)的视频流。...
4. **编译与配置**:在Ubuntu环境下编译ijkplayer,意味着开发者可以在Linux服务器或者桌面环境中进行二次开发和自定义配置。这为开发者提供了更多的灵活性,可以根据实际需求调整ijkplayer的功能和性能。 5. **API...
Red5是一个开源的流媒体服务器平台,它提供了与Macromedia公司的Flash Media Server(FMS)相似的功能,主要支持基于Adobe Flash平台的实时通信应用,如音频、视频流,以及共享对象通信等。Red5利用Java语言开发,...
2. **流媒体支持**:除了播放本地文件,"realplay"还可以连接到流媒体服务器,实时播放在线内容。 3. **界面与控制**:虽然界面相对简单,但提供了基本的播放、暂停、快进、快退等控制功能。 4. **音视频设置**:...
在现代多媒体技术中,视频编码扮演着至关重要的角色,特别是在实时通信和流媒体服务中。X264是一个开源的库,专门用于实现高效的H.264视频编码。本文将详细探讨如何利用X264实时编码摄像头流并将其转化为H.264格式。...
在Linux环境下,Qt5是一个强大的跨平台应用开发框架,它提供了丰富的图形用户界面(GUI)组件和工具,而FFmpeg则是一个开源的多媒体处理库,支持音频、视频的编码、解码、转换和流媒体功能。将FFmpeg与Qt5结合,可以...
这个框架在Android平台上广泛使用,提供了强大的音视频播放功能,支持多种编码格式和流媒体协议。ijkplayer 0.7.8.1是该框架的一个版本,包含了在Ubuntu操作系统上编译好的动态链接库(so文件),这是专门为Android...
- 使用 STUN 和 TURN 服务器来帮助发现和中继媒体流。 - 利用 ICE 协议自动发现最优路径。 - **3.1.3 多媒体处理:** - 音视频编解码、回声消除、噪声抑制等。 - 使用 WebRTC 提供的 API 如 `RTCPeerConnection`...
“pulse音频采集”则表示 FFmpeg 这个构建集成了 PulseAudio,这是一种跨平台的音频服务器技术,用于管理音频流。在 Android 上,PulseAudio 可能被用来提供更灵活的音频输入和输出控制,例如在多个应用程序之间共享...