beeta/ovenmediaengine/Server.xml
2026-01-05 22:54:27 -05:00

146 lines
No EOL
5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<Server version="8">
<Name>OvenMediaEngine</Name>
<Type>origin</Type>
<IP>*</IP>
<PrivacyProtection>false</PrivacyProtection>
<Bind>
<Managers>
<API>
<Port>8081</Port>
<TLSPort>8443</TLSPort>
<WorkerCount>1</WorkerCount>
</API>
</Managers>
<Managers>
<API>
<Port>8081</Port>
<TLS>
<Port>8082</Port>
</TLS>
</API>
</Managers>
<Providers>
<RTMP>
<Port>1935</Port>
</RTMP>
<SRT>
<Port>9999</Port>
</SRT>
</Providers>
<Publishers>
<HLS>
<Port>8080</Port>
</HLS>
<LLHLS>
<Port>8080</Port>
</LLHLS>
<WebRTC>
<Signalling>
<Port>3333</Port>
</Signalling>
<IceCandidates>
<IceCandidate>*:10000-10009/udp</IceCandidate>
</IceCandidates>
</WebRTC>
<Thumbnail>
<Port>8090</Port>
</Thumbnail>
</Publishers>
</Bind>
<Managers>
<API>
<AccessToken>${env:OME_API_ACCESS_TOKEN}</AccessToken>
<CrossDomains>
<Url>*</Url>
</CrossDomains>
</API>
</Managers>
<VirtualHosts>
<VirtualHost>
<Name>default</Name>
<Host>
<Names>
<Name>*</Name>
</Names>
</Host>
<!-- AdmissionWebhooks - validates stream keys for publishing only -->
<AdmissionWebhooks>
<ControlServerUrl>http://drogon-backend:8080/api/webhook/ome/admission</ControlServerUrl>
<SecretKey>${env:OME_API_ACCESS_TOKEN}</SecretKey>
<Timeout>3000</Timeout>
<Enables>
<!-- Only validate publishing, not playback (playback latency breaks LLHLS) -->
<Providers>rtmp,srt</Providers>
</Enables>
</AdmissionWebhooks>
<Applications>
<Application>
<Name>app</Name>
<Type>live</Type>
<Providers>
<RTMP>
<BlockDuplicateStreamName>true</BlockDuplicateStreamName>
</RTMP>
<SRT>
<BlockDuplicateStreamName>true</BlockDuplicateStreamName>
</SRT>
</Providers>
<OutputProfiles>
<OutputProfile>
<Name>bypass</Name>
<OutputStreamName>${OriginStreamName}</OutputStreamName>
<Encodes>
<Video>
<Bypass>true</Bypass>
</Video>
<Audio>
<Bypass>true</Bypass>
</Audio>
</Encodes>
</OutputProfile>
</OutputProfiles>
<Publishers>
<LLHLS>
<ChunkDuration>0.5</ChunkDuration>
<SegmentDuration>3</SegmentDuration>
<SegmentCount>10</SegmentCount>
<CrossDomains>
<Url>http://localhost</Url>
</CrossDomains>
</LLHLS>
<HLS>
<SegmentDuration>3</SegmentDuration>
<SegmentCount>10</SegmentCount>
<CrossDomains>
<Url>http://localhost</Url>
</CrossDomains>
</HLS>
<WebRTC>
<Timeout>30000</Timeout>
<Rtx>false</Rtx>
<Ulpfec>false</Ulpfec>
<JitterBuffer>false</JitterBuffer>
</WebRTC>
<!-- RTMP Push Publisher for restreaming to external services -->
<RTMPPush>
</RTMPPush>
<!-- Thumbnail Publisher for stream previews -->
<Thumbnail>
<CrossDomains>
<Url>*</Url>
</CrossDomains>
</Thumbnail>
</Publishers>
</Application>
</Applications>
</VirtualHost>
</VirtualHosts>
</Server>