Darwin Streaming Server編譯運行過程

原創。

 

 

一:編譯

Darwin6.0.3版本是最新版本,也提供了.dsw文件。但是使用vs2005和vc6是編譯不過的。
所以,採用Darwin5.5.5版本。使用vc6打開WinNTSupport文件夾下的.dsw工程,直接batch build,可一步生成。

使用vc編譯速度快,但是調試和看代碼不如2005方便。
下面主要是使用vs2005編譯的問題。

轉換vs2005的sln後,提示沒有StreamingloadingTool這個工程,不用管,因爲服務器不依賴於該工程。

(1)    提示:winsock2某些函數重定義。
方法:在所有#include <windows.h> 前面加上:
#define WIN32_LEAN_AND_MEAN    //zl
#include <windows.h>
(2)    提示:
error   C2039:   'timeGetTime'   :   is   not   a   member   of   '`global   namespace''
       方法:包含頭文件Mmsystem.h,並在工程設置中引入該Winmm.lib庫就OK了 
  Requirements    
      Windows   NT/2000:   Requires   Windows   NT   3.1   or   later.  
      Windows   95/98:   Requires   Windows   95   or   later.  
      Header:   Declared   in   Mmsystem.h.  
      Library:   Use   Winmm.lib. 
    注意:加在其他頭文件前面,並且形式如下,三行都要加上:
    #define WIN32_LEAN_AND_MEAN    //zl
#include <windows.h>    //zl
#include <Mmsystem.h>    //add by zl
(3)    error C2894: templates cannot be declared to have 'C' linkage
方法:QTSS.hOSHeader.hws2tcpip.hwspiapi.h
在QTSS.h中,使用了extern "C" 來包含頭文件,結果造成這個錯誤。template只在c++中存在。 解決方法是註釋掉QTSS.h 中的extern "C" {  和 }
(4)    在StreamingServer工程中,QTSSRTSPProtocol.h中也有extern "c" {…OSHeader.h…},同樣去掉extern部分
==========================================
二:運行
    在使用vs2005編譯完Debug版本之後,生成如下
 
讀ReadMe-MakeInstall.txt,瞭解安裝方法。現總結如下:
(1)    編輯makeZip.bat,使他copy Debug下的可執行文件,而不是Release下的。
(2)    雙擊運行makezip.bat,會在當前文件夾下生成
  主要是下面那個有用。
它裏面有exe,dll,還有從安裝包其他目錄拷過來的媒體文件。
(3)    將DarwinStreamingServer文件夾打包。
安裝包生成完畢。

運行方法:
    打開DarwinStreamingServer文件夾,雙擊Install.bat,即自動將程序拷貝至C:/Program Files/Darwin Streaming Server/...下,並生成Movies目錄,放置媒體文件。具體過程想了解的話可看Install.bat內容。
    命令行窗口打開C:/Program Files/Darwin Streaming Server/  執行:
#DarwinStreamingServer -d        即啓動服務器。
使用流媒體播放器輸入 rtsp://localhost:554/Sample_100kbit.mov 可看視頻。

============================================

Debug方法,生成的Debug版本的DarwinStreamingServer文件夾之後,雙擊安裝Install.bat,自動安裝到C盤。直接點debug就可以了。注意媒體文件放在C盤安裝目錄下,不要放在源代碼的DarwinStreamingServer文件夾下。程序讀取的是c盤那個指定文件夾下的東西。

======================================

#Darwinstreamingserver  選項參數在文檔中沒有。可以從程序中看有哪些選項。同時也可以 -v 命令看有哪些選項。

 

編譯的時候哪裏設置了可以顯示每個RTP包的信息,不知道在哪,忘了。 是printfpacket之類的函數作用。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章