wang-bin / QtAV

A cross-platform multimedia framework based on Qt and FFmpeg. 基于Qt和FFmpeg的跨平台高性能音视频播放框架. Recommand to use new sdk https://github.com/wang-bin/mdk-sdk
http://qtav.org
3.99k stars 1.51k forks source link

怎么实现两个播放器同步播放 #1180

Open tomnotcat opened 5 years ago

tomnotcat commented 5 years ago

我这边有个需求,同时打开两个AVPlayer播放两个mp4(mp4在服务器上, 边下边播), 但界面上只有一个播放进度条,同时控制两个视频的播放进度(即两个视频同步播放,比如说进度条拉到10秒的位置,两个视频同时都跳到10秒的位置)。 我看了下Qt::AVPlayer的接口,目前想到的办法是通过seek来控制进度,但通过seek同步的效果会不好,比如拉到了10秒的位置,Player1先加载完视频先开始播放了,Player2网络延时等问题加载慢了点就慢了一拍。或都播放过程中,其中一个播放器卡了一会,两边就不同步了。

想请教下大神,有没有好点的思路能实现两个视频同步播放,并且两个视频的时间差能控制在1秒内。

syzby commented 5 years ago

AVPlayer有个void seekFinished(qint64 position);信号。收到2个player的seekFinished信号后再一起播放,应该会比较同步了