系统环境为CentOS 6.2 64位
一,准备工作
DSS主页:http://dss.macosforge.org/下载安装包:wgethttp://dss.macosforge.org/downloads/DarwinStreamingSrvr6.0.3-Source.tar安装参考:http://blog.csdn.net/offbye/article/details/4925941http://www.cnblogs.com/MikeZhang/archive/2012/07/06/CentOS6InstallDarwin.htmlhttp://topic.csdn.net/t/20020329/22/610169.html http://bbs.phpchina.com/blog-48643-194956.html
http://blog.sina.com.cn/s/blog_691d51a40100l8ue.html
groupadd --system qtss
useradd -g qtss qtss
二,开始安装tar-xvf DarwinStreamingSrvr6.0.3-Source.tar
mvDarwinStreamingSrvr6.0.3-Source
DarwinStreamingSrvr6.0.3-Source.orighttps://weblion.psu.edu/svn/weblion/users/dcn113/dss-6.0.3.patch
patch-p0 < dss-6.0.3.patch
mvDarwinStreamingSrvr6.0.3-Source.orig
DarwinStreamingSrvr6.0.3-Sourcewgethttps://weblion.psu.edu/svn/weblion/users/dcn113/dss-hh-20080728-1.patch
patch-p0 < dss-hh-20080728-1.patchcd DarwinStreamingSrvr6.0.3-Source
mvInstall Install.orig
wgethttp://dss.macosforge.org/trac/raw-attachment/ticket/6/Install
chmod+x Install
./Buildit
./Install
5、开机启动
vi /etc/rc.local
添加如下代码:perl /usr/local/sbin/streamingadminserver.pl
测试结果安装成功后服务端程序自动运行,其它情况下也可以手动启动/usr/local/sbin/DarwinStreamingServer,现在用vlc来测 试下DSS是否安装成功。服务端可供播放的视频文件存放于/usr/local/movies/,DSS配置文件是/etc/streaming /streamingserver.xml,日志文件存在于/var/streaming/logs,可登录http: //192.168.95.134:1220进行页面管理windows下面推荐用vlc player来测试流媒体……绿色软件,啧啧,比quicktime和realplayer好多了
不是所有的视频文件都可以用Darwin来Streaming,根据FAQ,它只支持
QuickTime Movie (MOV), MPEG-4 (MP4), and 3GPP (3GP) “hinted” files.
也就是说要有hint track的视频文件.
Hint Track是QuickTime定义的一种索引轨道,我们可以认为就是索引
嗯,准备用的流媒体文件是3gp格式(aac+mp4),默认不带hint track,需要用一个工具处理,加上hint track
这个伟大又变态的工具就是mpeg4ip了,这个东西现在还有编译成功,只能用一个rpm包顶着,郁闷
从rpm安装mpeg4ip也很简单
由于网上提供的mpeg4ip的rpm包不太完整,首先你需要libmp4v2,这个本来包含在mpeg4ip源代码里面的,嗯,如果有rpm就好了,我懒得找,直接从源码编译
下载http://resare.com/libmp4v2/dist/libmp4v2-1.5.0.1.tar.bz2,
解压,编译,安装
然后到http://dries.ulyssis.org/apt/packages/mpeg4ip/info.html下载
mpeg4ip-1.5.0.1-1.fc4.rf.i386.rpm,强制安装 现在无法下载了
网上说的方法无效
# rpm -ivh –nodeps –force mpeg4ip-1.5.0.1-1.fc4.rf.i386.rpm 安装提示参数错误
完工
转换视频并加索引
# ffmpeg -i sample.wmv -acodec libfaac -vcodec mpeg4 sample.3gp
# mp4creator -hint=1sample.3gp
# mp4creator -hint=2 sample.3gp
按照几年前的方法编译安装mpeg4ip一直出错, 官网也没有找到下载,于是在网上找了个地址
http://blog.sina.com.cn/s/blog_691d51a40100l8ue.html
mpeg4ip.tar.gz安装
安装mpeg4ip.tar.gz需要安装SDL
mpeg4ip-1.6.1.tar.gz下载地址
http://dlwt.csdn.net/fd.php?i=210720578311723&s=05bcb1b814fc777ab6ae2cce23bf0022
mpeg4ip-1.5.0.1.tar.gz下载地址
http://nchc.dl.sourceforge.net/project/mpeg4ip/mpeg4ip/1.5.0.1/mpeg4ip-1.5.0.1.tar.gz
SDL安装方法
yum install SDL
yum install SDL-devel
mpeg4ip安装方法
[shell]#tar -zxf mpeg4ip-1.6.1.tar.gz
[shell]#cd mpeg4ip-1.6.1
[shell]#./bootstrap --prefix=/usr --enable-ffmpeg=/usr --disable-player --disable-server
[shell]#make
[shell]#make install
2.2 查看是否安装成功
id qtss
uid=501(qtss) gid=502(qtss) groups=502(qtss)
ps aux | grep Darwin
root ... ... ... /usr/local/sbin/DarwinStreamingServer
qtss ... ... ... /usr/local/sbin/DarwinStreamingServer
netstat -ntulp | grep Darwin
tcp 0.0.0.0:8001
tcp 0.0.0.0:554
tcp 0.0.0.0:7070
udp 127.0.0.1:6970
udp 192.168.0.1:6970
udp 127.0.0.1:6971
udp 192.168.0.1:6971
udp 127.0.0.1:6976
udp 127.0.0.1:6977
udp 127.0.0.1:6978
udp 127.0.0.1:6979
2.3 启动命令
启动服务(安装已经启动,不需要再启动)
启动 Darwin Streaming Server
/usr/local/sbin/DarwinStreamingServer
启动 Web 管理接口 (tcp port 1220) (安装已经启动,不需要再启动)
/usr/local/sbin/streamingadminserver.pl
2.4 关闭命令
Kill -9 Darwin Streaming Server进程
3 管理界面配置3.1
连入管理接口进行设定
开启浏览器, 连入http://darwin.streaming.server:1220/
第一次进入管理接口, 需进行以下设置:
MP3 Broadcast Password: 设定 MP3 广播密码
Secure Administration: Web 管理接口是否启用 SSL 安全联机 (视需求,本次设置为否)
Media Folder: 设定多媒体文件存放路径 (默认 /usr/local/movies,本次设置为默认,如若修改路径不会对目标目录产生影响)
Streaming on Port 80: 是否以 80 port 传送串流数据 (视需求,本次设置为否)
3.2 建立 MP3 音乐串流
支持格式: mp3
点选 Playlists → New MP3 Playlist
Name: myaudio
Mount Point: /myaudio
Play Mode: Sequential Looped (依序循环播放)
将 Available Content 里的 MP3 档案拖曳到右边窗格 (Items in This Playlist),
最后按 Save Changes 储存设定
Available Playlists → myaudio → Status 点选播放按钮即开始放送
3.3 建立视讯串流
支持格式: 3gp、mp4、mov
点选 Playlists → New Media Playlist
Name: myvideo
Mount Point: myvideo.sdp
Play Mode: Sequential Looped (依序循环播放)
将 Available Content 里的多媒体档案拖曳到右边窗格 (Items in This Playlist),
最后按 Save Changes 储存设定
Available Playlists → myvideo → Status 点选播放按钮即开始放送
3.4 收听及推流播放方式
以 MP3 播放软件收听 MP3 音乐串流
档案 → 开启 URL →http://darwin.streaming.server:7070/mp3_mount_point
以 QuickTime Player 收看影音串流
File → Open URL → rtsp://darwin.streaming.server/playlist (观看播放列表提供的内容)
或
File → Open URL → rtsp://darwin.streaming.server/filename.mov (指定观看某一支档案)
4 安装是报错排除方法
4.1 出现警告信息(Movie file does not match SDP)
- Movie set up failed: Movie file does not match SDP.
(file: /usr/local/movies/sample_300kbit.mov err: 16 Movie file does not match SDP.)
- PlaylistBroadcaster: Warning, movie tracks do not match the SDP file.
4.2 出现错误信息(error: 15)
There is (1) movie in the Playlist.
Ref Movie = /usr/local/movies/sc2.mp4
SDP file = /var/streaming/playlists/test4/test4.sdp
- SDP generation failed (error: 15).
Warnings: 0
Errors: 1
4.3 警告信息与错误信息解决方法
格式不能正常播放出现报错
问题: 自行转成 .mov .mp4 的档案无法串流播放 (产生 ERROR 15 错误)
原因: .mov 档案中没有指定 hint track
排除方法: 以 mp4creator (mpeg4ip 里的程序) 赋予 hint track
操作环境: CentOS 5
4.3.1 安装 ffmpeg (转档工具
& codecs)
参考ffmpeg安装文档
4.3.2 安装 mpeg4ip (用来赋予
hint track)
mpeg4ip.rpm 下载网页
rpm -ivh --nodeps --forcempeg4ip-1.5.0.1-1.fc4.rf.i386.rpm
4.3.3 转档 (若已用其他转档工具则跳过此步骤)
ffmpeg -i input.wmv -f mov output.mov
4.3.4 赋予 hint track
mp4creator -hint=1 output.mov
mp4creator -hint=2 output.mov
hint track 只要各执行一次就可以了, 不用理会这个错误讯息:
MP4ERROR: MP4File::FindIntegerProperty: no such property -moov.trak[1]...
执行多次反而会破坏这个档案
以上产生的 output.mov 即可由 Darwin Streaming Server 正常放送
Darwin Streaming Server配置:http://blog.sina.com.cn/s/blog_677089db01016xc6.htmlhttp://topic.csdn.net/t/20020329/22/610169.html
媒体流化:
安装MP4Box
yum install subversion
svn co https://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac gpac
cd gpac
cp -r ../gpac_extra_libs/* extra_lib/
chmod +x configure
./configure
make
make install
cp bin/gcc/libgpac.so /usr/lib
ldconfig
给mp4加hint
MP4Box test.mp4 -hint
最近研究mp4文件的转码与分割合并,需要使用mp4box这个工具。目前这个工具合并到gpac开源项目中,如果需要下载安装的话需要到GPAC的官网去。
首先介绍下GPAC项目吧,这个项目的目标是致力实现一个mpeg4 system,成为MPEG-4标准的实现参考,合并现在一些标准到其框架下等,项目目前每天都有代码提交,比较活跃。其他信息可以到其主页查看:http://gpac.wp.institut-telecom.fr/。
下面说下mp4box的安装,官网提供每日最新的编译安装包,支持windows、Linux、Andoid、Mac等平台,可以直接下载2进制格式直接使用。不过其提供的Linux二进制包是基于deb的,只支持ubuntn10.10以上版本。所以其他的Linux系统只能从源代码进行安装。
首先下载代码,需要使用svn进行同步:svn cohttps://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac
gpac
然后到http://sourceforge.net/projects/gpac下载其所依赖的三方库gpac extr libs,当前是最新的是0.4.5版本,把下载下来的压缩包解压,并将其中的子目录复制到gpac源代码目录的extra_lib/下。
按照官方文档的说明,此时只需要在gpac的源代码目录里,执行./configure;make;make install即可。不过根据不同的平台,config生成的makefile可能有问题,多数情况下编译会出各种问题。至少我在centos5.4和ubuntu8.04系统中都没顺利编译通过。
遇到的多数问题是缺少外部依赖,最重要的几个依赖为freetype 、freeglut以及zlib,这些依赖需要进入extra_lib目录,按照其中的说明文档逐个编译,在编译三方库的时候也不是很顺利,有时候不得不yum install和apt-get从源中下载,把大数的依赖都搞定了,问题算解决了一半。在编译gpac时依然编不过,不得不把编不过的模块在./configure时去掉,并把gpac配置生成为static,mp4box生成为非static。需要./configure --help仔细一下,经过一翻调整,gpac才生成最终的lib和mp4box以及mp4client,其他的应用依不能成功编过。不过我只要mp4box和mp4client,其他的东西并不关心,没有生成就算了。
mp4client的使用比较简单,它可以播放本地的mp4文件,远程http播放存在问题,一直不成功。
mp4box使用比较复杂,具有许多功能,它可以进行mp4文件的合并、切割、提取其中的track及相关信息,还可以对mp4文件的物理格式进行改写,对mp4文件的每个结构进行改写如版权、语言等等。具体可以查看:http://gpac.wp.institut-telecom.fr/mp4box/mp4box-documentation/
下面对一些较常用的选项进行说明:
mp4box一般并不对音频、视频等进行转码操作。
1 通用选项 mp4box -h general
-tmp dir指定生成临时文件的目录
-inter duration 将chunk的media数据按指定间隔进行交错,用于优化流传输或文件访问,所有meta数据放在文件头部,允许在下载的内容内回放。默认交错0.5s,若指定为0,则所有meta数据存在于文件头。
-tight 对媒体轨道执行基于采样的交错(生成文件较大)。在服务器侧为减少磁盘查找时间,用于hint文件时。
-flat 强制采用平坦存储,媒体数据不进行交错,meta数据在于文件结束。当使用-add创建新文件时,将不会创建临时文件
-frag ms 对媒体文件进行分段,分的小段中含有meta及media数据交错而不是存在文件开始或结束。分段将禁止交错。
-isma 把文件处理为isma规范格式
-3gp 移除mpeg4系统信息,转换成3gp规范,保留音、视、文本轨道等3gp支持的
-brand ABCD 设置主brand
-ab ABCD 设置从brand
-rb ABCD 移除从brand
-rem trackID 从文件中移除轨道
-par trackID=PAR
-lang [trackID=lang] 为轨道指定语言,若没有指定ID,则为全部轨道
-delay trackID=time 设置指定轨道延迟时间,单位为微秒
-name trackID=name 设置指定轨道的处理名,处理名有时用来识别内容
-cprt string: 为文件增加版权信息
-chap chap_file 将chap_fil中的chapter信息增加到目的文件中
2 文件转换 mp4box -h import (具体支持的文件可以查看官网网页)
文件转换语法如下:mp4box -add file1 -add file2 [-new] dest,通常情况下支持最多20个add
分享到:
相关推荐
目前主流的流媒体服务器有微软的windows media server、RealNetworks的Helixserver和苹果公司的Darwin Streaming Server. 微软的windows media server只能在windows2000 server和windows 2003 server下使用,不在...
Darwin Streaming Server是Apple的流媒体服务器,本文介绍了Darwin Streaming Server的搭建步骤,仅供参考。
基于Darwin Streaming Server的快速流媒体中继实现,计叶,,终端设备能力日益增强,网络带宽日益增加,用户通过网络获取媒体数据的需求量越来越大。当大量用户访问同一流媒体服务器时,服务
Windows下Darwin Streaming Server配置,包括perl和Darwin安装文件,还有配置文件
this just tell you how to install and use Darwin Streaming Server
学习流媒体Darwin streaming server的笔记,可以快速的了解Darwin streaming server的内部结构和程序流程。
Darwin streaming server6.0.3安装补丁,修正了在32位linux上,Darwin streaming server6.0.3在执行Buildit时的类型错误和其他一些错误。
Darwin Streaming Server 流媒体server的 安装流程。。。。
Darwin Streaming Server 6.0.3补丁文件
Darwin streaming server 6.0.3安装方法
很全面的Darwin streaming server 分析文档,对于研究DSS有很大的帮助
Darwin流媒体服务器,适用于转发,性能超强
NULL 博文链接:https://feng88724.iteye.com/blog/745570
本文介绍Centos搭建EasyDarwin流媒体服务器的基本流程,给初学者做一个参考,少走一些没必要的弯路。
dss中文资料,Apple官方网站上的,整理成chm离线使用
达尔文方案搭建流媒体服务器相关的说明文档,所需的三个程序在我的资源里面有下载 ActivePerl-5.12.4.1205-MSWin32-x86-294981.exe DarwinStreamingSrvr5.5.5-Windows.exe QuickTimeInstaller.exe Darwin_Streaming_...
Darwin Streaming Server的中文开发资料,详细介绍了各个类的结构,以及TASK/Thread结构模型,是开发流媒体服务器的必备资料.
Darwin Streaming Server 5.5.5源代码分析文档 DarwinStreamServer是苹果公司开发的流媒体视频服务器。我们分析的代码基于版本5.5.5。
darwin streaming server #1
darwin streaming server installation