Summary of the problem or suggestion:
I have been using more and more SRT files with my source videos. I’ve noticed that these get processed and in some cases content is removed from them. I’ve tested playback with the new processed SRT and the original SRT with the processed video file and have not seen any issue using the original SRT. I’d like an option to not process the SRT if it is included in the source location.
I didn’t quite understand. The only time an SRT is adjusted is when commercial removal is enabled, it will “cut” the SRT to keep it in sync with the commercial removal otherwise the SRT will be out of sync with the converted file which doesn’t have commercials.
I check out your log and SRT files, it’s not related to EDL files. Your SRT files are the issue.
MCEBuddy validates and cleans up SRT files to remove invalid data.
Your SRT files are creating timestamps which aren’t in the required format so MCEBuddy is dropping them:
Thanks for taking a look. I completely overlooked the single digit seconds value.
Plex doesn’t seem to care about it as it still works.
I’ll report the issue to the vendor of the software that generated the file.
Is my request still valid to have an option to bypass processing (validating and cleaning) of SRTs? If you feel that it is not necessary as it would only be needed in the rarest of occasions, I’m fine with that and we can mark this as resolved.
We’ve put in a patch to handle these malformed timestamps to recover them to make them valid where possible. You can’t try out today’s 2.5.7 BETA build.
We can’t ignore bad SRT files but instead log it for users reference. There have been instances of third party playback software crashing or not playing file due to malformed SRT files that were copied or extracted from the source as is by MCEBuddy (which lead to us implementing validation of SRT files).
I tested out 2.5.7 on a new file and all but 1 exception it worked great. Take a look at what it did for 22 (line 98). Not sure if this is due to the extra linefeed in the original or what.
The issue here is that the SRT file isn’t compliant with the specs. There shouldn’t be an empty line in between the subtitle text. An empty line indicates the end of a subtitle block, so this becomes an invalid block.
If blank lines are left in there it causes other programs to choke so MCEBuddy ignores empty lines.
UPDATE: MCEBuddy now handles empty lines gracefully by logging a warning message and dropping the invalid block/content. You can try out today’s 2.5.7 BETA build.