View Full Version : rip subtiltles from an avi?
Duncan_07
21st June 2003, 16:03
the question is in the title.
I search for a soft which could do that.
i do not find one for now.
Anyone could help me?
Thinks.
Duncan_07
21st June 2003, 17:20
I precise that i'd like to do an OCR of subs on the screen.
oddyseus
21st June 2003, 17:32
afaik, u cant ocr the subs from an avi since they r burnt into the video.
Duncan_07
21st June 2003, 18:05
thinks for your answer.
So it's not possible to rip subbtitles from an avi.
Snif...
Kaiousama
22nd June 2003, 12:01
So it's not possible to rip subbtitles from an avi.
Don't be so pessimist :sly:
I've searched as you did an avi sub ripper, and yes.. nothing pretty good is on the way but there is a virtualdub plugin:
SubLog (http://www.xs4all.nl/~vielle/video/sublog.html)
This filter can save subs in vobsub format, and (more useful in my opinion) can save sub timing in txt format. It works good only for on-solid-color subs (like subs placed in letterboxed video's bands), in that cases it works great.
@ everybody: do you know if this filter's sources are avaible? i'd like to modify and make it work better :D
Duncan_07
22nd June 2003, 14:51
what a good news !!
Thinks.
Duncan_07
23rd June 2003, 11:03
So i trie it and it work well.
But it's difficult to use it with anims.
thinks a lot for this awfull filter :D
Kaiousama
23rd June 2003, 12:16
Yes, i also want to use it with anime, but the filter cannot burn out all that's behind the subs, and so there are some wrong acquired timings because of residue colors.... very annoying :rolleyes:
Duncan_07
24th June 2003, 11:35
it's difficult too because of the color of subs. On certain animes, that change too ofen.
I made some test with a filter to obscure the back and it works better.
But if the back is too clear, there some problemes.
Shalcker
27th June 2003, 09:36
Well, i created somewhat similar stand-alone program which allows you to extract timings from avi. Certainly it was aimed for processing anime too. :)
Works a bit better since it checks sum of absolute differences rather then color (by default) as well as some other subtitle properties.
It also has "Manual mode" in which it will stop on every bit it considers to be subtitle appearance or subtitle change and ask you to enter phrase you'll see on the screen (with timing added automatically)... No automatic OCR yet :)
Sometimes small subtitles like "I..." are skipped as "noise", and sometimes subtitle changes are not detected, but in general detection rate is good... and there is a lot of room for improvement.
It is downloadable at animeburg.boom.ru (http://animeburg.boom.ru) (as "AviSubDetector v0.4.7 (english version with manual detected Subtitle control)" - that's the only bit in english on that page).
It is still in beta stage but it should work...
If avi codec output is not RGB24 (for example, XviD), you'll have to make AviSynth script with AVISource and ConvertToRGB24(). :)
Kaiousama
28th June 2003, 14:16
Originally posted by Shalcker
Well, i created somewhat similar stand-alone program which allows you to extract timings from avi. Certainly it was aimed for processing anime too. :)
Works a bit better since it checks sum of absolute differences rather then color (by default) as well as some other subtitle properties.
Wooooooooooowww!! Shalcker, this program is very very promising, it aims to do exactly what i need, faboulous!
It is downloadable at animeburg.boom.ru (http://animeburg.boom.ru) (as "AviSubDetector v0.4.7 (english version with manual detected Subtitle control)" - that's the only bit in english on that page).
I've tested the program, and during the recognising it highlights the right subtitles' parts, but in the output script subs are not appearing in the right times... maybe i've setted something wrong; if you have the time, could you create a little tutorial in english (only for the essential) for using in the right way you application ? many thanks :D
Duncan_07
28th June 2003, 17:40
Originally posted by daynight
By the way, are you sure your subtitled avi hasn't been created with submux (included in vobsub package), a tool that muxes an avi with a subtitle file?
Check it with directVobsub installed. In this case you can extract the muxed subtitles from your avi using graphedit (read submux.txt in vobsub directories).
Have a happy time
No, Subs are incrusted... otherwise it's too easy ;)
Originally posted by Kaiousama
Wooooooooooowww!! Shalcker, this program is very very promising, it aims to do exactly what i need, faboulous!
I've tested the program, and during the recognising it highlights the right subtitles' parts, but in the output script subs are not appearing in the right times... maybe i've setted something wrong; if you have the time, could you create a little tutorial in english (only for the essential) for using in the right way you application ? many thanks :D
I have the same result.
I have modifie some options, but i do not see anything which could correct that.
Shalcker
28th June 2003, 21:04
Originally posted by Kaiousama
but in the output script subs are not appearing in the right times...
Hmm, can you please explain a bit more what do you mean by that?
They should be +2ms off compared to original, but that's all...
What should be "right" time and what is the time you get from my program?
Or do you have problems viewing saved subs?
If so, which format do you use?
...I recently discovered small mistake within my routine which creates SSA which can cause up to 9.99 seconds distortion for both start and end time when viewed with VobSub, for example...
If you'll use SRT or SAMI, there should be no problems.
I'll fix that today, error was really small.
if you have the time, could you create a little tutorial in english (only for the essential) for using in the right way you application ? many thanks :D
I created it and will post it below.
Shalcker
28th June 2003, 21:12
Simplified guide:
If too many non-subtitle frames are detected as subtitles, you should increase Block Value, Drop Values and decrease slider to leftmost position if it's not already there.
You can also increase Block Count and Line Count a bit (by 1-5), but that is not recommended - default values for them should be fine in most cases, and where they aren't, changing them to the point where they'll not detect subtitle where there is none but it is detected with default setting will most likely cause them to skip places with subtitles too.
If frames containing subtitles are not detected as such, you should decrease "Drop Values", Block Value and move slider to one of the positions to the right.
If subtitle change is detected wrongly, you should check values for MED, LBC and DLC in square brackets, note those above value set at "Tracking Changes", and change values accordingly.
If subtitle change is not detected, you can try decreasing MED and LBC... or maybe just live with that and fix that manually later.
It is generally recommended to skip opening sequences when processing anime - as credits there are often detected all too well...
In window appearing after checking "Show AVI" you can see which parts of picture are considered to contain subtitle, and also load picture from BMP to tune detection.
"Check BV", depeding on button "L", shows either "sharp" blocks in the picture or "sharp" lines in inverted colors.
"Influence" shows pixels not zeroed by "Drop Values".
Black vertical line on the graphic to the right corresponds to Block Count limit. If DLC shown after "Check BV" is above Line Count, then program will decide that this frame contains subtitle.
"Substraction", "[DOM]" and "<DOM>" will currently only work during avi playback.
"=DOM" sets current "dominating color" to the color of pixel on which you previouly clicked, and "+DOM" adds that pixel color as additional "dominating color".
Currenly all time values have 2ms added to them, which can
cause subtitles to appear one frame off compared to original.
This was added as workaround for certain programs,
and will most likely change to zero or configurable value later.
--------------------------
Complete Theory of Operation:
Each line the in picture is separated to 16-pixel blocks (with rightmost block ignored for simplicity). For each block progam calculates sum of absolute differences between pixels for each color component, and if that sum exceeds set threshold (Block Value), that block is considered to be "sharp" and possibly containing subtitle.
If absolute difference in color component for a given pixel is below one set at "Drop Values", that difference is considered to be zero and is ignored in Pixel Sum. If sum of all differences for a given pixel is below one set at "Drop Values" for sum (and Sum checkbox is set) that pixel difference is considered to be zero.
Slider above "Drop Values" sets distance between pixels checked
for absolute difference. Default is 1 (check pixels next to each over). You can set it to 2 or 3 if there is really strong blurring or antialiasing which inhibits subtitle detection, but you'll most likely also have to increase Block Value too to prevent noise aplification. Default Block Value of 200 is fairly optimistic and relies mostly on supression of medium color changes by "Drop Values".
RedDiff = Abs( Red[X, Y] - Red[X+Offset, Y] );
GreenDiff = Abs( Green[X, Y] - Green[X+Offset, Y] );
BlueDiff = Abs( Blue[X, Y] - Blue[X+Offset, Y] );
PixelValue = RedDiff + GreenDiff + BlueDiff;
BlockValue = Sum (PixelValues);
Once Block Value exceeds the threshold, that Block is considered to be "sharp". Once we got all Block Values for a line, they are counted in rather simple manner:
0111110 => BlockCount=4 (1 - sharp block, 0 - non-sharp block)
0110110 => BlockCount=2
0101010 => BlockCount=0
Hope you get an idea. Only consecutive blocks add to BlockCount.
Once line exceeds set BlockCount, it is considered to be "sharp" too.
Then we check lines in the same manner as blocks in previous example to obtain LineCount, and once that exceeds set value, we consider that
frame as containing subtitle.
As you see, everything is really simple... I implemented this after about six hours of programming and was truly amazed how good results were compared to what i expected...
Program detected appearing subtitles really well; but once there was no delay between subtitle change, that was insufficient.
So i added "Tracking Changes".
"MED" tracks difference between average number of blocks divided by number of lines (multiplied by 10 for precision), therefore reacting to change in subtitle horizontal length.
"DLC" track difference between count of detected lines, therefore reacting to transitions between one- and two-lined subtitles.
"LBC" track difference in number of lines with same block count, which should react to both width and height changes... but it's not really useful, and you might want to turn it off if there is too many false change detections. I should probably add another threshold there which will "join" lines with block count difference below set value.
MBC checks maximum number of blocks in detected lines, and in general produces too much noise at low settings and adds quite little at high settings.
For each of these values the number in square brackets shows value which caused program to detect change. If that change was wrong (and not once), you should set corresponding tracking value above wrong one.
Duncan_07
29th June 2003, 00:04
Thinks for your guide.
I do not understand all what you wrote, but it's late and at this time i better go to bed :p
So i'll read it again tomorow.
For the incorect timing of the generated file, in my case, subs are not place a the right time. They appeared 2 ou 3 secondes after the original (but it's not always the same shift) and then with ssa en srt output.
tommorow is an other day, i will see.
Shalcker
29th June 2003, 06:25
Originally posted by Duncan_07
For the incorect timing of the generated file, in my case, subs are not place a the right time. They appeared 2 ou 3 secondes after the original (but it's not always the same shift) and then with ssa en srt output.
It was possible for SSA, but not for SRT.
Example:
Program:
<SYNC Start=9075ms><P>! Frame=136 MBC=3/17 LBC=0 (0) [0] MED=100 DLC=16
<SYNC Start=15951ms><P>
SRT:
1
00:00:09,075 --> 00:00:15,951
! Frame=136 MBC=3/17 LBC=0 (0) [0] MED=100 DLC=16
SAMI:
<SYNC Start=9075ms><P class=CC0>! Frame=136 MBC=3/17 LBC=0 (0) [0] MED=100 DLC=16
<SYNC Start=15951ms><P class=CC0>
SSA:
Dialogue: Marked=0,0:00:09.07,0:00:15.95,Default,,0000,0000,0000,,! Frame=136 MBC=3/17 LBC=0 (0) [0] MED=100 DLC=16
I was using format 0:00:00.000 instead of 0:00:00.00 for SSA which caused VobSub to multiply last number by 10 (causing end time in this example to be 15+9.5=24.5), but that is already fixed (you can download new version 0.4.8 from my page).
There never was any problem with other formats.
As you can see, scripts are saved exactly as they appeared in program.
Clip used in this example has FPS of 14.985, so frame 136 is 136/14.985=9.0757424, exactly 9075 ms.
Duncan_07
29th June 2003, 09:35
So i'll download the new version and i try it again.
Thinks.
EDIT after a try:
So i retry it with the version 0.4.7 and the srt format and it work's very well !!
You made a very good job !!!
Duncan_07
29th June 2003, 14:08
Just to say that the ssa format works perfectly too in the 0.4.8 version.
Shalcker
1st July 2003, 15:44
Since few people seem to have problems with boom.ru (no surprise though), i mirrored my program here: http://web.etel.ru/~shalcker/AVISubDetector_english.rar
I hope this link will work a bit better.
Wizal
17th July 2003, 08:26
do you know if this filter's sources are avaible? i'd like to modify and make it work better :D
I just released the source code as I have not a lot of time to work on it and 10000000000000000 people are e-mailing me about it everyday... I hope you can modify it as you wish, but please credit me if you use my code :D
Duncan_07
22nd July 2003, 15:28
Shalcker.
I did no see any option to open a sub file in order to resume a rip.
Do you think it's possible to add?
Wizal
I read the source and did not understand anything :p
Shalcker
22nd July 2003, 17:21
Originally posted by Duncan_07
Shalcker.
I did no see any option to open a sub file in order to resume a rip.
Do you think it's possible to add?
It's quite easy, around ten minutes of programming.
Everything needed for this is already there. :)
I'll code that ASAP.
Edit: Version 0.4.9 with ability to load subtitles as well as ability to save and load detection settings (with exception for dominating color selection) is available here (http://web.etel.ru/~shalcker/AVISubDetector_english.rar)
Duncan_07
23rd July 2003, 10:02
Thinks a lot !!
You are marvelous :D
I test that :)
Kurtnoise
25th July 2003, 19:51
Hi !!
Great tool Shalcker...thanks.:)
I tried to use "Automatic Mode" but I've no detection for the characters. :mad: However, with "Manual Mode" it works like a charms...Anyone noticed that ??
A suggestion for the next release : add italic support for SRT format, because I tried this http://kurtnoise.free.fr/sub/avidetector04.gif but unfortunately I haven't recovered <i> and </i> in my output file. :D
Shalcker
25th July 2003, 20:31
Originally posted by Kurtnoise13
Hi !!
Great tool Shalcker...thanks.:)
Glad to hear that. :)
I tried to use "Automatic Mode" but I've no detection for the characters. :mad: However, with "Manual Mode" it works like a charms...Anyone noticed that ??
That's intended mode of operation for automatic mode so far, as i haven't even started building OCR routines. It should be only used to gather subtitle timing (and debug values), with everything else done in your favorite subtitle editor. :D
You can set it to run a whole anime season for a night for example (and if you check "Save subs to:" it'll create separate subtitle file for each avi processed) then edit them next day :)
Manual mode is more reliable though.
...or do you mean there is _no_ output in script window for automatic mode at all?
A suggestion for the next release : add italic support for SRT format, because I tried this http://kurtnoise.free.fr/sub/avidetector04.gif but unfortunately I haven't recovered <i> and </i> in my output file. :D
You need "basic" srt restrictions removed and usage of html tags allowed there? nothing can be easier, there is already procedure for that in my subtitle processing unit. I'll make this option available once I'll wake up next morning, got to sleep now.
Meanwhile you can use SAMI or SSA which shouldn't strip this tag... :)
Shalcker
26th July 2003, 05:54
AVISubDetector 0.4.9.1 with additional Save Subs option "SRT with tags" is available at the same URL here (http://web.etel.ru/~shalcker/AVISubDetector_english.rar)
Kurtnoise
26th July 2003, 16:33
Originally posted by Shalcker
That's intended mode of operation for automatic mode so far, as i haven't even started building OCR routines. It should be only used to gather subtitle timing (and debug values), with everything else done in your favorite subtitle editor. :D
You can set it to run a whole anime season for a night for example (and if you check "Save subs to:" it'll create separate subtitle file for each avi processed) then edit them next day :)
Ok...!!! Thanks for clarify that. I thought that Automatic Mode starting building OCR alone :D :o :o
Originally posted by Shalcker
...or do you mean there is _no_ output in script window for automatic mode at all?
No, no... ;) I obtain a correct script output file with Automatic Mode.
Well....thanks for the new release and tags support for SRT files. :p I'll test it this week-end :cool:
Cheers
dvd_master
27th July 2003, 17:47
Well, I just want to say your program is FANTASTIC. It did a flawless job with the AVI I tried (HikaGo).
Thanks a LOT!
Coroner
30th July 2003, 17:27
I have downloaded your program and I am having an issue. I think I've missed something or have something set up wrong. I get the following error message on some AVIs.
"ERROR IN FRAME OPEN"
Perhaps this is related to the format of them? Xvid seems to work fine but others play up. I noticed you mention using AVISynth to convert the colour format.
Has any one got a script written to prepare AVIs for this program?
Thanks
Oh and BTW the AVIs I have used it on have produced excellent results!
This program is a life saver.
Shalcker
30th July 2003, 19:44
Originally posted by Coroner
I have downloaded your program and I am having an issue. I think I've missed something or have something set up wrong. I get the following error message on some AVIs.
"ERROR IN FRAME OPEN"
Perhaps this is related to the format of them? Xvid seems to work fine but others play up. I noticed you mention using AVISynth to convert the colour format.
Has any one got a script written to prepare AVIs for this program?
Avisynth script for opening anything with my program should be rather simple - it's
AVISource("filename",audio=false)
#or any other video source
ConvertToRGB24()
Base algorithm should work fine in any colorspace, but RGB24 is the only one supported at the moment.
Maybe I should just set required colorspace in call to AVIStreamGetFrameOpen. It is currently called as pframe:=AVIStreamGetFrameOpen(PAviVideoStream,nil), and that can produce error in certain cases when decoding to "default" frame format (which should be returned when lpbiWanted is set to NULL) is "not supported" for some reason. "If the system cannot find a decompressor that can decompress the stream to the given format, or to any RGB format, the function returns NULL." And when function returns NULL you get "Error in FrameOpen" message...
I'll release next version with lpbiWanted fix tomorrow and we will check is pointing it to RGB24 settings solves your problem :)
Oh and BTW the AVIs I have used it on have produced excellent results!
This program is a life saver.
:)
Coroner
31st July 2003, 09:30
Thanks for the help.
Shalcker
1st August 2003, 15:45
Ok, i fixed AVIStreamGetFrameOpen call, now program should always get RGB24 if appropriate conversion is available. Tested it by feeding script with ConvertToYV12() at the end and it worked, so i guess it should be ok. If "forced" RGB24 fails it will attempt to get frame using NULL as in previous versions.
As usual, version 0.4.9.2 is available at
http://web.etel.ru/~shalcker/AVISubDetector_english.rar
So, try it and tell me if those problem files got any better ;)
Coroner
1st August 2003, 16:18
Yep work fine now. Thanks a lot!
Anaylson
21st August 2003, 14:38
hi friends,
sorry to bother u with my humble ignorance but...
what can i do to get some subs that the proggie skips?
i mean 99% of the entire subtitle is caught by your program but sometimes it jumps some of them...how can i get those?
and let me see if i got it straight...
1 - on auto mode i can only get the timings of the sub, right? ´cos it displays something like that '!frame mdl etc etc etc' besides the right time of the line;
2 - on manual mode i can write the right setence of the sub in the window that pop-up, right?
Another thing...how can i use the tons of bitmaps that the proggie writes if i check the bitmap option? ´cos in vandread anime, in ep07 for exemple, it wrote 200mb of bitmaps ;)
i thank u all in advance for any help and grtz u for that great proggie when i dominate it, it will be a wonderful tool for me, thx a lot!
Shalcker
22nd August 2003, 03:13
Originally posted by Anaylson
hi friends,
sorry to bother u with my humble ignorance but...
what can i do to get some subs that the proggie skips?
i mean 99% of the entire subtitle is caught by your program but sometimes it jumps some of them...how can i get those?
Find frame with skipped subtitle in VirtualDub, for example, and save it as BMP. Check "Show AVI Images" checkbox and load it as "Sample BMP". Press "Check BV" with "L" pushed down and look at graph to the right. Black vertical line there represents "BlockCount" setting, and black horizontal lines represent BlockCount for each line.
Lines with BlockCount > threshold are inverted, and only those lines participate in calculating LineCount. Check DLC (Detected Line Count) in the top right corner. When it's higher then LineCount setting then subtitle presence is "detected" for this frame.
Press "Check BV" with "L" pushed up to see individual "detected" blocks (those over BlockValue limit). Try to adjust settings in a way that subtitles are shown as solid lines of inverted blocks, without any gaps. See guide on the first page for explanations about settings.
In best case only subtitles are marked with inverted blocks. In a bit worse case some parts of image are also marked (edges) but they don't go over BlockCount limit. In a worst case some parts of image are marked and they also go over BlockCount limit, meaning that they are detected as "possible subtitle lines"; but having that can be ok too since you can skip "noise" frames manually fairly fast.
If there is only a few subtitle colors you can also set them as "Dominating" colors. Press left mouse button on subtitle image and notice that colored rectangle in the top-right changed to subtitle color. Press "=Dom" to change "current" dominating color to selected color or "+Dom" to add it as additional dominating color. Adjust "Deviation" to higher value (subtitles are generally antialiased and require up to 50-150 deviation to be detected properly), then try checking "Ignore blocks without color" (blocks without dominating color are ignored by assigning them BlockValue of 0) and "Assign maximum value"... Dominating colors are fairly recent addition and you can only see their influence at "playback" time (that's when "Subtraction", "[Dom]" and "<Dom>" buttons start working).
and let me see if i got it straight...
1 - on auto mode i can only get the timings of the sub, right? ´cos it displays something like that '!frame mdl etc etc etc' besides the right time of the line;
2 - on manual mode i can write the right setence of the sub in the window that pop-up, right?
Yes, you got it right :)
Another thing...how can i use the tons of bitmaps that the proggie writes if i check the bitmap option? ´cos in vandread anime, in ep07 for exemple, it wrote 200mb of bitmaps ;)
For 640x480 it's around 1Mb per frame/bitmap, so having anly around 200 BMPs is quite good result :) You can use them in any way you like.
For example, you can check "Show AVI Images" and load them as "Sample BMP" to adjust detection settings :)
Anaylson
22nd August 2003, 04:48
thx a lot friend!
i´ll check the advise later when i get home
keep up the good work!:)
simdavid
6th September 2003, 23:38
Thanks to you in the first place for this wonderful program. I really need what I need to do for a show. However, just 1 small problem. The same line of words appear 5 times at a duration of2-3 frames difference. I believe that the program is tracking background changes in program and therefore output it in 2-3 frames interval. However, the end result in the srt file is what is shown below. This is just an example. I have catch 10 lines of the same line 10 times. 99% of the subtitle repear itself.
The problem using this Srt file is that the line ficker in split sec. Thus making the subtitle play fickering. End result, not a smooth play for subtitle.
Inorder to solve this problem. I use the first line timing and the last line time of where it appears and combine it. Thus making it 1 line with start time of First line and End time of the last line which can be the no.8 or 10 line.
This make editing very time consuming.
Thank you shalcker for this program. I wonder is there anything you can do to solve this problem?
Or did I use the program incorrectly?
The same subtitle that appears 8-10 times. After I enter the sentence. I press accept text. And if the next frame shows the same subtitle, I press accept text again till the subtitle changed and I key in the changes.
Can I also suggest the following features.
.1 Saving srt file halfway even though not yet finish. This is just for a preview of the sub.
2. Adding a stop button to finish the operation halfway.
3. One problem, is that If I make a mistakes halfway. How do I undo or correct the mistakes?
86
00:01:04,264 --> 00:01:04,566
Then I will cut off your tongue
87
00:01:04,566 --> 00:01:05,333
Then I will cut off your tongue
88
00:01:05,333 --> 00:01:05,767
Then I will cut off your tongue
89
00:01:05,767 --> 00:01:06,401
Then I will cut off your tongue
90
00:01:06,401 --> 00:01:06,735
Then I will cut off your tongue
91
00:01:06,735 --> 00:01:06,768
Then I will cut off your tongue
Edit myself
Using the first line timing and last line timing
86
00:01:04,264 --> 00:01:06,768
Then I will cut off your tongue
I sincerely thank you for your time in writing this program and helping to solve the problem of your user.
Shalcker
7th September 2003, 04:21
Originally posted by simdavid
The same subtitle that appears 8-10 times. After I enter the sentence. I press accept text. And if the next frame shows the same subtitle, I press accept text again till the subtitle changed and I key in the changes.
When you see that subtitle is not changed yet program asks for your input you should press Alt-C (Subtitle Not Changed) instead of Alt-A (Accept Text). This will cause program to "skip" this subtitle change without adding new timing and retain current text until it encounters another subtitle change or subtitle disappearance.
Can I also suggest the following features.
1. Saving srt file halfway even though not yet finish. This is just for a preview of the sub.
Well, press "Pause" then "Save Script" and save it.
Or do you want that to be done automatically with each new subtitle added? That can be done.
2. Adding a stop button to finish the operation halfway.
Pause does that. Do you want "Stop" to act like "End Frame of File Reached" activating automatic save/clear? That can be done too.
3. One problem, is that If I make a mistakes halfway. How do I undo or correct the mistakes?
You can find mistake and fix it in script window. :)
I can also add "Find" dialogue to script window if you need that.
simdavid
7th September 2003, 11:21
Thanks for the quick reply Shalcker,
The (Subtitle Not Changed) Button is grey out when I try to use it. Meaning not usable, try to press Alt-C but nothing happen. It that any setting I must set to activate it? I'm using 0.4.9.2 Beta. I believe this will solve my problem then!
I thank you again for the generousity of your program and listening to our request. I think the 3 little minor features will perhaps overall improve the usabililty experience on your program.
I think feature 1 is unnecessary. When I was using the program the first time. I didn't know what's the capability of it and I wanted to make a short part of the sub to try it out. However, I couldn't save the part and I have to let automatic control to finish till the end of movie. But now, I understand that you can pause then save script. It's actually my ignorance anyway!
Feature 2 and 3 will be nice.
Pause does that. Do you want "Stop" to act like "End Frame of File Reached" activating automatic save/clear? That can be done too.
Yes, that will be a nice feature. And 1 more thing is that when the movie is completed, is it possible to add "Movie Completed". Hahaha, When I was exploring the program yesterday. I didn't even know that the movie has been completed till I looked at the numbers of frames/total frames.
You can find mistake and fix it in script window. I can also add "Find" dialogue to script window if you need that.
Yes that will speed up searching for words much more easily. And is it possible to a a scroll Up/Down bar in the Script window. Currently, I have to use the Up,Down button key to maneuvore in the script window. I think a scroll Up/Down will be much more easier to control!
I thanks you for your time to hear us out!
simdavid
8th September 2003, 01:34
Dear Shalcker,
Is it possible that the program open Mpeg 1 and 2 files (SVCD) not VOB files?
Afeter many hours of trying, the 'Subtitle not changed' button is still grey out.
Shalcker
8th September 2003, 03:17
Originally posted by simdavid
The (Subtitle Not Changed) Button is grey out when I try to use it. Meaning not usable, try to press Alt-C but nothing happen. It that any setting I must set to activate it? I'm using 0.4.9.2 Beta. I believe this will solve my problem then!It is only activated when there is subtitle change detected. In that case there is no "gap" between subtitles like in script you quoted. It is never enabled when subtitle appears for a first time after any number of non-subtitle frames to prevent accidential skipping - it is equal to "No Subtitle" button in that case anyway.
Feature 2 and 3 will be nice.Thanks for feedback :)
It is close to impossible to improve it without feedback :)
I'll try to code that in a next few days. Do you want program to ask you to save script (bringing up "Save" dialogue) on "STOP" if automatic saving ("Save Subs to:") is not checked?
Yes, that will be a nice feature. And 1 more thing is that when the movie is completed, is it possible to add "Movie Completed". Hahaha, When I was exploring the program yesterday. I didn't even know that the movie has been completed till I looked at the numbers of frames/total frames.Hmm, something like "status" can be useful, you're right.
Will lowering "queue" a bit and adding something with "STOPPED/PAUSED/NO SUBTITLE/DETECTED/CHANGED/FINISHED" depending on current status suffice? :)
Yes that will speed up searching for words much more easily. And is it possible to a a scroll Up/Down bar in the Script window. Currently, I have to use the Up,Down button key to maneuvore in the script window. I think a scroll Up/Down will be much more easier to control!That's really easy to add too. I'll do that.
Is it possible that the program open Mpeg 1 and 2 files (SVCD) not VOB files?AVISynth and MPEGDecoder.dll (MPEGSource) should allow you to do that. Just create appropriate AVS and open it in my program.
I thanks you for your time to hear us out!
Thank you for your suggestions too :)
Duncan_07
8th September 2003, 14:16
A think an other improvement could be cool.
I would like to set the aproximation to the upper or lower value.
For exemple the start time of a sub is 0:02:29.24, but in fact it's
better to be 0:02:29.23
I think your programme approximate only to the upper value and it makes a little shift that's noticeable.
PS: excuse me for my poor english :p
Shalcker
8th September 2003, 15:25
Originally posted by Duncan_07
A think an other improvement could be cool.
I would like to set the aproximation to the upper or lower value.
For exemple the start time of a sub is 0:02:29.24, but in fact it's
better to be 0:02:29.23
Check and set "Time Offset" to -10 or whatever value you like then ;)
I think your programme approximate only to the upper value and it makes a little shift that's noticeable.
Exactly opposite of that. Program creates frame-accurate timing (as long as subtitle frame detection is accurate) and only truncates time below millisecond resolution (or 1/100 of second in case of SSA), never rounds.
simdavid
9th September 2003, 00:55
Thanks again Shalcker;) for your work:p
Will lowering "queue" a bit and adding something with "STOPPED/PAUSED/NO SUBTITLE/DETECTED/CHANGED/FINISHED" depending on current status suffice?
That is infact wonderful as it add more functionality and usability to the program, we would have more choices during the course of subtitling.:p
Do you want program to ask you to save script (bringing up "Save" dialogue) on "STOP" if automatic saving ("Save Subs to:") is not checked?
Yes, that will ensure a user to save their work incase a person might be busy on the computer on 2-3 things. Like I do:D
It is only activated when there is subtitle change detected. In that case there is no "gap" between subtitles like in script you quoted. It is never enabled when subtitle appears for a first time after any number of non-subtitle frames to prevent accidential skipping - it is equal to "No Subtitle" button in that case anyway.
What would be a nice solution to solve my problem:confused:
Is there a work around for the function of (Subtitle not changed):D
Thanks for your time again, I bet you're a busy man yourself :p
Shalcker
9th September 2003, 02:09
Originally posted by simdavid
What would be a nice solution to solve my problem:confused:
Is there a work around for the function of (Subtitle not changed):D
There is no need for workaround, really.
It is only active when it is applicable. And it is only applicable when:
- subtitle change is detected <=> there is something other then & nbsp; at the end of the script
It is inactive for the most of the time, but just reach your problem point and you'll see that "Not Changed" button is active at that moment.
Duncan_07
9th September 2003, 10:27
Originally posted by Shalcker
Check and set "Time Offset" to -10 or whatever value you like then ;)
Not all subs are in this case, so i cannot had an offset for all my ssa.
Originally posted by Shalcker
Exactly opposite of that. Program creates frame-accurate timing (as long as subtitle frame detection is accurate) and only truncates time below millisecond resolution (or 1/100 of second in case of SSA), never rounds. [/B]
So there a pissiblité to not truncate the time but around it?
ex: 0:02:29.235 --> 0:02:29.23 or 0:02:29.24 a choice?
Shalcker
9th September 2003, 16:09
Originally posted by Duncan_07
Not all subs are in this case, so i cannot had an offset for all my ssa.Then how do you expect rounding to behave better then truncating?
Rounding can only produce higher results, and you need lower in your case... so problem lies elsewhere.
So there a possibility to not truncate the time but around it?
ex: 0:02:29.235 --> 0:02:29.23 or 0:02:29.24 a choice? Look at this simple equations then:
TruncToSecond(0:02:29.235) = 0:02:29.23 (last digit truncated)
RoundToSecond(0:02:29.235) = 0:02:29.24 (last digit rounded)
TruncToSecond(0:02:29.235 + 0:00:00.005) = 0:02:29.24 (exactly the same as last digit rounded)
No need for separate option really.
If you need some of them truncated and some of them rounded... you'll need to provide criteria for that first :)
Duncan_07
10th September 2003, 14:29
Originally posted by Shalcker
Then how do you expect rounding to behave better then truncating?
Rounding can only produce higher results, and you need lower in your case... so problem lies elsewhere.
Look at this simple equations then:
TruncToSecond(0:02:29.235) = 0:02:29.23 (last digit truncated)
RoundToSecond(0:02:29.235) = 0:02:29.24 (last digit rounded)
TruncToSecond(0:02:29.235 + 0:00:00.005) = 0:02:29.24 (exactly the same as last digit rounded)
No need for separate option really.
If you need some of them truncated and some of them rounded... you'll need to provide criteria for that first :)
I understand all that, and that's why a do not understant why some (30-40%) of the subs have 1ms forward shift.
Shalcker
14th September 2003, 08:20
A new version with requested features is available at the same URL - http://web.etel.ru/~shalcker/AVISubDetector_english.rar.
Features added: Status panel
"STOP" button
a few "PAUSE" bugfixes (no longer skips frames when you pause from detected position)
Automatic "Save Subtitles" dialogue popup upon reaching end of file or pressing "STOP" button if "Save subs To:" is not checked (automatic save is performed otherwise)
"Find" button/dialogue for script window
I hope no new bugs are introduced :)
simdavid
14th September 2003, 14:30
Hi Shalcker,
I just downloaded the program today. It's much more cool and getting user friendly:) Maybe adding the status panel make a difference. At least that's how I feel:p
Can I suggest another idea to you? I hope I'm not getting too far by stealing your time:p . In the Manual Subtitle Control, "Accept text" is the start point to enter a new time and text in the script window. How about adding another function call "End current line". "End current line" will end the last frame where subtitle appears for that line and input the timing, plus input the line in the script window. This way, user have more control over the start frame and end frame of subtitle during subtitling. At the same time, the function "Not change" can be on at all times. When pressed, it does not edit or add anything to the script except just hold on/maintain the duration of the first line and its timing till "End subtitle line" is pressed. Thus ending the last frame/whole duration where the line appear and save it timing. It's function is to enable the program to know that the user is still on this same line controlling the duration of the line.
I understand that "Not changed" is activate only when it hit a lines that activate it. Can it be on all times?
I understand that "Accept text" gives a new time and line. Thus if subtitle is detected correctly.Simply pressing "Accept text" to proceed on next line:)
The purpose is to give user more manual controllability in the subtitling process since different shows and movies can give false detection. In my case, 1 subtitle line can span for 4 secs. Thus giving me many headaches in editing the correct end time :D. Of course, there are the easy one to do and difficult one that pulls the hair out :mad: On the other hand..one of the Anime shows I try out went smooth sailing! So I guess, versatility is a good attribute in the program!
I hope I'm not complicating things:p
Thanks again for your time:)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.