Closed chillout23 closed 1 year ago
好的,可以
@cdguy as a developer, it should be really useful if you can do some further testing :) I can only check if @kingslay adds the switch in TracyPlayer. Anyways, let's not give up on this.
@kingslay please do not forget to update the testflight app :)
Just tested, but unfortunately nothing works. Tracy Player does not deinterlace at all.
I tried all settings: send_frame send_field send_frame_nospatial send_field_nospatial
@kingslay
Just tested, but unfortunately nothing works. Tracy Player does not deinterlace at all.
I tried all settings: send_frame send_field send_frame_nospatial send_field_nospatial
@kingslay
@kingslay I confirm the issue too, de-interlace does not work
可以提供下url吗
I sent you a few URLs @kingslay
Please use a VPN with a Europe Location (Germany is preferred)
I gave it a look after the last commit and even when the text looks smooth, the motion is still very stuttery.
in fact, looking at it gave me a headache lol
i still wonder what the lillyplayer dev did to achieve that smoothness...
ask @JeremTM93 , maybe they know.
Lillyplayer enabled yadif mode = 1 but it is based on MPV.
After the last commit, can anyone get this to work? For me these new settings don't do anything...
I gave it a look after the last commit and even when the text looks smooth, the motion is still very stuttery.
in fact, looking at it gave me a headache lol
i still wonder what the lillyplayer dev did to achieve that smoothness...
Guys be patient a bit, in the changelog @kingslay mentions that videotoolbox
creates a bug;
Once he founds the issue, the interlaced streams playback will be awesome.
After the last commit, can anyone get this to work? For me these new settings don't do anything...
If you use send_frame
aka yadif=0 it is how it was before the commit.
@kingslay in my opinion you should repoen the thread and close it until you find the fix for videotoolbox
usage
I think Tracy Player has no functionality to actually enable deinterlacing right now. There are just options to choose different types:
0, send_frame
Output one frame for each frame.
1, send_field
Output one frame for each field.
2, send_frame_nospatial
Like send_frame, but it skips the spatial interlacing check.
3, send_field_nospatial
Like send_field, but it skips the spatial interlacing check.
The default value is send_frame.
Ok. I got it to work. I had a stream set to .m3u8 (hls) where it did not work. With .ts it works, but yes, it is slow motion like @cdguy said. So there are some stuff missing here, let's wait and see if kingslay can fix it. Where is the changelog btw?
@kingslay this issue is not fixed you need to open it.
@kingslay I might have found a temporary fix for a smooth playback of interlaced streams. Please note that I have tried with this last commit: https://github.com/kingslay/KSPlayer/commit/247d8c9105be6e0d9dd8d1e340b5586f596c0893
My temp fix:
use yadif=1
(yadif_field)
As you know, whith yadif=1 the video is played at half speed and the sound is heard at “normal speed”
if you play the stream at x2 speed (via playback speed) you can see that the video playback is very good. The only thing you would need to do codewise is this: If yadif=1 is used make playback speed x2 (for video) Make audio track playback x0,5
I am uploading a video record and you will see what I mean. You will receive the videos via “collect”
I hope that is helps
Also using the “method” I mentioned above, made the stream very smooth on ios device that does not support 120hz display @kingslay
@kingslay I might have found a temporary fix for a smooth playback of interlaced streams. Please note that I have tried with this last commit: 247d8c9
My temp fix:
use
yadif=1
(yadif_field) As you know, whith yadif=1 the video is played at half speed and the sound is heard at “normal speed”if you play the stream at x2 speed (via playback speed) you can see that the video playback is very good. The only thing you would need to do codewise is this: If yadif=1 is used make playback speed x2 (for video) Make audio track playback x0,5
I am uploading a video record and you will see what I mean. You will receive the videos via “collect”
I hope that is helps
@cdguy i had to disable the audio renderer in tracy player to playback deinterlaced smoothly with 2x, with audio renderer on the playback started to jump. But interesting idea, if this could be implemented in a way that works :)
@kingslay don’t forget to update the testflight app, @chillout23 would like to test the fix
@kingslay it looks like you fixed the issue!! Waiting for @chillout23 and @JeremTM93 confirmation :)
on the other hand,
can you please rename the filters in your code like this (novice users would not understand what send_frame means):
yadif = yadif=0 yadif_2x = yadif=1 yadif_spatial_skip = yadif=2 yadif_2x_spatial_skip = yadif=3
besides, I haven’t checked your code, but please make yadif=1
(yadif_2x in my naming suggestion) the default yadif filter.
those who want to use other yadif filters would change it according to their taste
thanks!!
@kingslay i mean this as the default yadif filter
yadif=mode=1:parity=-1:deint=1
好的 可以 我改下
Just tested, it's unfortunately jerky. It's smooth for 2 seconds, then it jumps a little, then the player eventually crashes after 20-30 seconds. This should be easy for @kingslay to reproduce if he has a interlaced stream to work with, preferably some video with scrolling text... @cdguy how come it works for you, do you have your own app? Did you try TracyPlayer? Which ATV device you using?
Just tested, it's unfortunately jerky. It's smooth for 2 seconds, then it jumps a little, then the player eventually crashes after 20-30 seconds. This should be easy for @kingslay to reproduce if he has a interlaced stream to work with, preferably some video with scrolling text... @cdguy how come it works for you, do you have your own app? Did you try TracyPlayer? Which ATV device you using?
I spoke a bit early this morning @chillout23 I provided a few interlaced streams to @kingslay he is working on it
No problem, thank you for your contribution to this issue :)
Hi Kingslay, can you update TracyPlayer with your latest changes please?
这个问题还没修复好。我还在修复
@JeremTM93 这个问题我修复了。也更新test flight
@JeremTM93 这个问题我修复了。也更新test flight
it's fluid but slightly accelerated, image and sound. @cdguy @chillout23 so what do you think?
At the beginning of the video, it's really in time-lapse, image and sound. After a minute it's almost perfect, it's very slightly accelerated. It's very fluid, no jerks noted.
And by staying longer on the live stream, it cuts (buffering)... and the sound becomes out of sync with the image.
@kingslay @JeremTM93
I could only try on ios: 1- I noticed that the playback speed button does not work. 2- the yadif x2 filter works very well, however the playback speed is around 1.5x speed. And the sound is synced with the video. Perhaps fixing the playback speed button/feature might solve the issue
i will write here after I try on tvos
On my end the playback is jerky... it "jumps". I watch a interlaced stream with a rolling text bar...
On my end the playback is jerky... it "jumps". I watch an interlaced stream with a rolling text bar...
Please specify your device. The stream details, etc. This kind of comment does not help.
@cdguy Apple TV 4K 2022. I tried several streams I have access to through my provider. If you have a public link please send me so we can do tests on same channel/stream :)
At the beginning of the video, it's really in time-lapse, image and sound. After a minute it's almost perfect, it's very slightly accelerated. It's very fluid, no jerks noted.
And by staying longer on the live stream, it cuts (buffering)... and the sound becomes out of sync with the image.
这个是因为我做了一个直播降低 时延的功能。缓存很小的话,那就以0.8倍数来播放,如果缓存很大的话,那就以1.2倍数来播放。我优化下这个倍数播放的策略。所以目前在直播场景的话,外部是无法控制倍数播放的。
@kingslay I sent you a 5 minutes interlaced stream via e-mail You can easily check if the playback speed is x1; there is a time counter
In my opinion, for buffer settings and being "the closest possible to a live stream" (meaning watching without buffering) you can use the settings of Qmplay2 which uses only ffmpeg library (https://github.com/zaps166/QMPlay2)
some providers add incremental buffering; because of this, even if you set the "live stream buffer length" to 5 seconds and then fast-forward to be "ahead" you will see that a buffer size will again be added.
how to replicate:
1- open a stream with qmplay2; set the settings as seen in the screenshot. 2- open a stream 3- press the right arrow key on your keyboard 4- look at the buffer value (the field where it is written "4.0 s") 5- you should see that even if you reduced the buffer size by hitting the right arrow key on your keyboard, buffer has been added.
what can be implemented and done:
1- as I suggested, add the playback settings (the first 7; starting with "short seeking" and ending with "start internet playback internet stream if...")
2- for the fast forward feature (short seeking as per qmplay2) one of the 2 things can be used:
use the "fast forward" buttons like the one used in the native player
or use tap gestures: in VLC you can seek forward by double-tapping on the screen:
https://github.com/kingslay/KSPlayer/assets/123307657/9bfc31a4-e13f-4f65-a983-28420008508f
on TVOS, a double press on the right arrow on the remote can do the "fast forward"/forward seek
我看了,音视频不同步是因为内存占用太高了。软解来不及,导致没有解码后的视频帧。这个时候暂停一会儿,情况就好转了。但是这个是直播,这样就会导致时延很大。还有一个可以做的事情就是,就是丢弃一些解码之前的视频包,这样解码压力就不会那么大了。这样改动就会大一点。
如果可以走反交叉的硬解是最好的,但是目前这个功能ffmpeg应该是不支持的。 https://github.com/mpv-player/mpv/issues/3939
我看了,音视频不同步是因为内存占用太高了。软解来不及,导致没有解码后的视频帧。这个时候暂停一会儿,情况就好转了。但是这个是直播,这样就会导致时延很大。还有一个可以做的事情就是,就是丢弃一些解码之前的视频包,这样解码压力就不会那么大了。这样改动就会大一点。
I am going to send you a screen video record via e-mail that supports your idea
@kingslay why you keep closing this issue without checking with users first if it is fixed or not?
@kingslay why you keep closing this issue without checking with users first if it is fixed or not?
@chillout23 mate, calm down :) I guess you don't know how @kingslay works. as he wrote above, he is aware of the issue and will push a new commit when the issue is fixed
@kingslay why you keep closing this issue without checking with users first if it is fixed or not?
@chillout23 mate, calm down :) I guess you don't know how @kingslay works. as he wrote above, he is aware of the issue and will push a new commit when the issue is fixed
I did see what he wrote. And I am very calm actually, it was just a friendly question :) @kingslay take your time, and I hope for a proper fix without any workarounds.
@chillout23 then
@kingslay why you keep closing this issue without checking with users first if it is fixed or not?
@chillout23 mate, calm down :) I guess you don't know how @kingslay works. as he wrote above, he is aware of the issue and will push a new commit when the issue is fixed
I did see what he wrote. And I am very calm actually, it was just a friendly question :) @kingslay take your time, and I hope for a proper fix without any workarounds.
Then you should rephrase, because that isn't a friendly question.
This said, I agree with you that he closes issues too superficially, but is also true that this is his library and it is a free library, hence he can do wtf he wants 🤣
can you please update the tracy player testflight app? @JeremTM93 will try when he can thanks
现在已经在打包了
It seems to work perfectly for me right now. But lets verify with @JeremTM93 :)
Good job!!! @kingslay 🥇
Only thing I noticed is perhaps a slight lip sync issue? But I am not 100% sure it might be my stream, something others can test and report back on maybe?
Only thing I noticed is perhaps a slight lip sync issue? But I am not 100% sure it might be my stream, something others can test and report back on maybe?
是指音频和视频会有轻微的不同步吗?如果是音视频同步的问题,可以看下日志里面是否有 [video] video delay 这个信息
Current deinterlacing option in KSLib is not producing smooth TV-like motion. Please try to implement something like VLC's Yadif x2 or MPV's deinterlacer. They are very smooth and looks very good. Can you take this challenge @kingslay ?