Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.


Go Back   Doom9's Forum > General > Subtitles

Thread Tools Search this Thread Display Modes
Old 4th September 2015, 02:34   #1  |  Link
Registered User
Join Date: Mar 2010
Posts: 18
pball's Bluray PGS Subtitle splitter (.sup file splitter)

I was annoyed by the severe lack of tools for splitting PGS subtitles (.sup files). So I created a simple program to split bluray subtitles.

Please report any issues with my program. I've tested it pretty thoroughly but I only have so many subtitles to split. I'm also open to suggestions and feature requests.


Syntax: supsplitter input:<input filename> <options> output:<output filename>

output filename will have _1, _2, ... appended to filename if multiple splits are made

ms:ms-ms<;ms-ms;...> Millisecond times for start and end of output sub file
frames:frame-frame<;frame-frame;...> Frames for start and end of output sub file, starts at 0, requires fps parameter
fps:fps Frames per second of subtitle's video, required when using frames parameter.

Known limitations:
Program will not split a subtitle line between two files. I personally don't see why someone would split a video in the middle of a subtitle being displayed.

To do list:
Update program to properly split subtitle line between two files. (it was requested)
Clean up code and make any improvements possible
Release source code after previous item, it's python currently.
Port to C# to get a smaller exe and just because.
Graphical interface?

1.1 Fixed error in error message (ironic isn't it)

1.0 Initial release

Last edited by pball; 5th June 2016 at 15:06.
pball is offline   Reply With Quote
Old 4th September 2015, 09:13   #2  |  Link
Matroska find' ich toll
Join Date: Apr 2008
Posts: 1,190
Thanks, I will test it next days.
chapterEditor || Matroska-Playback || hSplit || DiscShare
hubblec4 is offline   Reply With Quote
Old 14th December 2018, 16:12   #3  |  Link
Registered User
Join Date: Jun 2013
Posts: 5

I would like to use that programme to split a PGS sup file into 4 separate sup file. Each separate file represents an individual TV episode.
the video Frame rate is: 23.976

after watching the bluray and looking at the SUP file with "bdsup2sub" I determined the following split requirements:
Episode 1:
1st subtitle line number: 1
1st subtitle start time: 00:00:01.460
1st subtitle end time: 00:00:04.046

Last subtitle line number: 556
Last subtitle start time: 00:53:29.915
Last subtitle end time: 00:53:31.500

Episode 2:
1st subtitle line number: 557
1st subtitle start time: 00:55:07.805
1st subtitle end time: 00:55:10.891

Last subtitle line number: 1102
Last subtitle start time: 01:52:35.082
Last subtitle end time: 01:52:37.584

Episode 3:
1st subtitle Index number: 1103
1st subtitle start time: 01:54:59.976
1st subtitle end time: 01:55:02.479

Last subtitle Index number: 1653
Last subtitle start time: 02:49:30.327
Last subtitle end time: 02:49:32.829

Episode 4:
1st subtitle Index number: 1654
1st subtitle start time: 02:52:03.814
1st subtitle end time: 02:52:06.900

Last subtitle Index number: 2135
Last subtitle start time: 03:49:09.236
Last subtitle end time: 03:49:10.904

But I don't know how to put the above into the command line parameters.

could you help me out?

hatbrox is offline   Reply With Quote
Old 15th December 2018, 03:57   #4  |  Link
Registered User
Join Date: Mar 2010
Posts: 18
Well I personally use the frames and fps options, but I played with the millisecond option some to refresh myself. The times you have will not work, you will need the times that the video of each episode starts and stops, otherwise the subtitles will not sync to the video. So episode 1 should start at 0sec and lets say it ends at 54min 25.400sec and episode two starts at 54min 25.401sec and ends at 1h 53min 22.000sec. The below command should work.

supsplitter.exe input:"c:\encoding\subtitle ep 1-3.sup" output:"c:\encoding\subtitle ep 1.sup" ms:0-3265400;3265401-6802000

This will create "subtitle ep 1_1.sup" and "subtitle ep 1_2.sup" since multiple times were given in one command. You could also run the program multiple times with a different output names and ms numbers for each episode.

ep 1 start = 0ms
ep 1 end 54min 25.400sec = 3265.400sec = 3265400ms
ep 2 start just add 1ms to get 3265401ms
ep 2 end 1h 53min 22.000sec = 6802.000sec = 6802000ms

I hope this helps, let me know if you need more help.
pball is offline   Reply With Quote
Old 19th December 2018, 14:05   #5  |  Link
Registered User
Join Date: Jun 2013
Posts: 5

this works perfectly

I found it easier to sync the English subs with BD2SUP by comparing the 1st subtitle with another subtitle in another language

Many thanks!
hatbrox is offline   Reply With Quote

.sup file, pgs subtitle, subtitle splitter, sup file

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +1. The time now is 14:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.