Skip to content

Instantly share code, notes, and snippets.

@cwpenhale
Created May 24, 2022 06:33
Show Gist options
  • Save cwpenhale/99255d5ae1f5a3b2264f5e1fcf26f5ea to your computer and use it in GitHub Desktop.
Save cwpenhale/99255d5ae1f5a3b2264f5e1fcf26f5ea to your computer and use it in GitHub Desktop.
Origin Server.xml
[2022-05-24 06:28:30.740] I [SPllhls-T443:7] Orchestrator | orchestrator.cpp:728 | Trying to pull stream [#default#app/live_720
p] from provider using origin map: PullProvider
[2022-05-24 06:28:31.076] E [SPllhls-T443:7] OvtStream | ovt_stream.cpp:583 | [#default#app/live_720p] An error occurred while
receiving packet: [Socket] Remote is disconnected
[2022-05-24 06:28:31.076] E [SPllhls-T443:7] OvtStream | ovt_stream.cpp:558 | #default#app/live_720p(103) - Could not receive p
acket : err(0)
[2022-05-24 06:28:32.716] E [SPllhls-T443:7] OvtStream | ovt_stream.cpp:583 | [#default#app/live_720p] An error occurred while
receiving packet: [Socket] Receive timed out: Resource temporarily unavailable (11)
[2022-05-24 06:28:32.716] E [SPllhls-T443:7] OvtStream | ovt_stream.cpp:558 | #default#app/live_720p(103) - Could not receive p
acket : err(0)
[2022-05-24 06:28:33.062] I [SPllhls-T443:7] Provider | stream.cpp:60 | #default#app/live_720p(103) has been stopped playing s
tream
[2022-05-24 06:28:33.062] E [SPllhls-T443:7] OvtStream | ovt_stream.cpp:583 | [#default#app/live_720p] An error occurred while
receiving packet: [Socket] Remote is disconnected
[2022-05-24 06:28:33.062] E [SPllhls-T443:7] OvtStream | ovt_stream.cpp:558 | #default#app/live_720p(103) - Could not receive p
acket : err(0)
[2022-05-24 06:28:33.062] E [SPllhls-T443:7] Provider | provider.cpp:153 | OVTProvider Application could not create [live_720p]
stream.
[2022-05-24 06:28:33.062] E [SPllhls-T443:7] Orchestrator | orchestrator.cpp:776 | Could not pull stream [#default#app/live_720
p] from provider: PullProvider
[2022-05-24 06:28:33.062] E [SPllhls-T443:7] LLHLS Publisher | llhls_publisher.cpp:282 | Could not pull the stream : live_720p
[2022-05-24 06:28:30.862] I [SPOvtPub-T9000:9] OVT | ovt_publisher.cpp:140 | OvtProvider is connected : <ClientSocket: 0x7fabfc
235ca0, #7, Connected, TCP, Nonblocking, 10.244.91.192:37418>
[2022-05-24 06:28:30.862] I [SPOvtPub-T9000:9] Orchestrator | orchestrator.cpp:728 | Trying to pull stream [#default#app/live_7
20p] from provider using origin map: PullProvider
[2022-05-24 06:28:31.010] I [SPOvtPub-T9000:9] Provider | stream.cpp:57 | OVTProvider Application has started to play [live_72
0p(109)] stream : ovt://site.organization.tld:9000/app/live_720p
[2022-05-24 06:28:31.010] I [SPOvtPub-T9000:9] Provider | stream.cpp:49 | #default#app/live_720p(109) has been started stream
[2022-05-24 06:28:31.011] I [SPOvtPub-T9000:9] Provider | application.cpp:172 | #default#app application has created 9 stream m
otor
[2022-05-24 06:28:31.011] I [SPOvtPub-T9000:9] MediaRouter | mediarouter_application.cpp:244 | Trying to create a stream: [#def
ault#app/live_720p(109)]
[2022-05-24 06:28:31.011] I [SPOvtPub-T9000:9] MediaRouter | mediarouter_application.cpp:245 |
[Stream Info]
id(109), msid(0), output(live_720p), SourceType(Ovt), Created Time (Tue May 24 06:28:30 2022) UUID(b8d5c54a-c76a-44bf-80c8-b0b50
f001a5f/default/#default#app/live_720p/i)
>> Origin Stream UUID : 8935120c-b504-454e-b766-8f816ee12ba1/default/#default#app/live/i
Video Track #6: Bypass(false) Bitrate(5.00Mb) codec(1, H264) resolution(1280x720) framerate(24.00fps) timebase(1/90000)
Video Track #7: Bypass(false) Bitrate(0b) codec(9, JPEG) resolution(1280x720) framerate(1.00fps) timebase(1/90000)
Audio Track #8: Bypass(false) Bitrate(32.00Kb) codec(6, AAC) samplerate(48.0K) format(s16, 16) channel(stereo, 2) timeba
se(1/48000)
[2022-05-24 06:28:31.011] I [SPOvtPub-T9000:9] MediaRouter | mediarouter_stream.cpp:54 | Trying to create media route stream:
name(live_720p) id(109)
[2022-05-24 06:28:31.011] I [SPOvtPub-T9000:9] Monitor | application_metrics.cpp:57 | Create StreamMetrics(live_720p/b8d5c54a-
c76a-44bf-80c8-b0b50f001a5f/default/#default#app/live_720p/i) for monitoring
[2022-05-24 06:28:31.012] C [SPOvtPub-T9000:9] OvenMediaEngine | signals.cpp:114 | OME received signal 11 (SIGSEGV), interrupt.
[2022-05-24 06:28:31.012] I [SPOvtPub-T9000:9] Publisher | stream.cpp:202 | OVTPublisher Application application has started [l
ive_720p(109)] stream (MSID : 0)
[2022-05-24 06:28:31.012] I [SPOvtPub-T9000:9] Provider | stream_motor.cpp:137 | #default#app/live_720p(109) stream has added t
o 9 StreamMotor
[2022-05-24 06:28:31.012] I [SPOvtPub-T9000:9] Orchestrator | orchestrator.cpp:760 | The stream was pulled successfully: [#defa
ult#app/live_720p] (109)
<?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>
<Thumbnail>
<TLSPort>443</TLSPort>
</Thumbnail>
<LLHLS>
<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>/app/</Location>
<Pass>
<Scheme>ovt</Scheme>
<Urls><Url>publish.cdn.organization.tld:9000/app/</Url></Urls>
</Pass>
</Origin>
</Origins>
<Applications>
<Application>
<Name>app</Name>
<Type>live</Type>
<OutputProfiles>
<OutputProfile>
<Name>bypass_stream</Name>
<OutputStreamName>${OriginStreamName}</OutputStreamName>
<Encodes>
<Audio>
<Bypass>true</Bypass>
</Audio>
<Video>
<Bypass>true</Bypass>
</Video>
<Image>
<Codec>jpeg</Codec>
<Framerate>1</Framerate>
<Width>1280</Width>
<Height>720</Height>
</Image>
<Image>
<Codec>png</Codec>
<Framerate>1</Framerate>
<Width>1280</Width>
<Height>720</Height>
</Image>
</Encodes>
</OutputProfile>
</OutputProfiles>
<Providers>
<OVT />
</Providers>
<Publishers>
<Thumbnail>
</Thumbnail>
<LLHLS>
<ChunkDuration>0.2</ChunkDuration>
<SegmentDuration>6</SegmentDuration>
<SegmentCount>10</SegmentCount>
</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>site.organization.tld</Distribution>
<Host>
<Names>
<Name>site.organization.tld</Name>
<Name>1.2.3.4</Name>
</Names>
<TLS>
<CertPath>cert.pem</CertPath>
<KeyPath>key.pem</KeyPath>
<ChainCertPath>chain.pem</ChainCertPath>
</TLS>
</Host>
<!-- Settings for applications -->
<Applications>
<Application>
<Name>app</Name>
<!-- Application type (live/vod) -->
<Type>live</Type>
<OutputProfiles>
<HardwareAcceleration>force</HardwareAcceleration>
<OutputProfile>
<Name>UHD</Name>
<OutputStreamName>${OriginStreamName}_UHD</OutputStreamName>
<Encodes>
<Video>
<Bypass>true</Bypass>
</Video>
<Audio>
<Codec>aac</Codec>
<Bitrate>160000</Bitrate>
<Samplerate>48000</Samplerate>
<Channel>2</Channel>
</Audio>
<Image>
<Codec>jpeg</Codec>
<Width>3840</Width>
<Height>2160</Height>
<Framerate>1</Framerate>
</Image>
</Encodes>
</OutputProfile>
<OutputProfile>
<Name>1080p</Name>
<OutputStreamName>${OriginStreamName}_1080p</OutputStreamName>
<Encodes>
<Video>
<Codec>h264</Codec>
<Width>1920</Width>
<Height>1080</Height>
<Bitrate>8000000</Bitrate>
<Framerate>24</Framerate>
</Video>
<Audio>
<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>
</Encodes>
</OutputProfile>
<OutputProfile>
<Name>720p</Name>
<OutputStreamName>${OriginStreamName}_720p</OutputStreamName>
<Encodes>
<Video>
<Codec>h264</Codec>
<Width>1280</Width>
<Height>720</Height>
<Bitrate>5000000</Bitrate>
<Framerate>24</Framerate>
</Video>
<Audio>
<Codec>aac</Codec>
<Bitrate>32000</Bitrate>
<Samplerate>48000</Samplerate>
<Channel>2</Channel>
</Audio>
<Image>
<Codec>jpeg</Codec>
<Width>1280</Width>
<Height>720</Height>
<Framerate>1</Framerate>
</Image>
</Encodes>
</OutputProfile>
</OutputProfiles>
<Providers>
<RTMP />
</Providers>
<Publishers>
<AppWorkerCount>1</AppWorkerCount>
<StreamWorkerCount>8</StreamWorkerCount>
<OVT />
</Publishers>
</Application>
</Applications>
</VirtualHost>
</VirtualHosts>
</Server>
<?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>publish.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>/app/</Location>
<Pass>
<Scheme>ovt</Scheme>
<Urls><Url>site.organization.tld:9000/app/</Url></Urls>
<ForwardQueryParams>true</ForwardQueryParams>
</Pass>
</Origin>
</Origins>
<Applications>
<Application>
<Name>app</Name>
<Type>live</Type>
<OutputProfiles>
<OutputProfile>
<Name>bypass_stream</Name>
<OutputStreamName>${OriginStreamName}</OutputStreamName>
<Encodes>
<Audio>
<Bypass>true</Bypass>
</Audio>
<Video>
<Bypass>true</Bypass>
</Video>
</Encodes>
</OutputProfile>
</OutputProfiles>
<Providers>
<OVT />
</Providers>
<Publishers>
<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