Darwin Streaming Server用vs2005编译运行过程

时间:2023-02-08 19:18:08

原创。

一:编译

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版本之后,生成如下
 Darwin Streaming Server用vs2005编译运行过程 
读ReadMe-MakeInstall.txt,了解安装方法。现总结如下:
(1)    编辑makeZip.bat,使他copy Debug下的可执行文件,而不是Release下的。
(2)    双击运行makezip.bat,会在当前文件夹下生成
  Darwin Streaming Server用vs2005编译运行过程 主要是下面那个有用。
它里面有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之类的函数作用。