AirenSoft / OvenMediaEngine

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS
https://airensoft.com/ome.html
GNU Affero General Public License v3.0
2.59k stars 1.06k forks source link

General Question about syncing multiple ingest streams #897

Closed belst closed 1 year ago

belst commented 2 years ago

Hello,

this might not be exactly related to ovenmediaengine but since I assume here are a lot of people who know stuff about streaming protocols I figured I could ask here.

Is there a way I can sync incoming streams based on their "encoding" time of the broadcaster? (assuming clocks are synced)

I have a project where we have multiple ingests and we need to sync them to about 0.5s to 1s precision and the ingests can come from all over the world so just using ingest time is probably not good enough.

I guess my question is, does rtmp include an absolute timestamp in its packages and could u theoretically use that timestamp in HLS #EXT-X-PROGRAM-DATE-TIME (from my understanding this is normally set to ingest timestamp) so you could have a way to sync multiple streams during playback based on that?

or maybe there are completely different solutions to this which I am not aware yet. Any help would be appreciated

getroot commented 2 years ago

If you specifically customize the streaming server and player, I don't think it's impossible. But, in my opinion, the best solution is to use ultra-low latency streaming of less than 1 second. Wouldn't OvenMediaEngine's WebRTC streaming meet your needs?

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.