Synchronized video playback on different Android devices

Jeppe Ledet-Pedersen jlp at steinwurf.com
Sun Aug 31 23:42:37 PDT 2014


On 2014-08-29 16:42, Nicolas Dufresne wrote:
> Le 2014-08-29 05:22, Jeppe Ledet-Pedersen a écrit :
>> I assume this is because the pipeline latencies of the two devices are
>> not the same? Can I somehow read back the latency and adjust the
>> rtpjitterbuffer latency to get a identical total latency of all the
>> devices? Or is there a better solution?
> I would guess the difference is in the display latency, an information 
> that I don't think can be programmatically determined on Android (please 
> correct me if I'm wrong, I'd love to know). You can tweak this using 
> "render-delay" on the sink element. You need to align to the worst 
> delay. 

Hi Nicolas,

Ok, I just had the understanding that the rendering delay of the sink
had to be known, in order to synchronize e.g. a video and an audio sink?

Thanks for pointing out the render-delay property.

> So far I have been able to manually meansure the delay with
> counting generated stream, that playback at the screen refresh rate
> of the device. Then I record from a good quality camera, ideally
> with higher or equal rate to your display, and watch the result 
> frame-by-frame, to average the delay (jitter is possible). 

Good idea. I'll give that a try.

> I think if one could manage to finish zero-copy on Android, we'd get
> better result for such use case.

> hope this helps,

It sure did, thanks!

-Jeppe



More information about the gstreamer-devel mailing list