kingslay / KSPlayer

A video player for iOS、macOS、tvOS、visionOS , based on AVPlayer and FFmpeg, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, support subtitles.
GNU General Public License v3.0
869 stars 184 forks source link

*** Important Issues to be fixed #700

Closed cdguy closed 6 months ago

cdguy commented 6 months ago

Hello @kingslay there a few major bugs that need to be fixed as high priority.

To make your work easier, I will regroup the issues here:

1- Progressive streams and media info

a) With the last commits, now all interlaced streams do not have fluid playback.

b) Your last commit (most probably the ffmpeg update) broke the media details

How to replicate: i) while playing a stream open the media info details ii) if you play a 50p progressive content; the “Video Track” field will display the video track as 25fps iii) while playing a stream open the media info details ii) if you play a 50i interlaced content; the “Video Track” field will display the video track as 50fps

This screenshot is from the tracyplayer testflight (this one should be displayed) Previous Ksplayer

This screenshot is the untouched demo app with the latest code Latest Ksplayer

2- HDR10+ issue

Until the tracy player build 85, HDR10+ is played correctly however with the build 86, HDR10+ layer is gone, the content is played as HDR standard In order to be able to use the HDR10+ layer I have to switch back Asynchronous Decompression to ON.

I suspect you disabled Asynchronous Decompression because if you enable it, the #691 issue is happening.

3- Audio Unit issue I deliberately closed the issue, but it is not fixed #698

I will share with you the links in an hour. I am compiling all the video files into one place.

Also I will create a kind of checklist for you. With this checklist, you will be able to run individual tests before each commit and to make sure that nothing is broken every time you update your code

kingslay commented 6 months ago

if you play a 50i interlaced content; the “Video Track” field will display the video track as 50fps 这样显示,不符合你的预期吗?我是有做了一个处理,如果使用 yadif_2x的话,那我会对fps 进行 fps = fps*2 的处理。 这样才能跟display fps显示的值一致

kingslay commented 6 months ago

如果是可以公开的测试视频,那可以上传到这个库里面https://github.com/kingslay/TestVideo 上传完之后。运行下swift main.swift 就能自动生成m3u8了。

cdguy commented 6 months ago

if you play a 50i interlaced content; the “Video Track” field will display the video track as 50fps 这样显示,不符合你的预期吗?我是有做了一个处理,如果使用 yadif_2x的话,那我会对fps 进行 fps = fps*2 的处理。 这样才能跟display fps显示的值一致

I am sorry this is my mistake, it works fine. my livestreams got downgraded to 25p somehow... the behaviour is 100% correct for this

cdguy commented 6 months ago

如果是可以公开的测试视频,那可以上传到这个库里面https://github.com/kingslay/TestVideo 上传完之后。运行下swift main.swift 就能自动生成m3u8了。

My files are huge. I have subscribed to a Webdav service. I will share the links with you in private

kingslay commented 6 months ago

@cdguy 麻烦给我一个正常的interlaced 的测试视频。我解决下你提的interlaced 播放不流程的问题

cdguy commented 6 months ago

@kingslay I am sorry for the delay the WEBDAW server limited my upload speed for the first hours in 2 minutes I will send you the interlaced streams link and the Dolby Vision Files link

Thanks!!

cdguy commented 6 months ago

if you play a 50i interlaced content; the “Video Track” field will display the video track as 50fps 这样显示,不符合你的预期吗?我是有做了一个处理,如果使用 yadif_2x的话,那我会对fps 进行 fps = fps*2 的处理。 这样才能跟display fps显示的值一致

can you please if you added this also into tvos? it seems like you only implement this on ios/ipados @kingslay

kingslay commented 6 months ago

tvOS也是会有这个能力的。所以应该是可以的。我回去检查下

kingslay commented 6 months ago

我用你发给我的Standard Interlaced Stream 在tvOS 试了 是可以显示为50fps的