-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use eof_action=pass
when overlaying subtitles
#10710
Use eof_action=pass
when overlaying subtitles
#10710
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overlay_vulkan
should also apply the same change.
overlayFilters.Add("overlay_vulkan=eof_action=endall:shortest=1:repeatlast=0"); |
8252731
to
bcc376a
Compare
Good catch! I initially did the change on the |
Found another one. Please remove the
|
The previous behavior using `eof_action=endall` and `shortest=1` would end the video stream if one of the input stream (video, subtitle) ends. In some cases the duration of the overlayed subtitles is shorter than the video stream, causing the output to end when the subtitles end and dropping the remaining video stream. This commit changes this behavior so `eof_action=pass` is used instead, which continues passing the video stream through even if the subtitles end earlier [1]. `shortest=1` is also removed, as this option implies `eof_action=endall`. If the subtitle stream has a higher duration than the video stream, the output will also end with the video stream without `shortest=1`, as the video stream is the primary input to the `overlay` filter. Fix jellyfin#10698 [1] https://ffmpeg.org/ffmpeg-filters.html#Options-for-filters-with-several-inputs-_0028framesync_0029
bcc376a
to
547d97d
Compare
Done. I found two other occurances of the same line and removed the |
The previous behavior using
eof_action=endall
andshortest=1
would end the video stream if one of the input stream (video, subtitle) ends. In some cases the duration of the overlayed subtitles is shorter than the video stream, causing the output to end when the subtitles end and dropping the remaining video stream.This commit changes this behavior so
eof_action=pass
is used instead, which continues passing the video stream through even if the subtitles end earlier [1].shortest=1
is also removed, as this option implieseof_action=endall
.If the subtitle stream has a higher duration than the video stream, the output will also end with the video stream without
shortest=1
, as the video stream is the primary input to theoverlay
filter.Fix #10698
[1] https://ffmpeg.org/ffmpeg-filters.html#Options-for-filters-with-several-inputs-_0028framesync_0029