PDA

View Full Version : Reposition DVD subtitles inside a VOB?


tekman
29th October 2005, 23:41
I'm looking for a way to reposition subtitles inside a VOB. DVDFab is able to move them "up" in one pass but not down as I would like to do.

It should work to change the position of the subpictures inside the stream but I haven't found any tool/guide that can explain where to change.
(tried general/subtitle but no answer)

Vobedit/Ifoedit/Pgcedit?

blutach
30th October 2005, 14:44
Subtitle Creator?

Regards

CoNS
30th October 2005, 16:31
Yes, SubtitleCreator's Manipulate SUP tool lets you change the vertical position both ways... But you'd have to demux the movie to get the SUP file first (and mux it back together afterwards). I think tekman is asking if there's a way to change the vertical position directly inside the .vob files. (and sorry tekman, I don't know the answer to that question)

jeanl
31st October 2005, 05:13
It's weird because it wouldn't be difficult to write a small tool to do that... The position is in the command area of the subpics, and that should be quite easy to modify in-place, very quickly (you wouldn't need to rewrite the entire vob, just modify the offsets in subpic command area)... Funny nobody's done that yet (well, maybe there isn't that much demand for that)...
Jeanl

bokkoman
2nd November 2005, 22:51
i think you're right jeanl. such a program can easily be made, i think/hope. Cause i would like such a prog too.

r0lZ
3rd November 2005, 00:20
Me too!

BTW, I have used several time the function in DVD-Fab (old freeware version as well a a newer one) to move the subpics, but it doesn't work well. When I watch the resulting video on my PC, everything is fine, but on my Sony standalone, most of the subpics are not shown anymore. I wonder why.

Jeanl, are you sure it's so easy to do?
It is possible to author a subpic fullscreen with a big transparent background, no? If you move it, you will have a part of the subpic outside the screen, or a negative Y position.
Also, you should envisage the case of a subpic at the top of the screen. Though not frequent, it may happen. In this case, you must probably change the direction of the offset.
Seems more complicated than you thought...

jeanl
3rd November 2005, 00:26
Yes, of course, it's always more complicated than you originally envision, but at least it's easy to figure out where to change things if you're doing it in a dumb manner. Of course, you need to take care of all possible weird cases, as you describe, although I don't think it's very frequent to create a fullscrean subpic (that would waste storage space, not by much, but still)... Also, you'd have to be smart and not mistake true subpics with button highlights (probably by checking if there are any buttons defined in the navpacks before changing anything!)...
Writing a tool to manipulate subpics is still something I have in the back of my mind (it looks like there isn't that much available that works directly on the VOB, in-place)... But it also seems to me that there would be better places for such a tool (e.g., PgcEdit to edit button highlights, perhaps vobblanker to edit "standard" subpics).
jeanl

r0lZ
3rd November 2005, 00:59
I agree. But a small app to move the subpics up or down in a whole title domain can be useful, even as a little CLI-only standalone tool. ;)

jeanl
3rd November 2005, 01:02
I agree. But a small app to move the subpics up or down in a whole title domain can be useful, even as a little CLI-only standalone tool. ;)
yeah, I know the song! ;) you start with a small CLI-only tool, you end up with a multiple-version multi-platform GUI app with visualization! AH!
Besides, moving the subpics is one thing, but I'm sure people would also love to change the transparency (can't do that in the IFOs) or other aspects (remove a force display for example)...
jeanl

jsoto
3rd November 2005, 01:19
yeah, I know the song! ;) you start with a small CLI-only tool, you end up with a multiple-version multi-platform GUI app with visualization! You're right.... Because of the special cases (subs at top, etc) at the end you'll need a manual selection of how much and in which direction each sub has to be moved... (with visualization, of course ;) )


jsoto

jeanl
3rd November 2005, 01:33
yes, a piece of cake, really!
:D
jeanl

blutach
3rd November 2005, 11:12
Nice tune! Maybe call it SubShrink :D

Regards

phusg
9th November 2005, 11:42
I'm looking for a way to reposition subtitles inside a VOB. DVDFab is able to move them "up" in one pass but not down as I would like to do.

It should work to change the position of the subpictures inside the stream but I haven't found any tool/guide that can explain where to change.
(tried general/subtitle but no answer)

Vobedit/Ifoedit/Pgcedit?
Are you doing this with the commercial version (http://www.dvdidle.net/download/DVDFabPlatinum29.exe) of DVDFab?

And has anyone contacted the makers Fengtao Software Inc. about adding this feature? I'd rather it be open source, but this is worth paying for in my book. Demuxing, reauthoring and then remuxing to move subtitles a couple of rows down is just :rolleyes:

jeanl
9th November 2005, 16:42
I"m working on it... Give me some more time, I'll keep you posted!
:)
jeanl
BTW: while I'm at it, if you had a soft to manipulate subpics, what would you like to be able to do with it? Any opinion is welcome.
1) Move subpic up and down?
2) Move subpic left/right?
3) Change subpic transparency?
4) Force or remove forced subpics?
5) What else???

2COOL
9th November 2005, 20:48
yeah, I know the song! ;) you start with a small CLI-only tool, you end up with a multiple-version multi-platform GUI app with visualization! AH!"Without vision, we are blind to opportunity."

Looking forward to your tool and we always need a new specialized program now and then. ;)

CoNS
9th November 2005, 20:54
I don't know how much of this can be done by changing data directly inside the vobs without demuxing, but it would be nice to be able to do the following:
Delete (hide?) current/all/selected subtitle pics within a subtitle stream.
Change the timing (set delay +/-) for current/all/selected subtitle pics within a stream. This is for situations where you've done all the dirty work of adding custom subtitles, including re-authoring, only to find out the subs are out of sync.
Change the timing of the current subtitle pic within a stream, i.e. manually edit the show/hide timings.
Change the colour remapping of current/all/selected subtitle pics within a stream. I.e. change which of the 16 available colours are used as the four colours for each subtitle pic.
Extract current/all/selected subtitle pic within a stream as bmp file(s).

Most of these features are available in SubtitleCreator's fine "Manipule SUP" tool, which, however, as the title implies, only is able to work with bitmap subtitle streams that are loacted in a separate (demuxed or new) SUP file.

And here're some ideas for version 2.0, maybe (!), to make the tool "complete": :D
Change/edit/import/export the IFO colour palette.
Demux a subtitle stream to a SUP file.
Change/edit the stream attributes for the subtitle streams, and the values in the subtitle table

2COOL
9th November 2005, 21:20
5) What else???
6) Rotate?

http://forum.doom9.org/showthread.php?t=72767

7) Multi-color subs (I've read something on this before somewhere)

CoNS
9th November 2005, 22:09
7) Multi-color subs (I've read something on this before somewhere)May be this thread: http://forum.doom9.org/showthread.php?t=100360 ?

mpucoder
9th November 2005, 22:36
I wish I'd seen that thread earlier. Yes, the 07 command allows subdividing the subpicture vertically and horizontally up to 15 times. This means in theory a subpicture could use all 256 combinations of color and transparency. The command is also used for two of the three stock subpicture effects (wipe and fade).

But this thread is more related to the third effect, scroll. Scroll works by changing the starting address of the pixel data and the display area. To scroll up one line the fields are swapped, and the new bottom field start address increased by one line. For 2 lines the fields remain the same, and both start addresses are increased by one line. The display area also has to change, or garbage will creep into the bottom. To scroll down only the display area changes (just change the starting Y value). Horizontal scrolling needs to be planned due to the rle compression. Unless carefully written rle compression will prevent scrolling by changing the start address. The pixels on the left and right, for the difference in horizontal positions, must be uncompressed. Usually the bitmap is not 720 pixels wide, which allows for scrolling by way of Set_Darea (set display area).

I noticed in the original post that down was the desired direction. Strange that DVDFab won't do that, as it is easier than up.

jeanl
9th November 2005, 23:14
@mpucoder, thanks , this is exactly how I currently do it (moving up and down)! I haven't implemented horizontal scrolling, I made the same analysis as you did, if the bitmap is close to 720 (unfortunately most of the subpic data I've seen so far uses 720), you need to decode and change each line, it's not terribly hard, but it's a bit more involved. Besides, is it really needed (horizontal scrolling?)...
@cons, see my next post :)
jeanl

jeanl
9th November 2005, 23:22
I don't know how much of this can be done by changing data directly inside the vobs without demuxing, but it would be nice to be able to do the following:[list]
Delete (hide?) current/all/selected subtitle pics within a subtitle stream.

not following you here. You'd like to be able to delete a particular subtitle (I mean a single subtitle bitmap, at a given time)? What for?

Change the timing (set delay +/-) for current/all/selected subtitle pics within a stream. This is for situations where you've done all the dirty work of adding custom subtitles, including re-authoring, only to find out the subs are out of sync.

This might be hard if not impossible without reauthoring. Delaying the display time might be feasible, but to turn them on earlier I imagine you need to remux because the subpic packs might have to be moved earlier in the vob file (to allow for the decoding time). mpucoder, any comment on that one?

Change the timing of the current subtitle pic within a stream, i.e. manually edit the show/hide timings.

same as above for the show time. The hide time is easy to control, it's just one of the commands in the subpic data.

Change the colour remapping of current/all/selected subtitle pics within a stream. I.e. change which of the 16 available colours are used as the four colours for each subtitle pic.

I would imagine you'd use the PGC CLUT for that, but of course, that would change it for all the streams. Do you think it's usefule to do that on a single stream?

Extract current/all/selected subtitle pic within a stream as bmp file(s).

yes, that's easy and I already have that (as a ppm in fact).



Change/edit/import/export the IFO colour palette.

PgcEdit does that very well, right?

Demux a subtitle stream to a SUP file.

There are tools for that right?
Change/edit the stream attributes for the subtitle streams, and the values in the subtitle table
[/QUOTE]
Same here...

Thanks for the suggestions!
Jeanl

mpucoder
10th November 2005, 01:05
Changing the timing without moving the data in the multiplexed stream would be very restricted as subpictures are required to be present in the same VOBU as the video picture having the same pts. That doesn't leave much wiggle room. And the delay for the first set of commands is required to be zero.

jeanl
10th November 2005, 01:39
mmm, OK. I forgot about the restriction that subpics have to be in the same VOBU as the video they share the same pts with... This means if we want to change the delay, we have to do some in-place remuxing. It shouldn't be too difficult though, since that's something that menushrink does already (it moves the subpic packs from wherever they were into the first VOBU). Tricky but not impossible. Definitely for version 2.0 (hey, 1.0 isn't even out yet!)

One more question: the delay for the first set of commands has to be zero, but that first set does not have to have the display command, or does it? You could have 3 sets, 1 with all the normal commands but not the show command, a second one with the delayed show command, then the third one with the stop command. That would work, right? This could take care of delaying the subpics.
jeanl

mpucoder
10th November 2005, 02:20
One more question: the delay for the first set of commands has to be zero, but that first set does not have to have the display command, or does it?
Unfortunately yes, according to the Philips verifier, "Either FSTA_DSP or STA_DSP shall be described in the SP_DCSQ#0"

jeanl
10th November 2005, 02:22
well, then there's no avoiding the hard way!
Thanks a bunch man (as usual :))
jeanl

GrofLuigi
10th November 2005, 03:14
BTW: while I'm at it, if you had a soft to manipulate subpics, what would you like to be able to do with it? Any opinion is welcome.

IMHO, the essential for such a soft would be to DISPLAY individual subs "as is" or as they will be displayed on a standards-compliant DVD player.

Any further operation would be restricted by "what is possible" to do with the VOB without breaking it up - i.e. just "byte-patching" and such.

Later would come some more complex calculations that would result again in byte-patching.

Only when everything above is tested, I (if I was a programmer, and I'm not, and if I knew DVD structure in deep, which I don't) would introduce heavy manipulations with VOBs.

It's all about realistic expectations. ;)

Just my thoughts...

GL

r0lZ
10th November 2005, 10:40
yeah, I know the song! ;) you start with a small CLI-only tool, you end up with a multiple-version multi-platform GUI app with visualization! AH!Seems you are right, Jean! But it's your fault! If you add a complex interface able to display each subpic individually, there are many applications, and the job can be endless. I've seen that with PgcEdit.
You will certainly end up with crazy requests such as displaying the subpic upside down, for guys who prefer to watch the movie on a reversed TV set! :p

More seriously, it may be useful to be able to copy a menu button, and paste it at another location in the same or in another subpic bitmap (of course if there is enough room.) May be useful for the guys who want to add a new button with highlights the easy way.

Should be nice also to have a simple CLI interface to launch the app from PgcEdit (or VobBlanker, or...) with the right VOB, cell and subpic stream pre-selected.

jeanl
10th November 2005, 17:32
you're right r0lZ, it's my fault! I don't intend to support all possible features, certainly not in the first version of this thing, if I ever get to finish that! The idea of editing the highlights is appealing, but tricky as it involve re-encoding the subpic, and that might take more space than was originally available. If there's no room left, that would mean an additional subpic pack, and for now, I'd like to keep things "in place" (i.e., output length = input length).
Of course, command line arguments are a given! ;)
jeanl

r0lZ
10th November 2005, 19:04
Right. I did not though at the place needed to add the button. :( (But maybe you can check the free space, and enable the function for a small button if there is enough space available? I kbow it's not easy: you cannot know exactly what will be the space used by the button after compression.)
Anyway, you have enough work to do for now! ;)

phusg
10th November 2005, 19:29
I"m working on it... Give me some more time, I'll keep you posted!
:)
jeanl
BTW: while I'm at it, if you had a soft to manipulate subpics, what would you like to be able to do with it? Any opinion is welcome.
1) Move subpic up and down?
2) Move subpic left/right?
3) Change subpic transparency?
4) Force or remove forced subpics?
5) What else???

Jeanl I love you already! ;)

For me personally (1) moving subpics straight from the VOBs is the major one. AFAIK mplayer (http://www.mplayerhq.hu/) is the only player that can do this 'on-the-fly', maybe they have some reuseable source code that can help?

jeanl
10th November 2005, 19:31
mmm, I'm guessing mplayer is doing that on the fly as it plays the DVD, but here, we're looking at doing it "inside the vob" so any player will display the subs in the new place...
The only problem I have at this moment is the time it takes to "load" the VOB (i.e. figure out where all the subpics are), that can take up to 4mn for a 8GB DVD!!!
jeanl

CoNS
10th November 2005, 20:30
not following you here. You'd like to be able to delete a particular subtitle (I mean a single subtitle bitmap, at a given time)? What for?I have a number of backed up DVDs, where I've added custom subtitles in the past. However, the custom subtitles have credits for the translation at the beginning and in the end. I'd like to be able to delete/hide those subtitle pics without the need of demuxing, creating a new bitmap SUP file and reauthoring etc.

For me, too, the main request is to have a tool that can reposition the subtitles vertically, both up and down, within the vob files. That would be very, very nice to have. You asked for other suggestions and ideas, and you got 'em! But I think you should concentrate on the vertical positioning thing for the first release so that it won't drown in plans for all the supplemental features which could or could not be added later...

Anyway, I'm just really grateful that you've taken upon you to start the development of yet another DVD editing tool to add to the list of handy and very effective tools created by Doom9 members. It's much appreciated. :)

jeanl
10th November 2005, 20:34
Yes, CoNS, I do intend to focus mainly on the repositioning, I was just curious about you request. Note that it's probably possible to make a given subtitle not show without removing it from the vob (simply by changing one of the commands (for example, setting the display area to 0 pixels, if that's valid)...
Thanks for the thanks, but you should wait until I come up with something! ;) Give me a little more time, I don't want mess that one up!
Jeanl

jsoto
10th November 2005, 23:49
For Release 3.0 I'd like to have an automatic translator from different languages (like Klingon) to Spanish :p :p

jsoto

CoNS
11th November 2005, 08:56
Note that it's probably possible to make a given subtitle not show without removing it from the vob (simply by changing one of the commands (for example, setting the display area to 0 pixels, if that's valid)...I was hoping for something like that! Perfectly suitable for a version as soon as 1.5, I'd say :D

phusg
12th November 2005, 17:55
Jeanl I love you already! ;)

For me personally (1) moving subpics straight from the VOBs is the major one. AFAIK mplayer (http://www.mplayerhq.hu/) is the only player that can do this 'on-the-fly', maybe they have some reuseable source code that can help?

I just realised I lied about mplayer. Well at least in that it doesn't reposition them as low as I'd like it to. I just tried Geexbox (http://www.geexbox.org) 0.98.7 which uses mplayer 1.0pre7, but readjusting subtitles on-the-fly only allows you to adjust the value between 1-100 relative to the display area of the video. So no re-adjusting downwards to below the video. It may be the Geexbox implementation of mplayer, or the version of mplayer, but to me it doesn't look like switching to Linux provides the solution I'm looking for, just thought I'd let you'll know...

ydl3
16th November 2005, 12:33
waiting for your tool,i need it

phusg
16th November 2005, 12:39
waiting for your tool,i need it
Sjeesh. Nice selfless contribution to the thread. Really worth sending everyone who's subscribed to the threa a mail for. :stupid:

jeanl
16th November 2005, 17:39
phusg, not so useless in fact, it's helpful to know you're not writing a tool that won't be used... I've had the idea for this tool in the back of my head for a while, but didn't act on it because I didn't think people would use it.
Anyway, I'll post a beta version soon, give me a few more days :)
jeanl

sweetness
17th November 2005, 19:50
I've had the idea for this tool in the back of my head for a while, but didn't act on it because I didn't think people would use it.
Thank you, jeanl.
i may not use this app b/c 99% of may backups are one audio, one sub but i can not speak for the whole dvd world, so a app like this is always appericiated.

over the past few years DVD blackups has evolved do to the contributions of the members of this forum and i would like to thank everyone(just WAY too many names to mention, you know how you are.) who has created an app or past on their knowledge to make DVD backups easier.

Lets bring on HD DVD and Blu-Ray.

So jeanl, if you have anymore things in the back of your head don't hesitate to bring them forward. i know we all have lives but one day at a time. :)

CoNS
18th November 2005, 06:26
i may not use this app b/c 99% of my backups are one audio, one subThe tool will enable you to edit the subtitle stream(s) inside the vob files in various ways, i.e. change the vertical position up and down. This could be used on your backups, too, even though they usually just have one subtitle stream, no?

jeanl
18th November 2005, 18:55
Guys,
I had an idea to delay the subpics a bit without remuxing: How about creating 3 sets of SPU commands (instead of the normal two - one to turn on, the other to turn off). The first one turns it on with transparency set to transparent, the second one - with the appropriate delay - turns the transparency off, the third one turns display off.

This should work (unless subpics bump into each other (i.e., the end of one is later than the start of the next, in which case, I'm guessing the next one causes the previous one to be turned off? - Mpucoder???)

Jeanl

jsoto
18th November 2005, 20:18
It's an interesting idea!

Only two comments:
- You'll need some (minimum) room to add the new set.
- Moving the subs in advance is not possible. Is it? do you have another idea?

IMHO, the best choice in case of delay problems is to remux again...


jsoto

jeanl
18th November 2005, 20:20
Yes of course remuxing is the way to go, but doing that isn't as easy as what I was suggesting above. And you're right, if you want to advance the subpic you really have to remux. And yes again, if you don't have room for a new set of commands, you're screwed (but you'd have to be very unlucky, but yes, it can happen!).
jeanl

jeanl
21st November 2005, 08:06
Here's a very incomplete beta version of subedit...
YOu can get it here (http://www.videohelp.com/~menushrink/DVDSubEdit/)...
The latest is Beta0.55. It's still missing a lot of things:
- No saving of modifications
- Can only modify y position (and it's not reflected correctly in the display yet).
- Does not show the background image...
- Does not use the colorscheme mechanism for menus
etc etc etc...

Still, you can give it a shot. Drag/drop one or several VOBs and get going...
Any feedback is welcome.
Jeanl

bourtzovlakas
21st November 2005, 10:25
:thanks:

A little OT, but could this tool be used to fix any subtitle desync problems, in ARccOS protected titles...
In some of the new releases, when you back-up the DVD the sync is fine, but when you try to rip the subtitles with SubRip or VobSubRip the timings are way off...

jeanl
21st November 2005, 17:44
bourtzovlakas I believe the latest version of the psl2 plugin tells you a delay value which you can use in subrip to resynchronize your subtitles...
jeanl

jeanl
21st November 2005, 19:31
New Beta version 0.56 available at
http://www.videohelp.com/~DVDSubEdit/

The CLUT support has been improved. The "Ignore CLUT" check box now shows the 0-3 pixel values in the subpic, coded with different colors.


jeanl

CoNS
21st November 2005, 20:30
Thanks for the new beta!

A couple of minor GUI suggestions:

At startup, the large grey (unused) area at the top looks a bit strange. As soon as a VOB is loading, it changes so that the preview area is shown. Maybe you could let the dedicated preview area show at startup by assigning a different colour than the normal grey background colour?

Also, I think you should consider integrating the status window (when loading) in the main window somewhere...

BTW, how does the Colour Look Up Table support work? Is the CLUT automatically loaded from the corresponding IFO file, when a VOB is dragged and dropped? And what does "p", "e1" and "e2" mean?

The CLUT consists of 16 colours, where each SPU uses 4 colours, which don't have to be the same from SPU to SPU, right? But you can't see all 16 colours in the display in SubEdit at the same time? Do the display of the 4 colours change if SPU #2 uses a different set of colours from the CLUT than SPU #1? (none of the test discs I have on my harddisk ATM contain subs like that, so I haven't been able to test it)

jeanl
21st November 2005, 20:43
CoNS, thanks for the feedback!
- I agree, I don't like the large gray area. I'll paint it black for now!
- I could integrate the status window into the main window, but wouldn't that be a waste of space? I'll look into it.
- The CLUT is automatically loaded from the IFO when you drag/drop a vob file(s), using the "lowest" vob you dropped: if you drop vts_01_1.vob vts_01_2.vob ... vts_05_1.vob, the ifo from vts 5 will be used, title domain. If you drag vts_01_0.vob the menu domain will be used. SubEdit looks for any pgc that references the VCID a given subtitle belongs to, and displays the CLUT for the first one it finds (not ideal, I know)...
- P,b,e1 and e2 are the "traditional" names for the "types" of pixels that are defined in subpics. Pixels in subpics can only be of 4 types: b,p,e1,e2. Each type is assigned an index in the CLUT, via the SPU's color table (set by the Set Color command, which you see in the command display). SubEdit (at the moment) only displays the 4 colors used by the current SPU. If the next SPU uses a different set (different Set Color command, or different CLUT because it's referenced by another PGC), then the colors are also updated in SubEdit. I have some DVDs that do that.

Note that for menus, things are more complicated, because of the color scheme. I haven't implemented that yet...

jeanl

CoNS
21st November 2005, 21:57
The CLUT is automatically loaded from the IFO when you drag/drop a vob file(s), using the "lowest" vob you dropped: if you drop vts_01_1.vob vts_01_2.vob ... vts_05_1.vob, the ifo from vts 5 will be usedHow are the stream numbers displayed, if more VOB files containing the same stream numbers (for example 0x20) are dragged and dropped at the same time?

Also, could you explain a bit more about how the VCIDs work inside the VOBs?

jeanl
21st November 2005, 22:54
The display on the left shows you the stream number of the SPU you're currently looking at. You can filter by stream ID, using the drop down stream selection. As of today, you can't tell which VOB file the SPU comes from (although I could display that as well), the info on the left tells you which VCID it comes from though...
VCIDs are pairs of number VOBID/CELLID that define "cells" inside the vob file. Typically you'll get 1 cell per chapter, but not always. Also in multi-angle movies you can get 1 VOBID per chapter and 1 CELLIDs for each angle, i.e. the various angles would be in 1/1 1/2 1/3 etc...
Jeanl

kumi
22nd November 2005, 00:04
Great work jeanl. I look forward to testing this, when I get one of those pesky DVDs where the subs are intersecting the letterbox boundary :)

jsoto
22nd November 2005, 00:22
Also in multi-angle movies you can get 1 VOBID per chapter and 1 CELLIDs for each angle, i.e. the various angles would be in 1/1 1/2 1/3 Does not matter in your explanation, but... IIRC, different angles are different VideoObjects by definition, so they cannot share their VobID.
You can have different chapters in CellID and the different angles in the VobID, in example

Angle 1: 3/1 3/2 3/3
Angle 2: 4/1 4/2 4/3

File Layout: .... 3/1, 4/!, 3/2, 4/2, 3/3 , 4/3.....

jsoto

jeanl
22nd November 2005, 00:25
Sorry jsoto, I think you're right... I haven't looked at angles in a while, but I think you're correct...
Jeanl

jeanl
22nd November 2005, 09:15
Here's a new version: Beta 0.57 which you can find here (http://www.videohelp.com/~DVDSubEdit/)...
Beta .57
- Transparency is now supported.
- The display is scaled to reflect the format (NTCS/PAL)
- Subpics now move when the move subpic slider is used.
- Subpics can't move out of the picture.
- "Apply to all" now runs in a separate thread.

...
Still can't save, and still can't show the video underneath the subpic (but that's coming, I had to add transparency first!).

Jean

CoNS
22nd November 2005, 20:18
Hi jeanl,

Thanks for beta 0.57! However, when the program starts up there's still the large grey area at the top, until a vob is dragged and dropped?

jeanl
22nd November 2005, 21:56
CoNS, I haven't fixed that yet, it's not as easy as you might think!
I'm not forgetting your other feedback though, I'll put it in the next beta...
Jeanl

kumi
23rd November 2005, 01:14
Thanks jeanl. I have a few questions/comments:

1) The VOB scanning control always pops up next to the upper-right corner of the SubEdit window, with about 50% of it cut off. It would be good it the scanning status window was created somewhere on top of the SubEdit window, otherwise users with low desktop resolutions might not realize it's working.

2) I'm confused as to how changes are applied. Do they happen immediately after moving the slider(s)?

3) What does "Apply to/Revert all selected" refer to? The current SPU, or the current stream/VCID selection?

4) Is there a way to edit the position of ALL of the loaded SPUs, or do I have to edit manually, one-by-one?

jeanl
23rd November 2005, 02:03
kumi,
thanks for the feedback. Your questions indicate that the UI at this point isn't that intuitive... :( I was afraid of that. Any suggestions are welcome. Here are my answers:
1) CoNS also suggested to merge the scanning into the main window for resolution impaired users, I might have to do just that...
2) The changes happen as soon as you move the slider (only 1 slider is currently enabled), on the SPU that's currently viewed.
3) "Apply to all" is intended to apply the modification (currently the change in vertical position) to all the SPUs that are currently "selected" via the stream/VCID "filters", as you mentioned. I admit it's a bit counter intuitive.
4) Yes: select all streams and all VCIDs, the move the slider, then click "Apply to all".

My problem is that I'm trying to do 2 things:
- Allow the user to modify 1 SPU with visual feedback
- Allow the user to modify a bunch of SPUs at one time, a sort of batch mode
all using the same UI. This might be too hard to do simply.
Let me know if you have an idea on how to make the UI more intuitive with regards to the above.
Thanks in advance!
jeanl

kumi
23rd November 2005, 03:56
Just an idea, maybe it's doable:

Add an extra frame on the left of the program window (spanning the height of the window).
So, from top to bottom, the new frame would be separated into three sections: "Filter", "List", "Current subpic info":

Label: "Filter (currently nn SPUs)"
[drop-down: Streams] [drop-down: VCID]

Label: "List"
[button: Select all] [button: Unselect all]

column headers: "SPU#", "sx", "ex", "sy", "ey"
1 0 719 2 479)
.
.
.
99 0 719 2 479

[button: Apply changes][button: Revert to saved]

Label: "Current subpic info"
[Current subpic info window]


The "List" is a scrollable, multi-selectable (ctrl/shift-click) table of the currently filtered SPUs, with 4 columns: SPU# + the variables to be being modified. (displayed columns could be dynamically switched, depending on what slider the user is operating?)

On loading of VOBs, the table will populate with the SPUs of all of the streams and VCIDs selected by default. (I think that editing all of the subpics at once would be the most common action users of SubEdit will want.)

(You'll have to rename "Edit current subpic" section to "Edit selected subpics" to avoid confusion.)

Say the user wants to only shift upward the first 3 SPUs:
0) Load VOBs.
1) Click "unselect all" button.
2) shift-select the first 3 SPUs.
3) Adjust the position.
4) To reflect that changes will be made, the 3 SPUs now show "*" in front of the SPU number:
*1 0 719 2 441
*2 0 719 2 441
*3 0 719 2 441
4 0 719 2 479
5 0 719 2 479
etc...5) User clicks "Apply changes" button.

Obviously, this system wouldn't apply changes in vivo, but instead require users to commit by pressing "applying changes". I think it works better this way, Since you can modify multiple SPUs, preview them in the Video Frame, and then Apply if you're happy.

EDIT: Maybe for space-efficiency you could put the SPU table right below the video frame section of the window. Then move the sliders, controls and status stuff (including "Current subpic info") to a new section on the left of the program window. You could fit more columns in the SPU table this way.

jeanl
23rd November 2005, 20:25
Kumi, do you really want to be able to select individual SPU from a list? I think it's overkill... In my view:
- Either you select an entire stream, or a VCID
- Or you do it by hand (I might add a "repeat last modification" buttons to make that easier) on each individual SPU you want to change...

EDIT: Plus, in what you describe, which SPU is being displayed then? I suppose it would have to be shown in the list.

Jeanl

jeanl
24th November 2005, 00:01
New beta version of subedit: Beta 0.58 can be found here (http://www.videohelp.com/~DVDSubEdit/)...

SubEdit is not "functional". You can make changes, save back to file, and check whether it worked!!! There's no backup made for you, so be a bit careful...

Jean
P.S. @CoNS: no more gray window at startup, hopefully!

Beta .58
- Added OnPaint so the window is redrawn when needed.
- Added "SaveAll" button to save back to file.
- Added progress bar when doing "Apply to all", "Revert all" or "Save All".
- You can enter the number of pixels by which the subpic is to be moved.

CoNS
24th November 2005, 14:43
thankyouverymuchsir!

I can see that there's plenty of room right below the preview area for integrating the status indicator in the main window...! Also, even for the resolution impaired like me it would be ok if you expanded the height of the main window a bit to make room for the status indicator. ATM the main window doesn't fill out the desktop vertically even in 1024x768.

Another thing: You've inserted a limited so that the subtitles cannot move outside the video area. But even though the movement stops in the preview window at the top or bottom, the positioning value in the program can still be increased or decreased further? Also, what happens if the original subtitles have different heights or vertical positions, and you apply the edited position of one SPU (placed at the very limit at the top or bottom) to all SPUs?

Sometimes you'll encounter Subpics that use a larger (wider and taller) area than the subtitles themselves, right? (so that the rest of the area is transparent). In those (rare?!) cases it might be nice to be able to overrule the vertical limit if possible? (by unchecking an option for example)

About the UI suggestions by kumi: I know that Paddington has previously gone through many of the same considerations when making the "Manipulate SUP" tool in SubtitleCreator. You could maybe find inspiration for the UI by testing this tool...?

jeanl
24th November 2005, 17:31
Hi CoNS!
I'll see if I can put the status in the main window, but there's more stuff to come on that window, so let's wait a bit.
The limit on how much you can move the SPU is based on the subpic data itself, not on the area. It's "smart": it detects the topmost and bottommost pixel of the subpic, and makes sure these pixels are within the screen. This means that if you apply a very large value to all subpics, none of them will go outside the screen (because the limit changes on a SPU basis).
Subpics that use the full screen size are not rare at all! It's the converse that seems to be rare (at least to me). But as I said above, that does not matter since SubEdit looks inside the subpic data for the topmost pixel.

And I do intend to take a look at paddington's tool... Haven't had a chance yet...
jeanl

jeanl
24th November 2005, 22:05
I tried to install subtitle creator, but the install failed!!!
"The application failed to initialize properly. Click on OK to terminate"...
I don't have .net installed, is that why?
Jeanl

Jalavera
25th November 2005, 08:51
yes, you need .NET framework 1.1 to run SubtitleCreator

jeanl
27th November 2005, 07:50
New beta version of subedit: Beta 0.59 can be found here (http://www.videohelp.com/~DVDSubEdit/)...

Beta .59
- Added display of background video!
- The Scan progress dialog now remembers its position.
- Fixed a bug in the CLUT display.

Here's a screenshot, just for fun...

http://img495.imageshack.us/img495/7483/test3xz.png (http://imageshack.us)


jeanl
P.S. I'm not ignoring the UI issues, I'm letting it sit for a while, until I get a better handle on what the best way would be to expose the functionalities...
P.P.S: lots more to do, in particular the colorschemes for menu highlights (as of today, SubEdit isn't good at showing button highlights because button highlights are usually transparent by default until a button is selected).

jeanl
27th November 2005, 09:13
New beta version of subedit: Beta 0.60 can be found here (http://www.videohelp.com/~DVDSubEdit/)...

Beta .60
- Aspect ratio is now read from the video and the display actually reflects it.
- The SPU slider now tries to stay around the same location in the video when various subpic streams are selected.

Jeanl
P.S. note the bloating: SubEdit is now 77kB in size! :D

kumi
27th November 2005, 11:22
Wow! Video preview really makes my day. No bugs to report so far (I tweaked 5 of my DVDs that have wierd positioning.) Keep up the good work jeanl.

bourtzovlakas
27th November 2005, 11:44
Hi,
Great work...
I don 't know if this a bug, but when i "revert to saved" with "all streams" selected, only the first stream(0x20) is reverted...
The others remain changed/moved...

jeanl
27th November 2005, 17:18
@kumi, thanks for the good word...
@bourtzovlakas, that would have to be a bug! I'll investigate!
jeanl

jeanl
27th November 2005, 19:00
@bourtzovlakas I tried to reproduce the bug, but wasn't able to. Do you remember the steps? After you did "revert to saved", you could still see some SPUS with the green "modified" word in the info area?
jeanl

jeanl
27th November 2005, 19:04
By the way, I just found out that SubEdit already exists (there's a tool by that name, written by someone in eastern europe - looks really cool, but does not do the same thing as this subedit). I better change the name of my proggy. Any suggestion is welcom!
:)

jeanl

r0lZ
27th November 2005, 19:08
SubShrink! :D :D :D

bourtzovlakas
27th November 2005, 19:24
1)SubMod(ifier)
2)FixSub

ricardo.santos
27th November 2005, 19:59
as its a tool for dvd subs i suggest

DvdSubFix

GrofLuigi
28th November 2005, 00:55
EditSub ;)

GL

dirio49
28th November 2005, 01:01
i like SubShrink ;)

jeanl
28th November 2005, 02:02
you guys are a funny lot! ;)
jeanl

jeanl
28th November 2005, 02:07
New beta version of subedit: Beta 0.61 can be found here (http://www.videohelp.com/~DVDSubEdit/)...

Beta .61
- The vertical-move slider now reflects the last "move" operation carried out on the SPU. This makes it much easier to use.
- Improved the code that determines the top and bottom of the subpics (was returning the wrong values for "Final Fantasy".)
- Fixed a bug that caused the video to never display if the app came up with
"display video" unselected.
- Fixed a bug that caused the subpic display to overflow the video display at the bottom when the CLUT was ignored.

Enjoy...
Jeanl

jinjin_jp
28th November 2005, 13:43
I used with problematic VOB. It shows error message "Inconsistent data in subpic at LBA 452. Offset to commands end of SPU.".
Thanks very much.

jeanl
28th November 2005, 17:42
That should have read "offset to commands past end of SPU" :)
Jeanl.
P.S. It seems hard to me to make SubEdit robust to badly formed supics, because the parsing would have to be a bit smarter than it is...

mpucoder
28th November 2005, 18:14
If the SPU can display at all it means the offset to the commands is probably right. DVD players aren't likely to perform sanity checks on the commands. So the total length is probably what needs fixing, which shouldn't be too hard - just remember the length must be a multiple of 2.

Oh, yeah, my suggestion for a name - SpuMeister :)

jeanl
28th November 2005, 18:19
mpucoder, the offset to commands is actually wrong (otherwise, SubEdit would have parsed the commands OK). Thanks for the name suggestion! I'm still mulling over all the ideas (subshrink, really :) )
jeanl

kumi
28th November 2005, 21:05
SpudTool !

:goodpost:

CoNS
4th December 2005, 10:12
I've just tested beta 0.61. It's been a few versions since I last tested the tool, and OMFG ... it's becoming one mean killa app!

:thanks:

Some time ago you were worried about the GUI functionality. Well, don't worry anymore, it's very self explanatory as it is... Only, like all other DVD editing apps, you'd need to have some basic knowledge of how a DVD is structured in advance (DVD Shrink being the only exception, I guess!), but IMHO this is a small cost of having such advanced features.

You are soon ready to leave the beta stage, it seems?

Also, I just love that video preview feature that shows the video frame together with the current subpic. Though, I've noticed something strange: When VTS_xx_2.VOB (and VTS_xx_3.VOB and so on) is loaded separatedly, the first video frame is displayed as a black frame with weird subtitle colours. When the slider is moved to the next subpic, everything is fine, but the first subpic with corresponding frame is messed up?!

jeanl
4th December 2005, 17:12
I think I've noticed that, and I think it has something to do with the IFO not being loaded, and the CLUT being unknown yet. The display isn't refreshed again until you move the slider, so it remains like that. I'll take a look.
Now, tell me. What's the next feature I need to implement.
Easy:
- Change transparency for all pixels (don't know if it's really useful, except to hide subtitles)
Hard:
- colorscheme for buttons
- change subpic synchronization (that's the holy grail, but I'm not counting on it!).

jeanl
EDIT: I looked at the "bug" but there really isn't much I can do about it.. This happens when the first subpic pack appears before any navpack (this is why it only happens for "middle" vobs). In such cases, I'm missing two things:
- The previous I-Frame (so I can show it behind the subpic)
- The VCID for the vobu (I know, I could get it from the next navpack, but it might really have changed)!

The solution is to not load in-between vobs like that (load the entire vts) or deal with that first subpic...

CoNS
4th December 2005, 19:35
Now, tell me. What's the next feature I need to implement.- Display start and end times for the selected subpic.
- "Play" and "Pause" buttons for playing/pausing the video/subtitle preview.
- A "Load" button for those of us who don't like to drag and drop!
- Function to change which of the 16 colours from the CLUT to be used for the selected subpic. (so that I can give a certain subpic other colours than the rest etc.)
- Function to edit/save/import/export the CLUT.
- Rename "Subpic selection" in GUI, to "Subpic Stream Selection".
- Add an icon to the app!
- Change name to "SubpicEdit"!

Easy:
- Change transparency for all pixels (don't know if it's really useful, except to hide subtitles)It sure would be nice to be able to "delete" a single subpic this way.

I looked at the "bug" but there really isn't much I can do about it.. This happens when the first subpic pack appears before any navpack (this is why it only happens for "middle" vobs).I suspected it was because of something like that. But why are the subtitle colours messed up, too, for that first subpic?

jeanl
4th December 2005, 19:51
Because there's no CLUT (color lookup table). The CLUT is read from the IFO, but for that you have to know which PGC references the VCID you're looking at (and there might be several, but that's another story). So, if you don't know your VCID (cause you haven't found navpack), you don't know which CLUT to use, and all the pixels have not transparency (by default, I'm using opaque pixels when I can't find a CLUT, with predefined ugly colors!).

As for the rest of your list, thanks for the ideas. The one thing I don't understand is the "Play" and "Pause" buttons for playing/pausing the video/subtitle preview."
Or maybe I understand, but I fear it!
At this point, the one thing that SubEdit can't do is "play" the movie and display the subtitles at the right time. All it can do is display 1 subtitle with the corresponding video. That's quite different.
Ideally, I realize, you'd need to be able to play and display the subpics, to help you adjust the delay. BUT, for that you need SOUND! And dvd2avi can't do sound for now (it can when you save the file as an avi but not when you play it). So that's a major problem!
jeanl

CoNS
4th December 2005, 20:02
I understand about the sound... But since the preview function you made for PgcEdit can play the video smoothly (frame by frame with the correct framerate), I thought that it was possible in this tool, too. Would be a nice feature to have when locating a specific subpic in the middle of the movie.

Also, you could display the language of the various subpic streams (read from IFO file, just like the CLUT etc.). This would make it easier to identify the subpic streams.

r0lZ
5th December 2005, 10:45
Jean, I have also encountered a little problem.
When you move the subpic up, then apply the modif to all subpics, if per chance there is a subpic in the upper part of the video, it is moved up also, but in this case it should be moved down.
So, my suggestion is to add a function to constraint all subpics in a specific zone. Handy to move them up or down, so that they could be read when viewing an already letterboxed 4:3 movie on a 16:9 TV.

jeanl
5th December 2005, 17:43
Jean, I have also encountered a little problem.
When you move the subpic up, then apply the modif to all subpics, if per chance there is a subpic in the upper part of the video, it is moved up also, but in this case it should be moved down.
So, my suggestion is to add a function to constraint all subpics in a specific zone. Handy to move them up or down, so that they could be read when viewing an already letterboxed 4:3 movie on a 16:9 TV.
oh, I see what you mean. It should be moved down because you want it closer to the center of the screen. I see... Yes, that shouldn't be too hard to implement. Perhaps a tick box that says "Move relative to center of screen" or something a bit clearer!
jeanl

jeanl
5th December 2005, 17:45
I understand about the sound... But since the preview function you made for PgcEdit can play the video smoothly (frame by frame with the correct framerate), I thought that it was possible in this tool, too. Would be a nice feature to have when locating a specific subpic in the middle of the movie.

Yes, I can do the same thing in SubEdit, but what's hard is to have the subpic display at the right moment, as the movie is being played back. Hard but not impossible. But really, until I'm able to change the subpic delay, it isn't that crucial isit?

Also, you could display the language of the various subpic streams (read from IFO file, just like the CLUT etc.). This would make it easier to identify the subpic streams.
I thought about that. I'll look into it.
jeanl

tekman
10th December 2005, 10:47
Great work jeanl! I haven't been here for a month and when I come back a new tool has been written.

Tried it on my move-subtitle-project, "Ice Age" R2SE, and it worked directly with just, start -> drag&drop -> move -> apply all -> save all. Now I just have to try out on a complete DVD and try out how much overscan my TV has. An ey=563 was just some pixels to low to make it feel "right".

Suggestions on the GUI:
Perhaps two different GUI. One "quick" and one "expert". The "quick" GUI can stay the same for just moving subtitles and the "expert" can be used for the more advanced features and development (maybe even open source:-).

The "quick" GUI can translate/hide a lot of the details just like DVDShrink.
- Open DVD/DVD folder button.
- Show the names of available subtitle streams in the titles. Select one or all.
- Move and show pixels moved, top and bottom pixel position (sy, ey).
- Write changes.

Thanks again for your great work.

jeanl
10th December 2005, 17:50
You're welcome... I haven't worked on it for a little while (busy with FixVTS) but I intend to go back to it...
jeanl

CoNS
10th December 2005, 22:11
Jean, maybe it's time for a separate thread for the tool? (with a more exact title, which you can update with version number along the way)

jeanl
11th December 2005, 01:20
Yes, I need to change the name of the tool first! :D
jeanl

jeanl
14th December 2005, 18:57
New beta version of subedit (now DVDSubEdit):
Beta 0.62 can be found here (http://www.videohelp.com/~DVDSubEdit/)...

DVDSubEdit Beta .62
- The application is now called DVDSubEdit (I slightly altered ricardo.santos' suggestion here!).
- The subpic language is displayed in the stream selectiong drop-down. The display can change as you go through the SPUs as they might be referenced by different PGCs with different stream setups.
- When opening a "middle" vob in a vts (e.g. VTS_01_2.VOB), the first subpic was often displayed the wrong way (not CLUT
and no background video) because no navpack had been found prior to the subpic pack. DVDSubEdit now skips
the first subpic pack if no navpack can be found before it.
- Tried to improve (but didn't succeed entirely) the display of the first subpic (flickering etc).

I will make an official beta release in the near future and give it its own thread... NOTE: the url has been changed to ~DVDSubEdit.


Jeanl

dirio49
14th December 2005, 19:09
Thanks, Jean :)

jeanl
14th December 2005, 19:41
Thanks dirio49...
I've created a web page (direct copy of the FixVTS!) for DVDSubEdit...
This thread is continued here (http://forum.doom9.org/showthread.php?t=104058)...
jeanl