fix(windows): escape drive letter colon in FFmpeg subtitles filter path#10
Open
algojogacor wants to merge 1 commit into
Open
fix(windows): escape drive letter colon in FFmpeg subtitles filter path#10algojogacor wants to merge 1 commit into
algojogacor wants to merge 1 commit into
Conversation
On Windows, FFmpeg's filter graph parser treats : as an option key=value separator. A path like D:/AS/raw/subtitles/clip.srt inside the subtitles filter causes FFmpeg to parse D as the value of original_size and the rest of the path as the filename, resulting in: Unable to parse option value '/AS/raw/..' as image size Error applying option 'original_size' to filter 'subtitles' Fix: in build_subtitles_filter(), convert backslashes to forward slashes AND escape the colon in the Windows drive letter (D: -> D\:), plus escape any spaces, so the path is correctly parsed by FFmpeg on all platforms. Also fixes a subtitles directory path typo (subtittles -> subtitles) and moves -ss/-to flags before -i for more accurate seek performance.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
On Windows, the FFmpeg filter graph parser treats : as an option key=value separator. A subtitle path like D:/AS/raw/subtitles/clip.srt passed to the subtitles filter causes FFmpeg to parse D as the value of the implicit original_size option and the rest of the path as the filename:
This meant subtitles were always silently skipped on Windows even though the SRT file was generated correctly.
Root Cause
In �uild_subtitles_filter(), the path was converted to forward slashes but the Windows drive letter colon (D:) was not escaped. Single-quote wrapping does not protect colons from FFmpeg's filter graph parser - the escape must be explicit.
Fix
ender_flat_clip() for more accurate input seek (avoids decoding unnecessary frames)
Testing
Verified on Windows 11 with FFmpeg 8.0.1 (gyan.dev essentials build) - subtitles now render correctly on all caption styles.