Skip to content

Instantly share code, notes, and snippets.

@cwpenhale
Last active May 28, 2022 15:21
Show Gist options
  • Save cwpenhale/3564493210c668f01fe6d902b7bc45c1 to your computer and use it in GitHub Desktop.
Save cwpenhale/3564493210c668f01fe6d902b7bc45c1 to your computer and use it in GitHub Desktop.
774 working
<?xml version="1.0" encoding="UTF-8"?>
<Server version="8">
<Name>OvenMediaEngine</Name>
<Type>edge</Type>
<IP>*</IP>
<PrivacyProtection>false</PrivacyProtection>
<StunServer>stun.l.google.com:19302</StunServer>
<Bind>
<Publishers>
<OVT>
<Port>9000</Port>
<WorkerCount>1</WorkerCount>
</OVT>
</Publishers>
</Bind>
<VirtualHosts>
<VirtualHost include="VHost*.xml" />
<VirtualHost>
<Name>default</Name>
<Distribution>cdn.organization.tld</Distribution>
<Host>
<Names>
<Name>publish.cdn.organization.tld</Name>
</Names>
</Host>
<Origins>
<Properties>
<NoInputFailoverTimeout>3000</NoInputFailoverTimeout>
<UnusedStreamDeletionTimeout>60000</UnusedStreamDeletionTimeout>
</Properties>
<Origin>
<Location>/concentrator/</Location>
<Pass>
<Scheme>ovt</Scheme>
<Urls><Url>site.organization.tld:9000/app/</Url></Urls>
</Pass>
</Origin>
</Origins>
<Applications>
<Application>
<Name>app</Name>
<Type>live</Type>
<OutputProfiles>
<OutputProfile>
<Name>organization.tld Live!</Name>
<OutputStreamName>${OriginStreamName}</OutputStreamName>
<Renditions>
<Rendition>
<Name>UHD</Name>
<Video>UHD</Video>
<Audio>HD</Audio>
</Rendition>
<Rendition>
<Name>1080p</Name>
<Video>1080p</Video>
<Audio>HD</Audio>
</Rendition>
<Rendition>
<Name>720p</Name>
<Video>720p</Video>
<Audio>SD</Audio>
</Rendition>
</Renditions>
<Encodes>
<Video>
<Name>UHD</Name>
<Bypass>true</Bypass>
</Video>
<Audio>
<Name>HD</Name>
<Bypass>True</Bypass>
</Audio>
<Video>
<Name>1080p</Name>
<Bypass>true</Bypass>
</Video>
<Audio>
<Name>SD</Name>
<Bypass>true</Bypass>
</Audio>
<Video>
<Name>720p</Name>
<Bypass>true</Bypass>
</Video>
</Encodes>
</OutputProfile>
</OutputProfiles>
<Providers>
<OVT />
</Providers>
<Publishers>
<OVT />
</Publishers>
</Application>
</Applications>
</VirtualHost>
</VirtualHosts>
</Server>
<?xml version="1.0" encoding="UTF-8"?>
<Server version="8">
<Name>OvenMediaEngine</Name>
<!-- Host type (origin/edge) -->
<Type>edge</Type>
<!-- Specify IP address to bind (* means all IPs) -->
<IP>*</IP>
<PrivacyProtection>false</PrivacyProtection>
<Modules>
<HTTP2>
<Enable>true</Enable>
</HTTP2>
<LLHLS>
<Enable>true</Enable>
</LLHLS>
</Modules>
<!-- Settings for the ports to bind -->
<Bind>
<Publishers>
<LLHLS>
<Port>80</Port>
<TLSPort>443</TLSPort>
<WorkerCount>1</WorkerCount>
</LLHLS>
</Publishers>
</Bind>
<VirtualHosts>
<!-- You can use wildcard like this to include multiple XMLs -->
<VirtualHost include="VHost*.xml" />
<VirtualHost>
<Name>default</Name>
<!--Distribution is a value that can be used when grouping the same vhost distributed across multiple servers. This value is output to the events log, so you can use it to aggregate statistics. -->
<Distribution>cdn.organization.tld</Distribution>
<Host>
<Names>
<Name>cdn.organization.tld</Name>
</Names>
<TLS>
<CertPath>/etc/ssl/certs/cdn.organization.tld.crt</CertPath>
<KeyPath>/etc/ssl/private/cdn.organization.tld.key</KeyPath>
<ChainCertPath>/etc/ssl/certs/cdn.organization.tld.intermediate.crt</ChainCertPath>
</TLS>
</Host>
<!-- Settings for ProxyPass (It can specify origin for each path) -->
<Origins>
<Properties>
<NoInputFailoverTimeout>3000</NoInputFailoverTimeout>
<UnusedStreamDeletionTimeout>60000</UnusedStreamDeletionTimeout>
</Properties>
<Origin>
<Location>/edge/</Location>
<Pass>
<Scheme>ovt</Scheme>
<Urls><Url>publish.edge.organization.tld:9000/app/</Url></Urls>
</Pass>
</Origin>
</Origins>
<Applications>
<Application>
<Name>app</Name>
<Type>live</Type>
<OutputProfiles>
<OutputProfile>
<Name>organization.tld Live!</Name>
<OutputStreamName>${OriginStreamName}</OutputStreamName>
<Renditions>
<Rendition>
<Name>UHD</Name>
<Video>UHD</Video>
<Audio>HD</Audio>
</Rendition>
<Rendition>
<Name>1080p</Name>
<Video>1080p</Video>
<Audio>HD</Audio>
</Rendition>
<Rendition>
<Name>720p</Name>
<Video>720p</Video>
<Audio>SD</Audio>
</Rendition>
</Renditions>
<Encodes>
<Video>
<Name>UHD</Name>
<Bypass>true</Bypass>
</Video>
<Audio>
<Name>HD</Name>
<Bypass>True</Bypass>
</Audio>
<Video>
<Name>1080p</Name>
<Bypass>true</Bypass>
</Video>
<Audio>
<Name>SD</Name>
<Bypass>true</Bypass>
</Audio>
<Video>
<Name>720p</Name>
<Bypass>true</Bypass>
</Video>
</Encodes>
</OutputProfile>
</OutputProfiles>
<Providers>
<OVT />
</Providers>
<Publishers>
<LLHLS>
<ChunkDuration>0.2</ChunkDuration>
<SegmentDuration>6</SegmentDuration>
<SegmentCount>10</SegmentCount>
<CrossDomains>
<Url>*</Url>
</CrossDomains>
</LLHLS>
</Publishers>
</Application>
</Applications>
</VirtualHost>
</VirtualHosts>
</Server>
<?xml version="1.0" encoding="UTF-8" ?>
<Server version="8">
<Name>OvenMediaEngine</Name>
<!-- Host type (origin/edge) -->
<Type>origin</Type>
<!-- Specify IP address to bind (* means all IPs) -->
<IP>*</IP>
<PrivacyProtection>false</PrivacyProtection>
<!--
To get the public IP address(mapped address of stun) of the local server.
This is useful when OME cannot obtain a public IP from an interface, such as AWS or docker environment.
If this is successful, you can use ${PublicIP} in your settings.
-->
<StunServer>stun.l.google.com:19302</StunServer>
<!-- Settings for the ports to bind -->
<Bind>
<!-- Enable this configuration if you want to use API Server -->
<!--
<Managers>
<API>
<Port>${env:OME_API_PORT:8081}</Port>
<WorkerCount>1</WorkerCount>
</API>
</Managers>
-->
<Providers>
<!-- Push providers -->
<RTMP>
<Port>${env:OME_RTMP_PROV_PORT:1935}</Port>
<WorkerCount>1</WorkerCount>
</RTMP>
</Providers>
<Publishers>
<!-- The OVT is protocol for ORIGIN-EDGE -->
<OVT>
<Port>9000</Port>
<WorkerCount>1</WorkerCount>
</OVT>
</Publishers>
</Bind>
<VirtualHosts>
<!--
You can include multiple XML files by doing the following:
<VirtualHost include="sites-enabled/*.xml" />
-->
<VirtualHost include="VHost*.xml" />
<VirtualHost>
<Name>default</Name>
<!--Distribution is a value that can be used when grouping the same vhost distributed across multiple servers. This value is output to the events log, so you can use it to aggregate statistics. -->
<Distribution>cdn.organization.tld</Distribution>
<Host>
<Names>
<Name>site.organization.tld</Name>
<Name>1.2.3.4
</Names>
<TLS>
<CertPath>cert.pem</CertPath>
<KeyPath>key.pem</KeyPath>
<ChainCertPath>chain.pem</ChainCertPath>
</TLS>
</Host>
<!-- Refer https://airensoft.gitbook.io/ovenmediaengine/signedpolicy
<SignedPolicy>
<PolicyQueryKeyName>policy</PolicyQueryKeyName>
<SignatureQueryKeyName>signature</SignatureQueryKeyName>
<SecretKey>aKq#1kj</SecretKey>
<Enables>
<Providers>rtmp,webrtc,srt</Providers>
<Publishers>webrtc,hls,dash,lldash</Publishers>
</Enables>
</SignedPolicy>
-->
<!-- Settings for applications -->
<Applications>
<Application>
<Name>app</Name>
<!-- Application type (live/vod) -->
<Type>live</Type>
<OutputProfiles>
<HardwareAcceleration>force</HardwareAcceleration>
<OutputProfile>
<Name>Lycamthrope.com Live!</Name>
<OutputStreamName>${OriginStreamName}</OutputStreamName>
<Renditions>
<Rendition>
<Name>UHD</Name>
<Video>UHD</Video>
<Audio>HD</Audio>
</Rendition>
<Rendition>
<Name>1080p</Name>
<Video>1080p</Video>
<Audio>HD</Audio>
</Rendition>
<Rendition>
<Name>720p</Name>
<Video>720p</Video>
<Audio>SD</Audio>
</Rendition>
</Renditions>
<Encodes>
<Video>
<Name>UHD</Name>
<Bypass>true</Bypass>
</Video>
<Audio>
<Name>HD</Name>
<Bypass>True</Bypass>
</Audio>
<Video>
<Name>1080p</Name>
<Codec>h264</Codec>
<Width>1920</Width>
<Height>1080</Height>
<Bitrate>8000000</Bitrate>
<Framerate>24</Framerate>
</Video>
<Audio>
<Name>SD</Name>
<Codec>aac</Codec>
<Bitrate>64000</Bitrate>
<Samplerate>48000</Samplerate>
<Channel>2</Channel>
</Audio>
<Image>
<Codec>jpeg</Codec>
<Width>1920</Width>
<Height>1080</Height>
<Framerate>1</Framerate>
</Image>
<Video>
<Name>720p</Name>
<Codec>h264</Codec>
<Width>1280</Width>
<Height>720</Height>
<Bitrate>5000000</Bitrate>
<Framerate>24</Framerate>
</Video>
</Encodes>
</OutputProfile>
</OutputProfiles>
<Providers>
<RTMP />
</Providers>
<Publishers>
<AppWorkerCount>1</AppWorkerCount>
<StreamWorkerCount>8</StreamWorkerCount>
<OVT />
</Publishers>
</Application>
</Applications>
</VirtualHost>
</VirtualHosts>
</Server>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment