Forwarding an incoming stream between origins to share transcoding load (origin-origin config) #1559
-
Hi, right now I have an origin transcoder that (due to issue #1558 ) does not have enough CPU to be able to both decode the incoming stream and do all transcodes I wish to do. The first origin is receiving a HEVC stream via SRT. What I there would like to do is to have a second origin which is pulling that incoming stream (prior to origin1 transcoding it), to do other transcodes. (I know how to merge those on the edge as documented, that's not the question). I am not sure how to do this - as I understand an edge will never pull the original stream via OVT, but only the transcode outputs. An origin on the other hand would never pull OVT at all, but always expect an incoming stream. However, I also know that edges can do re-transcodes. I am not sure if the right way would be to try give the origin1 an OVT publisher with a video+audio pass-through config, and then have origin2 use the "edge" type of config and have it pull from origin1 via OVT and then re-publish the transcodes as OVT, with the REAL edge servers then pulling stream from origin1 and origin2.... or in some other way. Thinking about this makes my brain hurt. Any pointers highly welcome :) |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 4 replies
-
I think this is something OriginMapStore can do for you: https://airensoft.gitbook.io/ovenmediaengine/origin-edge-clustering#originmapstore The only compromise from your vision is that it treats all Origin servers equally with a load balancer, rather than programmatically defining the hierarchy between them. If you really wanted to do this, have a look at AdmissionWebhooks which can be used to trigger your own application logic whenever a stream comes in. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your comment. I looked at OriginMapStores, but don't think it will help. My problem is not pulling from multiple origins, my problem is that I need to duplicate an incoming SRT stream from origin1 to origin2. |
Beta Was this translation helpful? Give feedback.
-
Yes, I found that one, too, and it might work. However the documentation says: "To use SRT Push Publishing, you need to declare the publisher in the configuration. There are no other detailed options." ...but where is the option to specify the target URL (and, secondly, authentication) then...? Very confusing. I still assume that if the edge mode of the server has the option to do an OVT pull, and origin obviously always offers OVT for edges, then there might a way to have an origin do an OVT pull, too. |
Beta Was this translation helpful? Give feedback.
-
You cannot re-transcode a stream pulled from origin over the OVT protocol. This is because OVT is a special protocol written for the edge. And because OVT replicates the stream, it gets all the tracks from the stream. If one of the tracks in |
Beta Was this translation helpful? Give feedback.
The XML config just enables it - you need to control it via API. A nice thing here is that you can choose which tracks / streams to push so you don't have to push the original HEVC stream.