14:46:34
环境:Centos 7.3
编译安装
1.下载Darwin源码
http://dss.macosforge.org/downloads/DarwinStreamingSrvr6.0.3-Source.tar
2.下载附件 dss_patch(里面有两个文件 dss-6.0.3.patch 和 dss-hh-20080728-1.patch)
3.解压进入源码目录,找到QTSSModuleUtils.cpp文件,修改IPComponentStr IPComponentStr::sLocalIPCompStr("127.0.0.1");为IPComponentStr IPComponentStr::sLocalIPCompStr("*.*.*.*");(不修改的话只允许本地推流)
4.编译源码,步骤参考:http://blog.51cto.com/zhoushouby/1437374
5.安装(记得先添加用户组 qtss和用户qtss)
常见问题:
1.ffmpeg推流到DarwinStreamServer返回401
问题产生原因:服务器只允许本地推流
解决方法1:修改源码,在编译源码安装篇处理(如编译安装步骤3)
解决方法2:在DarwinStreamServer的movies目录中添加一个qtaccess文件,内容为:
<Limit WRITE>
require any-user
</Limit>
<Limit READ>
require any-user
</Limit>
2.如果远程服务器没有设置公网ip ffmpeg时会返回404
问题产生原因:DarwinStreamServer不知道自己已经身处公网环境(呆萌可爱)
解决方法:ip addr add dev eth0 [公网IP],向eth0添加一个公网地址就解决问题了
用ip addr查看是否添加成功
添加之后别忘了重启DarwinStreamServer!!!
3.在一切看上去都正常的时候,ffmpeg推流又报错:av_interleaved_write_frame(): Broken pipe
问题产生原因:ffmpeg到DarwinStreamServer 服务器端的udp传输不稳定
解决方法:在 -f rtsp后面加上 -rtsp_transport tcp !!!强制使用tcp