5、开机启动
vi /etc/rc.local
添加如下代码:perl /usr/local/sbin/streamingadminserver.pl
不是所有的视频文件都可以用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=1 sample.3gp
# mp4creator -hint=2 sample.3gp
编译安装mpeg4ip一直出错, 可能是ffmpeg版本问题,过几天有空继续研究mpeg4ip的编译
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
格式不能正常播放出现报错
问题: 自行转成 .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)
rpm -ivh --nodeps --force mpeg4ip-1.5.0.1-1.fc4.rf.i386.rpm
4.3.3 转档 ( 若已用其他转档工具则跳过此步骤)ffmpeg -i input.wmv -f mov output.mov
4.3.4 赋予 hint trackmp4creator -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配置: