nova-video-player / aos-AVP

NOVA opeN sOurce Video plAyer: main repository to build them all
Apache License 2.0
3.54k stars 202 forks source link

[Bug]: micro stuttering video #1298

Open piter-pit opened 1 month ago

piter-pit commented 1 month ago

Problem description

I have some issues (some people on the internet also) with micro stuttering when playing h264 or h265 1080p videos, interesting is that it's only on nova player, other players work fine, and I also tried all options like different decoders, frame syncs, buffer sizes etc

Steps to reproduce the issue

Play any 1080p videos with constant movement

Expected behavior

No response

Your phone/tablet/androidTV model

TCL

Operating system version

Android 12

Application version and app store

6.2.97 and 6.3.3 Prerelease

Additional system information

No response

Debug logs

No response

reisender1967 commented 1 month ago

+1 Same Problem. 6.3.3 on Amazon Cube

courville commented 1 month ago

@reisender1967, is it new with 6.3.3 or there before with official release (latest 6.2.x)?

reisender1967 commented 1 month ago

It is also with the official release.

I had hoped that the new “Android timely frame” setting would help, but the problem persists.

courville commented 1 month ago

@reisender1967, if this is linked to judder, could you try adaptive frame rate options? And with current state can you please provide your video fps and used screen refresh rate Hz?

piter-pit commented 1 month ago

I have just tested it on simple stutter test from YouTube https://youtu.be/FVNO-ehIOdw , downloaded on NAS - same result, copied to TV's internal memory - same result, the bitrate is dramatically low and even then I experience that hiccups. I've recorded in slow motion so if you will not ba able to reproduce or not seeing that please let me know. It's not big stuttering, probably most people would not notice it, my girlfriend is also fine with it 😂, but it can be annoying

piter-pit commented 1 month ago

@reisender1967, if this is linked to judder, could you try adaptive frame rate options? And with current state can you please provide your video fps and used screen refresh rate Hz?

I've tried every option available, even in hidden menu 🫤

courville commented 1 month ago

EDIT: @piter-pit and @reisender1967 do you confirm that you have NOT enabled playback speed (I notice a difference with youtube 60Hz stutter video on my phone at 60Hz)?

piter-pit commented 1 month ago

@reisender1967 do you confirm that you have NOT enabled playback speed (I notice a difference with your video on my phone at 60Hz)?

You mean my video or @reisender1967 sent something? In my case playback speed is disabled, was enabled - still stutters, maybe less with disabled but still, similar larger buffer helped a little bit, but I maybe there is different reason

courville commented 1 month ago

my bad: @piter-pit youtube 60Hz "stutter" video.

piter-pit commented 1 month ago

my bad: @piter-pit youtube 60Hz "stutter" video.

Ok, and do you see the case? I can try to present it side by side with different player

reisender1967 commented 1 month ago

EDIT: @piter-pit and @reisender1967 do you confirm that you have NOT enabled playback speed (I notice a difference with youtube 60Hz stutter video on my phone at 60Hz)?

Playback speed is not enabled. Adaptive frame rate options is on and works. So far I have been able to detect the problem with both 24Hz and 50Hz content.

courville commented 1 month ago

@piter-pit, if I disable in the "hidden menu" the setting "android timing", I have the 60Hz video stutter test without any jumps on nvidia shield on the tv without adaptive refresh rate. Do you experience the same? We will have a look at what makes the android timing function nok.

piter-pit commented 1 month ago

Hi @courville by hidden menu you mean that additional menu that appears after 6 times clicking on software decoder? I see no option for Android timing unless it's android frame rate feature but then it does not work on my side

courville commented 1 month ago

When you click 6 times, you enable advanced options, and there is a new one called Android frame timing at the end of the video section. Disable it and let me know if this is any better please. This option is new to 6.3.3.

piter-pit commented 1 month ago

When you click 6 times, you enable advanced options, and there is a new one called Android frame timing at the end of the video section. Disable it and let me know if this is any better please. This option is new to 6.3.3.

OK, I think I switch that off and on when checking prerelease version also. The effect is the same. Please see video that I recorded side by side on Nova and on a different player. It might not be visible on cell phone screen

https://github.com/user-attachments/assets/3579422a-6158-4032-ae16-e4f63843f374

courville commented 1 month ago

@piter-pit thanks for the video and I am also able to reproduce since the beginning. What I meant is that using the 60fps video on my TV with nvidia shield on 60Hz refresh rate: i) I have the stuttering with "Android frame timing" option on, ii) I do not have the stuttering with "Android frame timing" off. This without audio speed option enabled and auto refresh rate disabled. I would like to know if this is the same on your side.

piter-pit commented 1 month ago

It's the same - stuttering with the settings you mentioned.

piter-pit commented 1 month ago

BTW there is configuration that gives no stutter android mediaplayer as a decoder. But then I have no sound

reisender1967 commented 1 month ago

What setting is that? I would like to test it.

piter-pit commented 1 month ago

OMG I got it. I mean I went back to all default settings, so: HW decoder, fps matching and android frame timing but disconnected HDMI ARC/eARC cable and no stuttering, when connected with even AVR shutoff - stutters

piter-pit commented 1 month ago

What setting is that? I would like to test it.

In advanced options (to active click 6 times on and off software decoder) then change decoder

courville commented 1 month ago

OMG I got it. I mean I went back to all default settings, so: HW decoder, fps matching and android frame timing but disconnected HDMI ARC/eARC cable and no stuttering, when connected with even AVR shutoff - stutters

that is really strange behavior. Thus to understand correctly, your setup to watch movies is: TCL android TV running android 12 and HDMI ARC/eARC towards your AV receiver. Can you please disclose your AV receiver model? And please confirm that you are not using any audio passthrough setting (disabled).

piter-pit commented 1 month ago

Not sure what is happening but now, after plugged in AVR the stutter test video is still fine but movies are played few fps despite HW decoder... Let me go back to 6.2.97 version

courville commented 1 month ago

reboot tv?

piter-pit commented 1 month ago

Ok, now when forced passthrough is enabled, I have no few fps, no stutter but also no 5.1, only stereo. It was working fine on AC3 before all this debugging 🫤 When forced disabled, but mode 2 enabled I have few fps

courville commented 1 month ago

@piter-pit can you please clarify what you mean by "few fps"? Do you mean that it plays really slow?

piter-pit commented 1 month ago

Yes, it's like 2-5 fps frame by frame. I started to use external player but triggered by nova does not load subtitles... edit: ok, with a help of chatgpt I added script to mix subtitles into video file after nova downloaded it

piter-pit commented 1 month ago

On 6.2.90 I was able to set mode 2 passthrough and 5.1 is pass to AVR but stutters are back. Something must be off in audio video sync? But only in nova?

reisender1967 commented 1 month ago

I can confirm the problem of micro-jerks in connection with the sound. The juddering is gone when forced passtrough is activated.

piter-pit commented 1 month ago

I think micro stutter is over in 6.3.4, however when 5.1 sound should be passthroughed to AVR there is just silence with few fps

courville commented 1 month ago

@piter-pit thanks for the feedback. Could you please describe to me how you connect your TCL TV to your AVR? I assume it is through eARC with proper HDMI cable. And could you also tell me what is your TV (not nova) settings in terms of audio output (system audio control setting?) and what are the possible options? EDIT Cf. https://support.tcl.com/en_US/us-soundbars-troubleshooting/troubleshooting-no-audio-when-connecting-a-tcl-sound-bar-to-a-tv-via-the-arc-or-earc-port https://www.reddit.com/r/Roku/comments/i644n7/tcl_tv_tcl_soundbar_arc_not_passing_audio/

piter-pit commented 1 month ago

@courville yes, it's connected via eARC and there are not much to select either passthrough or pcm (stereo). Passthrough is selected. The configuration works fine on any streaming platform (Netflix, Disney, max or prime) and with different player that supports 5.1 output. On nova it also worked 🫤

courville commented 3 weeks ago

@piter-pit, I do not see what I changed for having not working in nova now. It would help if you could pin point the last version that is working.

piter-pit commented 3 weeks ago

@courville as I mentioned few post earlier. In 6.2.90 it was working when set to mode 2

On 6.2.90 I was able to set mode 2 passthrough and 5.1 is pass to AVR but stutters are back.