Video and Metadata synchronization


I'm testing streaming video+metadata from an Android device using the RED5PRO Android SDK and subscribing to it from an HTML5 page as webRTC.

I'm correctly receiving the video on the HTML5 and I'm also receiving the metadata that I'm sending from Android using the R5Stream.send("onMetaData", data) function call.

I get the metadata on the 'onSubscriberEvent(event)' callback on the HTML5 page with an event.type == 'Subscribe.Metadata'.

Everything is working correctly up to this point. The issue is that the video and metadata are out of sync. The video has an average delay of around 0.5 seconds while the metadata (coming in on a websocket) has 0 delay (I'm testing on a local network. The metadata I'm sending needs to be as much as possible fully in sync with the video).

I've been trying to find any id, timestamp, etc. that would allow me to synchronize the metadata to the video but with not luck so far.

Is there a recommended way for receiving fully synchronize video and metadata on the subcriber size. Is there any kind of timestamp, frame id, etc. that can be used on the receiving side to sync an onMetadata event to a precise moment/frame on the received video stream. 

Thank you very much,



Please sign in to leave a comment.