Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

音画不同步的问题 #136

Open
wy513222130 opened this issue Apr 25, 2017 · 20 comments
Open

音画不同步的问题 #136

wy513222130 opened this issue Apr 25, 2017 · 20 comments

Comments

@wy513222130
Copy link

使用Flv框架,目前遇到最大的问题就是音画不同步了,播放直播流几分钟,就会出现,主要体现在音频播放的比视频快。不知道作者有没有什么解决的思路。

@JangoCheung
Copy link

参考下这个回答?:#166

@xqq
Copy link
Contributor

xqq commented Aug 27, 2017

2edad7f

注意:还不稳定

@wy513222130
Copy link
Author

我差不多也是这样解决的,保存最后一个数据,然后无缝的拼接起来。稳定性目前感觉还好,需要时间测试一下。

@arthur17media
Copy link

arthur17media commented Sep 18, 2017

您好,

想问一下这个 commit (2edad7f) 预计什麽时候会 release 呢?

谢谢!

@xqq
Copy link
Contributor

xqq commented Sep 18, 2017

@arthur17media
近期较忙,可能没有时间……
此 commit 仍有较小概率触发 bug,暂时没有时间深入调查。

@xqq xqq reopened this Sep 18, 2017
@arthur17media
Copy link

@xqq
也许可以先 release 这版,因为目前用起来还蛮顺的
然后再另外发一个 issue 来追踪较小触发机率的 bug
不知道觉得如何?

@xqq
Copy link
Contributor

xqq commented Sep 18, 2017

已知极小概率下会出现溢出导致进度条涨到无限远。
暂时不发 release,可能会影响业务
你可以自己把 master 代码合过去

@arthur17media
Copy link

好喔,我也再多观察看看好了,谢谢!

@saysmy
Copy link

saysmy commented Nov 17, 2017

我这边试了 commit (2edad7f) 但还是音视频不同步,刚播放五六秒就开始不同步了,配置如下
var flvPlayer = flvjs.createPlayer({
type: 'flv',
isLive: true,
hasAudio: true,
hasVideo: true,
enableStashBuffer: true,
url: 'https://txy.live-play.acgvideo.com/live-txy/204962/live_799473_6896350.flv?wsSecret=5025a2367cb577792cacbc27995b57f9&wsTime=1510912536'
});

控制台输出:
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 461138 ms, expected: 461119 ms, delta: 19 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 461394 ms, expected: 461375 ms, delta: 19 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 461673 ms, expected: 461653 ms, delta: 20 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 461929 ms, expected: 461909 ms, delta: 20 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 462185 ms, expected: 462165 ms, delta: 20 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 462462 ms, expected: 462442 ms, delta: 20 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 462718 ms, expected: 462699 ms, delta: 19 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 462975 ms, expected: 462955 ms, delta: 20 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 463486 ms, expected: 463467 ms, delta: 19 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 463741 ms, expected: 463722 ms, delta: 19 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 463997 ms, expected: 463978 ms, delta: 19 ms, generate: 1 frames
flv.min.js?v=2:6 [MP4Remuxer] > Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: 464272 ms, expected: 464252 ms, delta: 20 ms, generate: 1 frames

qq 20171117174722

求解!感谢

@xqq
Copy link
Contributor

xqq commented Nov 17, 2017

推流端毛病

@saysmy
Copy link

saysmy commented Nov 17, 2017

这个用的是bilibili的流,我看bilibili pc端是正常的呢?这个是怎么回事?我这边还需要做什么吗

@xqq
Copy link
Contributor

xqq commented Nov 17, 2017

LFLiveKit 的音频流时间戳问题,定期会有两帧之间存在两倍时间戳差,会导致严重音画不同步。
可以关掉 config.fixAudioTimestampGap 选项,禁用该 workaround 后不再会有大量 warning,但一样会不同步。

@saysmy
Copy link

saysmy commented Nov 17, 2017

@xqq 刚测试了config.fixAudioTimestampGap 设置为false,发现竟然同步了!播了一个多小时没问题。在我们平台凡是ios推流的都不用设置可以正常播放,安卓推流的就会不同步,设置fixAudioTimestampGap为false后就正常了。bilibili上不同步的流,设置这个参数后也正常了

@Qquanwei
Copy link

Qquanwei commented Aug 2, 2018

config.fixAudioTimestampGap=false 设置了依然不同步, 而且会累积

@saysmy
Copy link

saysmy commented Jan 3, 2019

再次测试,会不同步,大概四五分钟就开始不同步.... 不同主播同步情况不一样。。虽然都是安卓都是oppo

@Qquanwei
Copy link

Qquanwei commented Jan 4, 2019

@saysmy 我们使用了 #354 这个PR能解决不同步的问题。
@xqq 希望能够早日合入主分支。

@saysmy
Copy link

saysmy commented Jan 4, 2019

@Qquanwei 今天试了下,播放了几十个例子,#354 这个pr的确没出现不同步的情况,是可以用的!

@thinkboy
Copy link

mark 遇到相同问题

@lynxerzhang
Copy link

lynxerzhang commented Jun 11, 2020

#354 这个pr合并master已经产生冲突了,可以解决下吗? @saysmy

@wy513222130
Copy link
Author

wy513222130 commented Jun 11, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants