Skip to content

配置文件详解

chatop2020 edited this page Nov 28, 2020 · 2 revisions

配置文件说明

  • StreamNode-GB28181项目编译后不会自动添加配置文件,因此配置文件需要手工根据以下配置文件解释进行添加
  • 在StreamNodeWebApi与StreamMediaServerKeeper项目的可执行文件同一级创建一个名为"Config"的目录,注意C大写(由于非Windows平台是大小写敏感的,一定要注意大小写问题)
  • 根据以下解释自行添加修改配置文件

配置文件解释

StreamNodeWebApi/Config/gb28181.xml

  • 此文件用于指定GB28181 sip信令网关的参数
<sipaccounts>
  <sipaccount>
    <ID>10</ID>
    <Name>上级平台</Name>
    <GbVersion>GB-2016</GbVersion>
    <!-- 服务器id -->
    <LocalID>34020000002000000001</LocalID>  
    <!-- 服务器ip -->
    <LocalIP>192.168.2.43</LocalIP> 
    <!-- 服务器的端口 -->
    <LocalPort>5060</LocalPort>
    <!-- 远端端口 -->
    <RemotePort>5060</RemotePort>
    <!-- 是否启用鉴权 -->
    <Authentication>false</Authentication>
    <!-- 鉴权-用户名 -->
    <SIPUsername>admin</SIPUsername>
    <!-- 鉴权-密码 -->
    <SIPPassword>123456</SIPPassword>
    <!-- SIP通讯的协议方式,UDP和TCP两种可选 ,选择TCP将会启用TCP和UDP两种端口模式 -->
    <MsgProtocol>UDP</MsgProtocol> 
    <!-- 这个忽略掉,因为StreamNode流媒体采用了ZLMediaKit,所以这个已经无用 -->
    <StreamProtocol>UDP</StreamProtocol> 
    <!-- 被动模式,不太清楚用意 -->
    <TcpMode>passive</TcpMode>
    <!-- 消息体字符集 -->
    <MsgEncode>GB2312</MsgEncode>
    <!-- 流媒体的包处理特性,忽略它 -->
    <PacketOutOrder>true</PacketOutOrder>
    <!-- 心跳间隔时间,StreamNode没有应用这个参数 -->
    <KeepaliveInterval>5000</KeepaliveInterval>
    <!-- 心跳最多丢失次数,StreamNode没有应用这个参数 -->
    <KeepaliveNumber>3</KeepaliveNumber>
    <!-- 流媒体服务器IP,StreamNode没有应用这个参数 -->
    <MediaIP>192.168.2.43</MediaIP> 
    <!-- 流媒体服务器端口,StreamNode没有应用这个参数 -->
    <MediaPort>10000</MediaPort>  
    <!-- 流媒体服务器最小端口(从n号端口开始),StreamNode没有应用这个参数 -->
    <MediaPortMin>10000</MediaPortMin> 
    <!-- 流媒体服务器最大端口(到n号端口结束),StreamNode没有应用这个参数 -->
    <MediaPortMax>10000</MediaPortMax> 
    <!-- 平台间对接,StreamNode没有应用这个参数 -->
    <!--<ServiceType>GBToGB</ServiceType>-->
     <!-- 平台到设备对接,StreamNode没有应用这个参数 -->
    <!--<ServiceType>GBToDevice</ServiceType>-->
  </sipaccount>
</sipaccounts>

StreamNodeWebApi/Config/system.conf

  • StreamNodeWebApi的配置文件,参数名与参数值以::分开,每行以;结束
  • 在此配置文件中以"#"开始的行为注释行,实际程序中不会对其进行解析
  • 数据库方面采用CodeFirst 模式,在数据库中建立一个名为streamnode的库,数据表会自动创建
#webapi的端口
httpport::5800;
#暂时无用
password::password123!@#;
#鉴权,暂时无用
allowkey::0D906284-6801-4B84-AEC9-DCE07FAE81DA	*	192.168.2.*	; 
#数据库连接串
db::Data Source=192.168.2.35;Port=3306;User ID=root;Password=password; Initial Catalog=streamnode;Charset=utf8; SslMode=none;Min pool size=1;
#数据库类型
dbtype::mysql;
#ffmpeg可执行文件的位置
ffmpegpath::./ffmpeg;

StreamMediaServerKeeper/Config/config.conf

  • StreamMediaServerKeeper的配置文件
#ZLMediaKit流媒体服务器可执行文件路径
MediaServerBinPath::/root/MediaService/MediaServer;
#向哪个StreamNodeWebApi注册自己的服务
StreamNodeServerUrl::http://192.168.2.43:5800/WebHook/MediaServerRegister;
#服务的WebApi端口
HttpPort::6880;
#本机ip地址
IpAddress::192.168.2.43;
#自定义存储视频的位置 
CustomizedRecordFilePath::/home/cdtnb;

StreamNodeWebApi/Config/logconfig.xml & StreamMediaServerKeeper/Config/logconfig.xml

  • 日志配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <!-- This section contains the log4net configuration settings -->
    <log4net>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
            <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
        </appender>
        

        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
            <file value="log/" />
            <appendToFile value="true" />
            <rollingStyle value="Composite" />
            <staticLogFileName value="false" />
            <datePattern value="yyyyMMdd'.log'" />
            <maxSizeRollBackups value="10" />
            <maximumFileSize value="10MB" />
            <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
        </appender>

        <!-- Setup the root category, add the appenders and set the default level -->
        <root>
            <level value="ALL" />
            <appender-ref ref="ConsoleAppender" />
            <appender-ref ref="RollingLogFileAppender" />
        </root>

    </log4net>
</configuration>