2023.03.14 调整目录结构。

This commit is contained in:
limin.zhang 2023-03-14 14:24:08 +08:00
parent d03667f82c
commit 94d6143fb1
47 changed files with 1210 additions and 17 deletions

View File

@ -177,8 +177,8 @@ provider.backend {
# AWS
provider.aws {
key = "AKIAVZFGACWSFXGVXCNA"
secret = "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"
key = "fTbjUPzlfsxlue0O"
secret = "Gf6xyQie5QDH28y41f4mXuDzvez26cWg"
region = "ap-southeast-1"
sns {
@ -195,7 +195,7 @@ provider.aws {
# Wowza parameters
provider.wowza {
defaultPublishServer = "rtmp://54.255.235.62"
defaultPublishServer = "rtmp://47.104.8.46"
appName = "live_fleet"
publishUsername = "publishfleet"
publishPassword = "E54d22d793"
@ -204,18 +204,18 @@ provider.wowza {
playProtocol = "rtmp"
playProtocolCN = "rtmp"
audio{
host="54.255.235.62"
host="47.104.8.46"
port=1935
appName="live_audio",
publishUsername = "fleet_audio"
publishPassword = "waylensfleet2019"
}
privateIPMap {
#"18.116.56.97": "172.31.34.99"
#"47.104.8.46": "192.168.2.164"
}
domainMap {
"172.20.24.171": "54.255.235.62"
"192.168.2.164": "47.104.8.46"
}
}
@ -231,39 +231,39 @@ sendgrid {
# clip storage & cloudfront
clip.storage.bucket = "/wtestfleet/clip/"
clip.storage.bucket = "/mkfleet/clip/"
clip.storage.address {
default = "https://cdn.fleet.eveus.com/clip/"
default = "https://minio.dev.eveus.com/mkfleet/clip/"
}
# streaming storage & cloudfront
streaming.storage.bucket = "/wtestfleet/live_video/"
streaming.storage.bucket = "/mkfleet/live_video/"
streaming.storage.address {
default = "https://cdn.fleet.eveus.com/live_video/"
default = "https://minio.dev.eveus.com/mkfleet/live_video/"
}
# firmware storage & cloudfront
firmware.storage.bucket= "/wtestfleet/firmware"
firmware.storage.bucket= "/mkfleet/firmware"
firmware.storage.address {
default = "https://cdn.fleet.eveus.com/firmware/"
default = "https://minio.dev.eveus.com/mkfleet/firmware/"
}
# gpsReport.storage cloudfront
gpsReport.storage.address {
default = "https://cdn.fleet.eveus.com/gps_data_report/"
default = "https://minio.dev.eveus.com/mkfleet/gps_data_report/"
}
# fleetReport.storage cloudfront
fleetReport.storage.address {
default = "https://cdn.fleet.eveus.com/fleet_report/"
default = "https://minio.dev.eveus.com/mkfleet/fleet_report/"
}
# log storage cloudfront
log.storage.address = "https://cdn.fleet.eveus.com/log/"
log.storage.address = "https://minio.dev.eveus.com/mkfleet/log/"
# audio storage & cloudfront
audio.storage.bucket="wtestfleet"
audio.storage.address="https://cdn.fleet.eveus.com/audio/"
audio.storage.bucket="mkfleet"
audio.storage.address="https://minio.dev.eveus.com/mkfleet/audio/"
clip.request.pendingTimeout = 604800

225
wtest/wowza/Server.xml Normal file
View File

@ -0,0 +1,225 @@
<?xml version="1.0" encoding="UTF-8"?>
<Root version="3">
<Server>
<Name>Wowza Streaming Engine</Name>
<Description>Wowza Streaming Engine is robust, customizable, and scalable server software that powers reliable streaming of high-quality video and audio to any device, anywhere.</Description>
<RESTInterface>
<Enable>true</Enable>
<IPAddress>*</IPAddress>
<Port>8087</Port>
<!-- none, basic, digest, remotehttp, digestfile-->
<AuthenticationMethod>basic</AuthenticationMethod>
<!-- cleartext, bcrypt, md5, sha256 -->
<PasswordEncodingScheme>bcrypt</PasswordEncodingScheme>
<DiagnosticURLEnable>true</DiagnosticURLEnable>
<SSLConfig>
<Enable>false</Enable>
<KeyStorePath></KeyStorePath>
<KeyStorePassword></KeyStorePassword>
<KeyStoreType>JKS</KeyStoreType>
<SSLProtocol>TLS</SSLProtocol>
<Algorithm>SunX509</Algorithm>
<CipherSuites></CipherSuites>
<Protocols></Protocols>
</SSLConfig>
<IPWhiteList>127.0.0.1</IPWhiteList>
<IPBlackList></IPBlackList>
<EnableXMLFile>false</EnableXMLFile>
<DocumentationServerEnable>false</DocumentationServerEnable>
<DocumentationServerPort>8089</DocumentationServerPort>
<!-- none(only) -->
<DocumentationServerAuthenticationMethod>none</DocumentationServerAuthenticationMethod>
<Properties>
</Properties>
</RESTInterface>
<CommandInterface>
<HostPort>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<IpAddress>*</IpAddress>
<Port>8083</Port>
</HostPort>
</CommandInterface>
<AdminInterface>
<!-- Objects exposed through JMX interface: Server, VHost, VHostItem, Application, ApplicationInstance, MediaCaster, Module, Client, MediaStream, SharedObject, Acceptor, IdleWorker -->
<ObjectList>Server,VHost,VHostItem,Application,ApplicationInstance,MediaCaster,Module,IdleWorker</ObjectList>
</AdminInterface>
<Stats>
<Enable>true</Enable>
</Stats>
<!-- JMXUrl: service:jmx:rmi://localhost:8084/jndi/rmi://localhost:8085/jmxrmi -->
<JMXRemoteConfiguration>
<Enable>false</Enable>
<IpAddress>localhost</IpAddress> <!-- set to localhost or internal ip address if behind NAT -->
<RMIServerHostName>localhost</RMIServerHostName> <!-- set to external ip address or domain name if behind NAT -->
<RMIConnectionPort>8084</RMIConnectionPort>
<RMIRegistryPort>8085</RMIRegistryPort>
<Authenticate>true</Authenticate>
<PasswordFile>${com.wowza.wms.ConfigHome}/conf/jmxremote.password</PasswordFile>
<AccessFile>${com.wowza.wms.ConfigHome}/conf/jmxremote.access</AccessFile>
<SSLSecure>false</SSLSecure>
</JMXRemoteConfiguration>
<UserAgents>Shockwave Flash|CFNetwork|MacNetwork/1.0 (Macintosh)</UserAgents>
<Streams>
<DefaultStreamPrefix>mp4</DefaultStreamPrefix>
</Streams>
<ServerListeners>
<ServerListener>
<BaseClass>com.wowza.wms.mediacache.impl.MediaCacheServerListener</BaseClass>
</ServerListener>
<!--
<ServerListener>
<BaseClass>com.wowza.wms.plugin.loadbalancer.ServerListenerLoadBalancerListener</BaseClass>
</ServerListener>
-->
<!--
<ServerListener>
<BaseClass>com.wowza.wms.plugin.loadbalancer.ServerListenerLoadBalancerSender</BaseClass>
</ServerListener>
-->
<ServerListener>
<BaseClass>com.wowza.wms.plugin.loadbalancer.listeners.ServerListener</BaseClass>
</ServerListener>
</ServerListeners>
<VHostListeners>
<VHostListener>
<BaseClass>com.wowza.wms.plugin.loadbalancer.listeners.VHostListener</BaseClass>
</VHostListener>
</VHostListeners>
<HandlerThreadPool>
<PoolSize>${com.wowza.wms.TuningAuto}</PoolSize>
</HandlerThreadPool>
<TransportThreadPool>
<PoolSize>${com.wowza.wms.TuningAuto}</PoolSize>
</TransportThreadPool>
<RTP>
<DatagramStartingPort>6970</DatagramStartingPort>
<DatagramPortSharing>false</DatagramPortSharing>
</RTP>
<Manager>
<!-- Properties defined are used by the Manager -->
<Properties>
</Properties>
</Manager>
<Transcoder>
<PluginPaths>
<QuickSync></QuickSync>
</PluginPaths>
</Transcoder>
<!-- Properties defined here will be added to the IServer.getProperties() collection -->
<Properties>
<Property>
<Name>loadbalanceType</Name>
<Value>Server,Client</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceKey</Name>
<Value>8caf20bfa1ab3024</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceDebugServerDecision</Name>
<Value>True</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceServerDecisionOrder</Name>
<Value>Connection, Bandwidth</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceServerListenApplicationNames</Name>
<Value></Value>
<Type>String</Type>
</Property>
<!--Property>
<Name>loadbalanceServerIgnoreClients</Name>
<Value>none</Value>
<Type>String</Type>
</Property-->
<Property>
<Name>loadbalanceServerListenPort</Name>
<Value>1936</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceDebug</Name>
<Value>False</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceDebugServerExtension</Name>
<Value>False</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceDebugClientProcess</Name>
<Value>False</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceDebugClientExtension</Name>
<Value>False</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceDebugClientCommunications</Name>
<Value>False</Value>
<Type>String</Type>
</Property>
<!-- the below is Client Server config -->
<Property>
<Name>loadbalanceServerIP</Name>
<!--Value>172.31.9.208,172.31.27.193</Value-->
<Value>172.20.24.171</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceServerPort</Name>
<Value>1936</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceClientName</Name>
<Value>wowza_01</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceApplicationsInclude</Name>
<Value>live_fleet</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceClientConnectionEnable</Name>
<Value>on</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceClientConnectionLimit</Name>
<Value>200</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceClientCountSourceClient</Name>
<Value>True</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceClientForceIP</Name>
<Value>54.255.235.62</Value>
<Type>String</Type>
</Property>
<Property>
<Name>loadbalanceClientForcePort</Name>
<Value>1935</Value>
<Type>String</Type>
</Property>
</Properties>
</Server>
</Root>

330
wtest/wowza/VHost.xml Normal file
View File

@ -0,0 +1,330 @@
<?xml version="1.0" encoding="UTF-8"?>
<Root version="2">
<VHost>
<Description></Description>
<HostPortList>
<HostPort>
<Name>Default Streaming</Name>
<Type>Streaming</Type>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<IpAddress>*</IpAddress>
<!-- Separate multiple ports with commas -->
<!-- 80: HTTP, RTMPT -->
<!-- 554: RTSP -->
<Port>1935</Port>
<HTTPIdent2Response></HTTPIdent2Response>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<!-- suggested settings for video on demand applications -->
<ReceiveBufferSize>65000</ReceiveBufferSize>
<ReadBufferSize>65000</ReadBufferSize>
<SendBufferSize>65000</SendBufferSize>
<!-- suggest settings for low latency chat and video recording applications
<ReceiveBufferSize>32000</ReceiveBufferSize>
<ReadBufferSize>32000</ReadBufferSize>
<SendBufferSize>32000</SendBufferSize>
-->
<KeepAlive>true</KeepAlive>
<!-- <TrafficClass>0</TrafficClass> -->
<!-- <OobInline>false</OobInline> -->
<!-- <SoLingerTime>-1</SoLingerTime> -->
<!-- <TcpNoDelay>false</TcpNoDelay> -->
<AcceptorBackLog>100</AcceptorBackLog>
</SocketConfiguration>
<HTTPStreamerAdapterIDs>cupertinostreaming,smoothstreaming,sanjosestreaming,dvrchunkstreaming,mpegdashstreaming</HTTPStreamerAdapterIDs>
<HTTPProviders>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPCrossdomain</BaseClass>
<RequestFilters>*crossdomain.xml</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPClientAccessPolicy</BaseClass>
<RequestFilters>*clientaccesspolicy.xml</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
<RequestFilters>*jwplayer.rss|*jwplayer.smil|*medialist.smil|*manifest-rtmp.f4m</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
<RequestFilters>*ServerVersion</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
</HTTPProviders>
</HostPort>
<HostPort>
<Name>Default Admin</Name>
<Type>Admin</Type>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<IpAddress>*</IpAddress>
<Port>8086</Port>
<HTTPIdent2Response></HTTPIdent2Response>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>16000</ReceiveBufferSize>
<ReadBufferSize>16000</ReadBufferSize>
<SendBufferSize>16000</SendBufferSize>
<KeepAlive>true</KeepAlive>
<AcceptorBackLog>100</AcceptorBackLog>
</SocketConfiguration>
<HTTPStreamerAdapterIDs></HTTPStreamerAdapterIDs>
<HTTPProviders>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerInfoXML</BaseClass>
<RequestFilters>serverinfo*</RequestFilters>
<AuthenticationMethod>admin-basic</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPConnectionInfo</BaseClass>
<RequestFilters>connectioninfo*</RequestFilters>
<AuthenticationMethod>admin-basic</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPConnectionCountsXML</BaseClass>
<RequestFilters>connectioncounts*</RequestFilters>
<AuthenticationMethod>admin-basic</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.transcoder.httpprovider.HTTPTranscoderThumbnail</BaseClass>
<RequestFilters>transcoderthumbnail*</RequestFilters>
<AuthenticationMethod>admin-basic</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
<RequestFilters>medialist*</RequestFilters>
<AuthenticationMethod>admin-basic</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
<RequestFilters>*ServerVersion</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
</HTTPProviders>
</HostPort>
<HostPort>
<Name>loadbalancer</Name>
<Port>1936</Port>
<IpAddress>*</IpAddress>
<Type>Admin</Type>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<HTTPIdent2Response></HTTPIdent2Response>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>16000</ReceiveBufferSize>
<ReadBufferSize>16000</ReadBufferSize>
<SendBufferSize>16000</SendBufferSize>
<KeepAlive>true</KeepAlive>
<AcceptorBackLog>100</AcceptorBackLog>
</SocketConfiguration>
<HTTPStreamerAdapterIDs></HTTPStreamerAdapterIDs>
<HTTPProviders>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerInfoXML</BaseClass>
<RequestFilters>serverinfo*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPConnectionInfo</BaseClass>
<RequestFilters>connectioninfo*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPConnectionCountsXML</BaseClass>
<RequestFilters>connectioncounts*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.transcoder.httpprovider.HTTPTranscoderThumbnail</BaseClass>
<RequestFilters>transcoderthumbnail*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPProviderMediaList</BaseClass>
<RequestFilters>medialist*</RequestFilters>
<AuthenticationMethod>admin-digest</AuthenticationMethod>
</HTTPProvider>
<HTTPProvider>
<BaseClass>com.wowza.wms.http.HTTPServerVersion</BaseClass>
<RequestFilters>*ServerVersion</RequestFilters>
<AuthenticationMethod>none</AuthenticationMethod>
</HTTPProvider>
</HTTPProviders>
</HostPort>
</HostPortList>
<HTTPStreamerAdapters>
<HTTPStreamerAdapter>
<ID>smoothstreaming</ID>
<Name>smoothstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>cupertinostreaming</ID>
<Name>cupertinostreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>sanjosestreaming</ID>
<Name>sanjosestreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>dvrchunkstreaming</ID>
<Name>dvrchunkstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>mpegdashstreaming</ID>
<Name>mpegdashstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>tsstreaming</ID>
<Name>tsstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
<HTTPStreamerAdapter>
<ID>webmstreaming</ID>
<Name>webmstreaming</Name>
<Properties>
</Properties>
</HTTPStreamerAdapter>
</HTTPStreamerAdapters>
<!-- When set to zero, thread pool configuration is done in Server.xml -->
<HandlerThreadPool>
<PoolSize>0</PoolSize>
</HandlerThreadPool>
<TransportThreadPool>
<PoolSize>0</PoolSize>
</TransportThreadPool>
<IdleWorkers>
<WorkerCount>${com.wowza.wms.TuningAuto}</WorkerCount>
<CheckFrequency>50</CheckFrequency>
<MinimumWaitTime>5</MinimumWaitTime>
</IdleWorkers>
<NetConnections>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<IdleFrequency>250</IdleFrequency>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>65000</ReceiveBufferSize>
<ReadBufferSize>65000</ReadBufferSize>
<SendBufferSize>65000</SendBufferSize>
<KeepAlive>true</KeepAlive>
<!-- <TrafficClass>0</TrafficClass> -->
<!-- <OobInline>false</OobInline> -->
<!-- <SoLingerTime>-1</SoLingerTime> -->
<!-- <TcpNoDelay>false</TcpNoDelay> -->
<AcceptorBackLog>100</AcceptorBackLog>
</SocketConfiguration>
</NetConnections>
<MediaCasters>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
<SocketConfiguration>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>65000</ReceiveBufferSize>
<ReadBufferSize>65000</ReadBufferSize>
<SendBufferSize>65000</SendBufferSize>
<KeepAlive>true</KeepAlive>
<!-- <TrafficClass>0</TrafficClass> -->
<!-- <OobInline>false</OobInline> -->
<!-- <SoLingerTime>-1</SoLingerTime> -->
<!-- <TcpNoDelay>false</TcpNoDelay> -->
<ConnectionTimeout>10000</ConnectionTimeout>
</SocketConfiguration>
</MediaCasters>
<LiveStreamTranscoders>
<MaximumConcurrentTranscodes>0</MaximumConcurrentTranscodes>
</LiveStreamTranscoders>
<HTTPTunnel>
<KeepAliveTimeout>2000</KeepAliveTimeout>
</HTTPTunnel>
<Client>
<ClientTimeout>90000</ClientTimeout>
<IdleFrequency>250</IdleFrequency>
</Client>
<!-- RTP/Authentication/Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
<RTP>
<IdleFrequency>75</IdleFrequency>
<DatagramConfiguration>
<Incoming>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>2048000</ReceiveBufferSize>
<SendBufferSize>65000</SendBufferSize>
<!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
<!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
<!-- <TrafficClass>0</TrafficClass> -->
<MulticastTimeout>50</MulticastTimeout>
<DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
</Incoming>
<Outgoing>
<ReuseAddress>true</ReuseAddress>
<ReceiveBufferSize>65000</ReceiveBufferSize>
<SendBufferSize>256000</SendBufferSize>
<!-- <MulticastBindToAddress>true</MulticastBindToAddress> -->
<!-- <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress> -->
<!-- <TrafficClass>0</TrafficClass> -->
<MulticastTimeout>50</MulticastTimeout>
<DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
</Outgoing>
</DatagramConfiguration>
<UnicastIncoming>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
</UnicastIncoming>
<UnicastOutgoing>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
</UnicastOutgoing>
<MulticastIncoming>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
</MulticastIncoming>
<MulticastOutgoing>
<ProcessorCount>${com.wowza.wms.TuningAuto}</ProcessorCount>
</MulticastOutgoing>
</RTP>
<HTTPProvider>
<KeepAliveTimeout>2000</KeepAliveTimeout>
<EndConnectionTimeout>10000</EndConnectionTimeout>
<SlowConnectionBitrate>64000</SlowConnectionBitrate>
<IdleFrequency>250</IdleFrequency>
</HTTPProvider>
<WebSocket>
<MaximumMessageSize>512k</MaximumMessageSize>
<PacketFragmentationSize>0</PacketFragmentationSize>
<MaskOutgoingMessages>false</MaskOutgoingMessages>
<IdleFrequency>250</IdleFrequency>
<ValidationFrequency>20000</ValidationFrequency>
<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
<PingTimeout>12000</PingTimeout>
</WebSocket>
<Application>
<ApplicationTimeout>60000</ApplicationTimeout>
<PingTimeout>12000</PingTimeout>
<UnidentifiedSessionTimeout>30000</UnidentifiedSessionTimeout>
<ValidationFrequency>20000</ValidationFrequency>
<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
<MaximumSetBufferTime>60000</MaximumSetBufferTime>
</Application>
<StartStartupStreams>true</StartStartupStreams>
<Manager>
<TestPlayer>
<IpAddress>${com.wowza.wms.HostPort.IpAddress}</IpAddress>
<Port>${com.wowza.wms.HostPort.FirstStreamingPort}</Port>
<SSLEnable>${com.wowza.wms.HostPort.SSLEnable}</SSLEnable>
</TestPlayer>
<!-- Properties defined are used by the Manager -->
<Properties>
</Properties>
</Manager>
<!-- Properties defined here will be added to the IVHost.getProperties() collection -->
<Properties>
</Properties>
</VHost>
</Root>

View File

@ -0,0 +1,395 @@
<?xml version="1.0" encoding="UTF-8"?>
<Root version="1">
<Application>
<Name>live_fleet</Name>
<AppType>Live</AppType>
<Description></Description>
<!-- Uncomment to set application level timeout values
<ApplicationTimeout>60000</ApplicationTimeout>
<PingTimeout>12000</PingTimeout>
<ValidationFrequency>8000</ValidationFrequency>
<MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
<MaximumSetBufferTime>60000</MaximumSetBufferTime>
<MaximumStorageDirDepth>25</MaximumStorageDirDepth>
-->
<Connections>
<AutoAccept>true</AutoAccept>
<AllowDomains></AllowDomains>
</Connections>
<!--
StorageDir path variables
${com.wowza.wms.AppHome} - Application home directory
${com.wowza.wms.ConfigHome} - Configuration home directory
${com.wowza.wms.context.VHost} - Virtual host name
${com.wowza.wms.context.VHostConfigHome} - Virtual host home directory
${com.wowza.wms.context.Application} - Application name
${com.wowza.wms.context.ApplicationInstance} - Application instance name
-->
<Streams>
<StreamType>live-record-lowlatency</StreamType>
<StorageDir>/opt/wowza/live_fleet</StorageDir>
<KeyDir>${com.wowza.wms.context.VHostConfigHome}/keys</KeyDir>
<!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer, cupertinostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, mpegdashstreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater -->
<LiveStreamPacketizers>cupertinostreamingpacketizer</LiveStreamPacketizers>
<!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
<Properties>
<Property>
<Name>flushInterval</Name>
<Value>25</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>onFlushNotifyClients</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
</Properties>
</Streams>
<Transcoder>
<!-- To turn on transcoder set to: transcoder -->
<LiveStreamTranscoder></LiveStreamTranscoder>
<!-- [templatename].xml or ${SourceStreamName}.xml -->
<Templates>${SourceStreamName}.xml,transrate.xml</Templates>
<ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
<TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
<Properties>
</Properties>
</Transcoder>
<DVR>
<!-- As a single server or as an origin, use dvrstreamingpacketizer in LiveStreamPacketizers above -->
<!-- Or, in an origin-edge configuration, edges use dvrstreamingrepeater in LiveStreamPacketizers above -->
<!-- As an origin, also add dvrchunkstreaming to HTTPStreamers below -->
<!-- If this is a dvrstreamingrepeater, define Application/Repeater/OriginURL to point back to the origin -->
<!-- To turn on DVR recording set Recorders to dvrrecorder. This works with dvrstreamingpacketizer -->
<Recorders></Recorders>
<!-- As a single server or as an origin, set the Store to dvrfilestorage-->
<!-- edges should have this empty -->
<Store></Store>
<!-- Window Duration is length of live DVR window in seconds. 0 means the window is never trimmed. -->
<WindowDuration>0</WindowDuration>
<!-- Storage Directory is top level location where dvr is stored. e.g. c:/temp/dvr -->
<StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
<!-- valid ArchiveStrategy values are append, version, delete -->
<ArchiveStrategy>append</ArchiveStrategy>
<!-- Properties for DVR -->
<Properties>
</Properties>
</DVR>
<TimedText>
<!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionproviderwebvtt, vodcaptionprovidersrt, vodcaptionproviderscc -->
<VODTimedTextProviders></VODTimedTextProviders>
<!-- Properties for TimedText -->
<Properties>
</Properties>
</TimedText>
<!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming, dvrchunkstreaming -->
<HTTPStreamers>cupertinostreaming</HTTPStreamers>
<MediaCache>
<MediaCacheSourceList></MediaCacheSourceList>
</MediaCache>
<SharedObjects>
<StorageDir>${com.wowza.wms.context.VHostConfigHome}/applications/${com.wowza.wms.context.Application}/sharedobjects/${com.wowza.wms.context.ApplicationInstance}</StorageDir>
</SharedObjects>
<Client>
<IdleFrequency>-1</IdleFrequency>
<Access>
<StreamReadAccess>*</StreamReadAccess>
<StreamWriteAccess>*</StreamWriteAccess>
<StreamAudioSampleAccess></StreamAudioSampleAccess>
<StreamVideoSampleAccess></StreamVideoSampleAccess>
<SharedObjectReadAccess>*</SharedObjectReadAccess>
<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
</Access>
</Client>
<RTP>
<!-- RTP/Authentication/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
<Authentication>
<PublishMethod>digest</PublishMethod>
<PlayMethod>block</PlayMethod>
</Authentication>
<!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
<AVSyncMethod>senderreport</AVSyncMethod>
<MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
<IdleFrequency>75</IdleFrequency>
<RTSPSessionTimeout>90000</RTSPSessionTimeout>
<RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
<RTSPBindIpAddress></RTSPBindIpAddress>
<RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
<RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
<IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
<!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
<Properties>
</Properties>
</RTP>
<WebRTC>
<!-- Enable WebRTC publishing to this application -->
<EnablePublish>false</EnablePublish>
<!-- Enable WebRTC playback from this application -->
<EnablePlay>false</EnablePlay>
<!-- Enable query of published stream names for this application -->
<EnableQuery>false</EnableQuery>
<!-- IP address, transport, and port used for WebRTC streaming. -->
<!--TCP format: [wowza-streaming-engine-external-ip-address],tcp,[port] -->
<!--UDP format: [wowza-streaming-engine-external-ip-address],udp -->
<IceCandidateIpAddresses>127.0.0.1,tcp,1935</IceCandidateIpAddresses>
<!-- Local IP address of the network card you want to use for WebRTC UDP traffic -->
<UDPBindAddress></UDPBindAddress>
<!-- Comma-deliniated list of audio codecs, in order of preference, for stream ingestion -->
<PreferredCodecsAudio>opus,pcmu,pcma</PreferredCodecsAudio>
<!-- Comma-deliniated list of video codecs, in order of preference, for stream ingestion -->
<PreferredCodecsVideo>vp8,h264</PreferredCodecsVideo>
<!-- Enable WebRTC debug logging -->
<DebugLog>false</DebugLog>
<!-- Properties for WebRTC -->
<Properties>
</Properties>
</WebRTC>
<MediaCaster>
<RTP>
<RTSP>
<!-- udp, interleave -->
<RTPTransportMode>interleave</RTPTransportMode>
</RTSP>
</RTP>
<StreamValidator>
<Enable>true</Enable>
<ResetNameGroups>true</ResetNameGroups>
<StreamStartTimeout>20000</StreamStartTimeout>
<StreamTimeout>12000</StreamTimeout>
<VideoStartTimeout>0</VideoStartTimeout>
<VideoTimeout>0</VideoTimeout>
<AudioStartTimeout>0</AudioStartTimeout>
<AudioTimeout>0</AudioTimeout>
<VideoTCToleranceEnable>false</VideoTCToleranceEnable>
<VideoTCPosTolerance>3000</VideoTCPosTolerance>
<VideoTCNegTolerance>-500</VideoTCNegTolerance>
<AudioTCToleranceEnable>false</AudioTCToleranceEnable>
<AudioTCPosTolerance>3000</AudioTCPosTolerance>
<AudioTCNegTolerance>-500</AudioTCNegTolerance>
<DataTCToleranceEnable>false</DataTCToleranceEnable>
<DataTCPosTolerance>3000</DataTCPosTolerance>
<DataTCNegTolerance>-500</DataTCNegTolerance>
<AVSyncToleranceEnable>false</AVSyncToleranceEnable>
<AVSyncTolerance>1500</AVSyncTolerance>
<DebugLog>false</DebugLog>
</StreamValidator>
<!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
<Properties>
</Properties>
</MediaCaster>
<MediaReader>
<!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
<Properties>
</Properties>
</MediaReader>
<MediaWriter>
<!-- Properties defined here will override any properties defined in conf/MediaWriter.xml for any MediaWriter loaded by this applications -->
<Properties>
</Properties>
</MediaWriter>
<LiveStreamPacketizer>
<!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
<Properties>
<Property>
<Name>cupertinoChunkDurationTarget</Name>
<Value>5000</Value>
<Type>Integer</Type>
</Property>
</Properties>
</LiveStreamPacketizer>
<HTTPStreamer>
<!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
<Properties>
</Properties>
</HTTPStreamer>
<Manager>
<!-- Properties defined are used by the Manager -->
<Properties>
</Properties>
</Manager>
<Repeater>
<OriginURL></OriginURL>
<QueryString></QueryString>
</Repeater>
<StreamRecorder>
<Properties>
<Property>
<Name>streamRecorderDebugEnable</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>streamRecorderFileVersionTemplate</Name>
<Value>${SourceStreamName}_${SegmentTime}</Value>
<Type>String</Type>
</Property>
<Property>
<Name>streamRecorderSegmentationType</Name>
<Value>duration</Value>
<Type>String</Type>
</Property>
<Property>
<Name>streamRecorderSegmentDuration</Name>
<Value>900000</Value>
<Type>Integer</Type>
</Property>
</Properties>
</StreamRecorder>
<Modules>
<Module>
<Name>base</Name>
<Description>Base</Description>
<Class>com.wowza.wms.module.ModuleCore</Class>
</Module>
<Module>
<Name>logging</Name>
<Description>Client Logging</Description>
<Class>com.wowza.wms.module.ModuleClientLogging</Class>
</Module>
<Module>
<Name>flvplayback</Name>
<Description>FLVPlayback</Description>
<Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
</Module>
<Module>
<Name>ModuleCoreSecurity</Name>
<Description>Core Security Module for Applications</Description>
<Class>com.wowza.wms.security.ModuleCoreSecurity</Class>
</Module>
<Module>
<Name>ModuleSecureURLParams</Name>
<Description>ModuleSecureURLParams</Description>
<Class>com.wowza.wms.security.ModuleSecureURLParams</Class>
</Module>
<Module>
<Name>Security360Module</Name>
<Description>Notify stream status</Description>
<Class>com.waylens.wms.Security360Module</Class>
</Module>
<Module>
<Name>s3uploader</Name>
<Description>upload to s3</Description>
<Class>com.waylens.wms.ModuleS3Upload</Class>
</Module>
</Modules>
<!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
<Properties>
<Property>
<Name>pushPublishMapPath</Name>
<Value>${com.wowza.wms.context.VHostConfigHome}/conf/${com.wowza.wms.context.Application}/PushPublishMap.txt</Value>
<Type>String</Type>
</Property>
<Property>
<Name>s3UploadAccessKeyID</Name>
<Value>AKIAVZFGACWSFXGVXCNA</Value>
<Type>String</Type>
</Property>
<Property>
<Name>s3UploadAccessKeySecret</Name>
<Value>X53JxRDMnGhB6A6uBmgJQZwj44YjQ4awbalE4bxH</Value>
<Type>String</Type>
</Property>
<Property>
<Name>s3UploadBucketName</Name>
<Value>wtestfleet</Value>
<Type>String</Type>
</Property>
<Property>
<Name>s3UploadRegion</Name>
<Value>ap-southeast-1</Value>
<Type>String</Type>
</Property>
<Property>
<Name>s3UploadVersionFile</Name>
<Value>false</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>s3UploadDeleteOriginalFiles</Name>
<Value>false</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>s3UploadDebugLog</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>s3UploadNotifyUrl</Name>
<Value>http://172.20.24.171:9000/wowza/notify_upload</Value>
<Type>String</Type>
</Property>
<Property>
<Name>s3UploadStreamInfoUrl</Name>
<Value>http://172.20.24.171:9000/wowza/streamInfo</Value>
<Type>String</Type>
</Property>
<Property>
<Name>Security360StreamStatusNotifyUrl</Name>
<Value>http://172.20.24.171:9000/wowza/notify_streaming</Value>
<Type>String</Type>
</Property>
<Property>
<Name>securityPublishBlockDuplicateStreamNames</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>s3UploadFilePrefix</Name>
<Value>live_video</Value>
<Type>String</Type>
</Property>
<Property>
<Name>s3UploadUseSSE</Name>
<Value>false</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>s3UploadRestartFailedUploads</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>securityDebugLogRejections</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>securityDebugLogDetails</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>securityPublishValidEncoders</Name>
<Value>Wirecast/|FME/|FMLE/|Wowza GoCoder*|Lavf/|UA Teradek/|KulaByte/|HaivisionKB/|VidBlaster/|XSplit/|PESA|makitoX/|Elemental Live/|WaylensHorn</Value>
<Type>String</Type>
</Property>
<Property>
<Name>securitySecureTokenVersion</Name>
<Value>2</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>securitySecureTokenSharedSecret</Name>
<Value>Sh4Tgsl2l43lB</Value>
<Type>String</Type>
</Property>
<Property>
<Name>securitySecureTokenHashAlgorithm</Name>
<Value>SHA-256</Value>
<Type>String</Type>
</Property>
<Property>
<Name>securitySecureTokenQueryParametersPrefix</Name>
<Value>fleet</Value>
<Type>String</Type>
</Property>
<Property>
<Name>secureurlparams.publish</Name>
<Value>E54d22d793.publishfleet</Value>
</Property>
</Properties>
</Application>
</Root>

View File

@ -0,0 +1,243 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info">
<!--
Available ThreadContext map keys:
date, time, tz, x-event, x-category, x-severity, x-status, x-ctx, x-ctx-override, x-comment, x-vhost, x-app, x-appinst, x-duration, s-ip,
s-port, s-uri, c-ip, c-proto, c-referrer, c-user-agent, c-client-id, cs-bytes, sc-bytes, x-stream-id, x-spos, cs-stream-bytes, sc-stream-bytes,
x-sname, x-sname-query, x-file-name, x-file-ext, x-file-size, x-file-length, x-suri, x-suri-stem, x-suri-query, cs-uri-stem, cs-uri-query,
x-forwarded-ip, x-class-fqcn, x-class-name, x-class-packagename, x-vhost-context, x-app-context, x-appinst-context
-->
<Appenders>
<Console name="stdout" target="SYSTEM_OUT">
<PatternLayout>
<Pattern>%replace{%X{x-severity}}{^$}{-} %replace{%X{x-category}}{^$}{-} %replace{%X{x-event}}{^$}{-} %replace{%X{x-ctx}}{^$}{-} %replace{%X{x-comment}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
</Console>
<RollingFile name="serverAccess" fileName="/opt/wowza/logs/wowzastreamingengine_access.log" filePattern="/opt/wowza/logs/wowzastreamingengine_access.%d{yyyy-MM-dd}.log">
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: date\ttime\ttz\tx-event\tx-category\tx-severity\tx-status\tx-ctx\tx-comment\tx-vhost\tx-app\tx-appinst\tx-duration\ts-ip\ts-port\ts-uri\tc-ip\tc-proto\tc-referrer\tc-user-agent\tc-client-id\tcs-bytes\tsc-bytes\tx-stream-id\tx-spos\tcs-stream-bytes\tsc-stream-bytes\tx-sname\tx-sname-query\tx-file-name\tx-file-ext\tx-file-size\tx-file-length\tx-suri\tx-suri-stem\tx-suri-query\tcs-uri-stem\tcs-uri-query%n</Header>
<Pattern>%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%d{z}\t%replace{%X{x-event}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-status}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}\t%replace{%X{x-vhost}}{^$}{-}\t%replace{%X{x-app}}{^$}{-}\t%replace{%X{x-appinst}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{s-ip}}{^$}{-}\t%replace{%X{s-port}}{^$}{-}\t%replace{%X{s-uri}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-proto}}{^$}{-}\t%replace{%X{c-referrer}}{^$}{-}\t%replace{%X{c-user-agent}}{^$}{-}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-sname-query}}{^$}{-}\t%replace{%X{x-file-name}}{^$}{-}\t%replace{%X{x-file-ext}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-suri}}{^$}{-}\t%replace{%X{x-suri-stem}}{^$}{-}\t%replace{%X{x-suri-query}}{^$}{-}\t%replace{%X{cs-uri-stem}}{^$}{-}\t%replace{%X{cs-uri-query}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs" maxDepth="1">
<IfLastModified age="14d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<RollingFile name="serverError" fileName="/opt/wowza/logs/wowzastreamingengine_error.log" filePattern="/opt/wowza/logs/wowzastreamingengine_error.%d{yyyy-MM-dd}.log">
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: x-severity\tx-category\tx-event\tdate\ttime\tc-client-id\tc-ip\tc-port\tcs-bytes\tsc-bytes\tx-duration\tx-sname\tx-stream-id\tx-spos\tsc-stream-bytes\tcs-stream-bytes\tx-file-size\tx-file-length\tx-ctx\tx-comment%n</Header>
<Pattern>%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-event}}{^$}{-}\t%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-port}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs" maxDepth="1">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<RollingFile name="serverStats" fileName="/opt/wowza/logs/wowzastreamingengine_stats.log" filePattern="/opt/wowza/logs/wowzastreamingengine_stats.%d{yyyy-MM-dd}.log">
<Filters>
<ContextMapFilter onMatch="DENY" onMismatch="NEUTRAL">
<KeyValuePair key="x-event" value="comment"/>
</ContextMapFilter>
<ContextMapFilter onMatch="ACCEPT" onMismatch="DENY" operator="or">
<KeyValuePair key="x-category" value="session"/>
<KeyValuePair key="x-category" value="stream"/>
</ContextMapFilter>
</Filters>
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: x-severity\tx-category\tx-event\tdate\ttime\tc-client-id\tc-ip\tc-port\tcs-bytes\tsc-bytes\tx-duration\tx-sname\tx-stream-id\tx-spos\tsc-stream-bytes\tcs-stream-bytes\tx-file-size\tx-file-length\tx-ctx\tx-comment%n</Header>
<Pattern>%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-event}}{^$}{-}\t%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-port}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs" maxDepth="1">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
<Routing name="vhostAccess" >
<Routes pattern="$${ctx:x-vhost-context}">
<Route>
<RollingFile name="vhostAccess-${ctx:x-vhost-context}" fileName="/opt/wowza/logs/${ctx:x-vhost}/wowzastreamingengine_access.log" filePattern="/opt/wowza/logs/${ctx:x-vhost}/wowzastreamingengine_access.%d{yyyy-MM-dd}.log">
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: date\ttime\ttz\tx-event\tx-category\tx-severity\tx-status\tx-ctx\tx-comment\tx-vhost\tx-app\tx-appinst\tx-duration\ts-ip\ts-port\ts-uri\tc-ip\tc-proto\tc-referrer\tc-user-agent\tc-client-id\tcs-bytes\tsc-bytes\tx-stream-id\tx-spos\tcs-stream-bytes\tsc-stream-bytes\tx-sname\tx-sname-query\tx-file-name\tx-file-ext\tx-file-size\tx-file-length\tx-suri\tx-suri-stem\tx-suri-query\tcs-uri-stem\tcs-uri-query%n</Header>
<Pattern>%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%d{z}\t%replace{%X{x-event}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-status}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}\t%replace{%X{x-vhost}}{^$}{-}\t%replace{%X{x-app}}{^$}{-}\t%replace{%X{x-appinst}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{s-ip}}{^$}{-}\t%replace{%X{s-port}}{^$}{-}\t%replace{%X{s-uri}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-proto}}{^$}{-}\t%replace{%X{c-referrer}}{^$}{-}\t%replace{%X{c-user-agent}}{^$}{-}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-sname-query}}{^$}{-}\t%replace{%X{x-file-name}}{^$}{-}\t%replace{%X{x-file-ext}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-suri}}{^$}{-}\t%replace{%X{x-suri-stem}}{^$}{-}\t%replace{%X{x-suri-query}}{^$}{-}\t%replace{%X{cs-uri-stem}}{^$}{-}\t%replace{%X{cs-uri-query}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs/${ctx:x-vhost}" maxDepth="1">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Route>
<Route key="">
<CountingNoOp name="DEV_NULL" />
</Route>
</Routes>
</Routing>
<Routing name="vhostError" >
<Routes pattern="$${ctx:x-vhost-context}">
<Route>
<RollingFile name="vhostError-${ctx:x-vhost-context}" fileName="/opt/wowza/logs/${ctx:x-vhost}/wowzastreamingengine_error.log" filePattern="/opt/wowza/logs/${ctx:x-vhost}/wowzastreamingengine_error.%d{yyyy-MM-dd}.log">
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: x-severity\tx-category\tx-event\tdate\ttime\tc-client-id\tc-ip\tc-port\tcs-bytes\tsc-bytes\tx-duration\tx-sname\tx-stream-id\tx-spos\tsc-stream-bytes\tcs-stream-bytes\tx-file-size\tx-file-length\tx-ctx\tx-comment%n</Header>
<Pattern>%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-event}}{^$}{-}\t%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-port}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs/${ctx:x-vhost}" maxDepth="1">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Route>
<Route key="">
<CountingNoOp name="DEV_NULL" />
</Route>
</Routes>
</Routing>
<Routing name="applicationAccess" >
<Routes pattern="$${ctx:x-app-context}">
<Route>
<RollingFile name="applicationAccess-${ctx:x-app-context}" fileName="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/wowzastreamingengine_access.log" filePattern="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/wowzastreamingengine_access.%d{yyyy-MM-dd}.log">
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: date\ttime\ttz\tx-event\tx-category\tx-severity\tx-status\tx-ctx\tx-comment\tx-vhost\tx-app\tx-appinst\tx-duration\ts-ip\ts-port\ts-uri\tc-ip\tc-proto\tc-referrer\tc-user-agent\tc-client-id\tcs-bytes\tsc-bytes\tx-stream-id\tx-spos\tcs-stream-bytes\tsc-stream-bytes\tx-sname\tx-sname-query\tx-file-name\tx-file-ext\tx-file-size\tx-file-length\tx-suri\tx-suri-stem\tx-suri-query\tcs-uri-stem\tcs-uri-query%n</Header>
<Pattern>%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%d{z}\t%replace{%X{x-event}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-status}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}\t%replace{%X{x-vhost}}{^$}{-}\t%replace{%X{x-app}}{^$}{-}\t%replace{%X{x-appinst}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{s-ip}}{^$}{-}\t%replace{%X{s-port}}{^$}{-}\t%replace{%X{s-uri}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-proto}}{^$}{-}\t%replace{%X{c-referrer}}{^$}{-}\t%replace{%X{c-user-agent}}{^$}{-}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-sname-query}}{^$}{-}\t%replace{%X{x-file-name}}{^$}{-}\t%replace{%X{x-file-ext}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-suri}}{^$}{-}\t%replace{%X{x-suri-stem}}{^$}{-}\t%replace{%X{x-suri-query}}{^$}{-}\t%replace{%X{cs-uri-stem}}{^$}{-}\t%replace{%X{cs-uri-query}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}" maxDepth="1">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Route>
<Route key="">
<CountingNoOp name="DEV_NULL" />
</Route>
</Routes>
</Routing>
<Routing name="applicationError" >
<Routes pattern="$${ctx:x-app-context}">
<Route>
<RollingFile name="applicationError-${ctx:x-app-context}" fileName="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/wowzastreamingengine_error.log" filePattern="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/wowzastreamingengine_error.%d{yyyy-MM-dd}.log">
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: x-severity\tx-category\tx-event\tdate\ttime\tc-client-id\tc-ip\tc-port\tcs-bytes\tsc-bytes\tx-duration\tx-sname\tx-stream-id\tx-spos\tsc-stream-bytes\tcs-stream-bytes\tx-file-size\tx-file-length\tx-ctx\tx-comment%n</Header>
<Pattern>%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-event}}{^$}{-}\t%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-port}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}" maxDepth="1">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Route>
<Route key="">
<CountingNoOp name="DEV_NULL" />
</Route>
</Routes>
</Routing>
<Routing name="applicationInstanceAccess" >
<Routes pattern="$${ctx:x-appinst-context}">
<Route>
<RollingFile name="applicationInstanceAccess-${ctx:x-appinst-context}" fileName="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/${ctx:x-appinst}/wowzastreamingengine_access.log" filePattern="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/${ctx:x-appinst}/wowzastreamingengine_access.%d{yyyy-MM-dd}.log">
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: date\ttime\ttz\tx-event\tx-category\tx-severity\tx-status\tx-ctx\tx-comment\tx-vhost\tx-app\tx-appinst\tx-duration\ts-ip\ts-port\ts-uri\tc-ip\tc-proto\tc-referrer\tc-user-agent\tc-client-id\tcs-bytes\tsc-bytes\tx-stream-id\tx-spos\tcs-stream-bytes\tsc-stream-bytes\tx-sname\tx-sname-query\tx-file-name\tx-file-ext\tx-file-size\tx-file-length\tx-suri\tx-suri-stem\tx-suri-query\tcs-uri-stem\tcs-uri-query%n</Header>
<Pattern>%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%d{z}\t%replace{%X{x-event}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-status}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}\t%replace{%X{x-vhost}}{^$}{-}\t%replace{%X{x-app}}{^$}{-}\t%replace{%X{x-appinst}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{s-ip}}{^$}{-}\t%replace{%X{s-port}}{^$}{-}\t%replace{%X{s-uri}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-proto}}{^$}{-}\t%replace{%X{c-referrer}}{^$}{-}\t%replace{%X{c-user-agent}}{^$}{-}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-sname-query}}{^$}{-}\t%replace{%X{x-file-name}}{^$}{-}\t%replace{%X{x-file-ext}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-suri}}{^$}{-}\t%replace{%X{x-suri-stem}}{^$}{-}\t%replace{%X{x-suri-query}}{^$}{-}\t%replace{%X{cs-uri-stem}}{^$}{-}\t%replace{%X{cs-uri-query}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/${ctx:x-appinst}" maxDepth="1">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Route>
<Route key="">
<CountingNoOp name="DEV_NULL" />
</Route>
</Routes>
</Routing>
<Routing name="applicationInstanceError" >
<Routes pattern="$${ctx:x-appinst-context}">
<Route>
<RollingFile name="applicationInstanceError-${ctx:x-appinst-context}" fileName="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/${ctx:x-appinst}/wowzastreamingengine_error.log" filePattern="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/${ctx:x-appinst}/wowzastreamingengine_error.%d{yyyy-MM-dd}.log">
<PatternLayout>
<Header>#Version: 1.0\n#Start-Date: %d{YYY-MM-dd HH:mm:ss zzz}\n#Software: ${sys:wse-software-version}\n#Date: %d{YYY-MM-dd}\n#Fields: x-severity\tx-category\tx-event\tdate\ttime\tc-client-id\tc-ip\tc-port\tcs-bytes\tsc-bytes\tx-duration\tx-sname\tx-stream-id\tx-spos\tsc-stream-bytes\tcs-stream-bytes\tx-file-size\tx-file-length\tx-ctx\tx-comment%n</Header>
<Pattern>%replace{%X{x-severity}}{^$}{-}\t%replace{%X{x-category}}{^$}{-}\t%replace{%X{x-event}}{^$}{-}\t%d{yyyy-MM-dd}\t%d{HH:mm:ss}\t%replace{%X{c-client-id}}{^$}{-}\t%replace{%X{c-ip}}{^$}{-}\t%replace{%X{c-port}}{^$}{-}\t%replace{%X{cs-bytes}}{^$}{-}\t%replace{%X{sc-bytes}}{^$}{-}\t%replace{%X{x-duration}}{^$}{-}\t%replace{%X{x-sname}}{^$}{-}\t%replace{%X{x-stream-id}}{^$}{-}\t%replace{%X{x-spos}}{^$}{-}\t%replace{%X{sc-stream-bytes}}{^$}{-}\t%replace{%X{cs-stream-bytes}}{^$}{-}\t%replace{%X{x-file-size}}{^$}{-}\t%replace{%X{x-file-length}}{^$}{-}\t%replace{%X{x-ctx}}{^$}{-}\t%replace{%X{x-comment}}{^$}{-}%n</Pattern>
<AlwaysWriteExceptions>false</AlwaysWriteExceptions>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy>
<Delete basePath="/opt/wowza/logs/${ctx:x-vhost}/${ctx:x-app}/${ctx:x-appinst}" maxDepth="1">
<IfLastModified age="5d" />
</Delete>
</DefaultRolloverStrategy>
</RollingFile>
</Route>
<Route key="">
<CountingNoOp name="DEV_NULL" />
</Route>
</Routes>
</Routing>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="stdout" level="info"/>
<AppenderRef ref="serverAccess" level="info"/>
<AppenderRef ref="serverError" level="warn"/>
<!-- <AppenderRef ref="serverStats" level="info"/> -->
<!-- <AppenderRef ref="vhostAccess" level="info"/> -->
<!-- <AppenderRef ref="vhostError" level="warn"/> -->
<!-- <AppenderRef ref="applicationAccess" level="info"/> -->
<!-- <AppenderRef ref="applicationError" level="warn"/> -->
<!-- <AppenderRef ref="applicationInstanceAccess" level="info"/> -->
<!-- <AppenderRef ref="applicationInstanceError" level="warn"/> -->
</Root>
</Loggers>
</Configuration>