fix(server): h264 videos failing to transcode in two-pass mode #3053
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes a bug where the default
fps_mode
, which can choose between constant and variable framerate, elects to duplicate frames to a constant frame rate. This causes the number of frames to differ between the two passes, leading to the fatal error2nd pass has more frames than 1st pass
.Setting
-fps_mode passthrough
makes ffmpeg accept frames as they are without duplicating or dropping any, fixing the error. Notably, this error only occurs with h264; hevc and vp9 are unaffected.Fixes #3049
How Has This Been Tested?
The sample video is tested to convert successfully with this option set. The setting is also compatible with other codecs and transcode settings from my testing.