You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Flickering subtitles in DASH/H264 with B-frames present #288
Thanks for reporting, and for including a repro stream. I'm able to see the same issue.
I've added some debug logging and it looks like this happens when we transition between Subtitle objects inside TextRenderer while a cue is meant to be shown on screen. The implementation details of this means we currently end up 'finishing' one Subtitle object with an empty list of cues at the same presentation timestamp of the first event of the next Subtitle (which contains the same cue text that should be on screen). This transition through an empty cue list is then propagated through TextOutput and ultimately to the SubtitleView and results in the flickering. We end up seeing
cues emitted roughly as follows (the timestamps are from your example media, the text I swapped out for this example):
I've added experimental support for the new approach to subtitle parsing in DASH. This will be included in 1.2.0-rc01. You can try it out with DashMediaSource.Factory.experimentalParseSubtitlesDuringExtraction.
Activity
icbaker commentedon Apr 5, 2023
Thanks for reporting, and for including a repro stream. I'm able to see the same issue.
I've added some debug logging and it looks like this happens when we transition between
Subtitleobjects insideTextRendererwhile a cue is meant to be shown on screen. The implementation details of this means we currently end up 'finishing' oneSubtitleobject with an empty list of cues at the same presentation timestamp of the first event of the nextSubtitle(which contains the same cue text that should be on screen). This transition through an empty cue list is then propagated throughTextOutputand ultimately to theSubtitleViewand results in the flickering. We end up seeingcues emitted roughly as follows (the timestamps are from your example media, the text I swapped out for this example):
I'm still investigating exactly how the media results in this output.
AGasztold commentedon Apr 27, 2023
Hello, thanks for your reply. Are the any news regarding this issue? I will appreciate your help.
07steven01 commentedon Jul 17, 2023
I'm facing the same issue. Is there a fix yet?
icbaker commentedon Jul 19, 2023
I'm currently making some fairly major changes to
TextRendererthat should resolve the problem I described above - I hope this will be part of 1.2.0.07steven01 commentedon Sep 13, 2023
I can see 1.2.0-alpha01 is out. No mention of TextRenderer in the changelog. Are the changes still planned for 1.2.0 or rather some further release?
icbaker commentedon Sep 13, 2023
I'm working on the
TextRendererchanges (they are not submitted yet) - at the moment i'm not sure if they will be complete in time for 1.2.0.Update `TextRenderer` to handle `CuesWithTiming` instances directly
Update `TextRenderer` to handle `CuesWithTiming` instances directly
Add experimental opt-in to parse DASH subtitles during extraction
Add experimental opt-in to parse DASH subtitles during extraction
icbaker commentedon Oct 17, 2023
I've added experimental support for the new approach to subtitle parsing in DASH. This will be included in 1.2.0-rc01. You can try it out with
DashMediaSource.Factory.experimentalParseSubtitlesDuringExtraction.Update `TextRenderer` to handle `CuesWithTiming` instances directly
Add experimental opt-in to parse DASH subtitles during extraction