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