rockcarry / fanplayer

A portable video player based on ffmpeg for windows and android platform.
GNU Lesser General Public License v3.0
616 stars 163 forks source link

当前播放器在4k分辨率下音画严重不同步 #58

Open Aliceljm1 opened 2 years ago

Aliceljm1 commented 2 years ago

在4k分辨率下播放mp4视频,只要全屏播放会出现严重的音画不同步,打印avdiff值,发现非常高超过2,3秒。 测试了gdi和d3d两种渲染模式现象一样。测试的分辨率是:3840x2160。 同时对比测试了ffmpeg4.3版本和5.0.1的ffplay.exe 没有此问题,请问作者有优化计划吗?或者优化思路

rockcarry commented 2 years ago

4k 用硬件解码

Aliceljm1 commented 2 years ago

开启了硬件加速问题依旧哎,开启方法设置ini文件video_hwaccel=1

rockcarry commented 2 years ago

看wiki的FAq,看下 cpu占用率是否正常

Aliceljm1 commented 2 years ago

经过测试发现4k下FPS无法达到30,修改了代码如果avdiff参数超过300则丢帧处理,这样就能解决延迟过大问题,4k下稍微有些卡顿,当前电脑4k下显示器刷新率只有30HZ

rockcarry commented 2 years ago

能确定 4k 播放的时候,硬件加速解码正常工作了吗?

Aliceljm1 commented 2 years ago

调试了代码确实走的硬件加速,而且GPU是存在占用的,目前看如果显示器4k刷新率达不到30HZ, 每一帧都强刷就会导致音画不同问题

rockcarry commented 2 years ago

我们 d3d 渲染并没有开启垂直同步的,应该不存在你说的帧率跟不上的问题,你在自己调试下吧。

rockcarry commented 2 years ago

// 预编译开关

define ENABLE_WAIT_D3D_VSYNC TRUE

这个改为 FALSE 试下

Aliceljm1 commented 2 years ago

好的,后面我来试一试,感谢兄弟你的帮助:)