VideoHelp Forum
+ Reply to Thread
Results 1 to 29 of 29
Thread
  1. Member
    Join Date
    Aug 2013
    Location
    New Delhi, India
    Search PM
    Hello
    I downloaded a movie which has got Chinese subtitles hard cored in it. How can I remove them ??
    I want to hardcore English subtitles in it. Is there any easy way out to do so ??

    Help please
    Quote Quote  
  2. Member yoda313's Avatar
    Join Date
    Jun 2004
    Location
    The Animus
    Search Comp PM
    Well your best bet is to simply overlay english subtitles over the chinese subtitles (in otherwords don't remove the chinese subtitles first, hardcode the english subtitles over the chinese subtitles).

    If you were to remove the hardcoded subtitles only you would get a watery afterimage that is, in my opinion and most others too, is worse than anything you are trying to remove.

    Simply put follow any hardcoding subtitles guide to add your english subtitles over the chinese subtitles.

    You will need to read up on masking and mapping if these are irregular. In other words if they aren't in the same spot all the time you'll have to be creative to get the new subtitles to overlay properly.

    Edit -

    start here:

    https://www.videohelp.com/guides

    search for "hardcode subtitles" and you'll get a bunch of results.

    Edit or search for "burn in" or burnt subtitles.
    Donatello - The Shredder? Michelangelo - Maybe all that hardware is for making coleslaw?
    Quote Quote  
  3. Member AlanHK's Avatar
    Join Date
    Apr 2006
    Location
    Hong Kong
    Search Comp PM
    Yeah, best is to just overlay.
    Put a dark background (semitransparent preferably) behind your new subs to obscure the Chinese ones.

    I used Subtitle Creator to make SUP format (bitmap) subtitles, and then DVDSubedit to adjust the background.
    That's if your player can use SUP subtitles, then you don't have to reencode your original video to "burn in" the new subs.
    Quote Quote  
  4. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by Heilious View Post
    Hi, I tried many video software to remove hardcoded subtitles and it's really hard so I have search more and found this spam link remived . Has anyone tried this? Will it work? Thanks
    No, they LOOKED like they were letting you upload the file and then just gave you a bunch of surveys to answer and then nothing...
    Last edited by Baldrick; 19th Feb 2017 at 03:09.
    Quote Quote  
  5. Hi,
    As you know some movies have hard coded subtitles on them. When I want to use my desired soft subtitle, the underneath hard coded ones annoyes me.
    So I come up with this Avisynth script using internal Avisynth filters, Virtualdub filters (2 of them Bright.vdf "brightness/contrast (UI-enhanced)(1.0) by Avery Lee/Donald Graft and exorcist.vdf by Christopher Wojdon), and dekafka.avsi by poptone.

    You can use this script to remove hard coded subtitles or Logos.

    All you need to do is to;
    1) Edit the Virtualdub plugin direcotry path in LINE 1 and LINE 2 according to your computer.
    2) Check your video, find a suitable scene with the longest subtitle, save the image of the screen, then write down the Top Left Corner coordinates (X and Y) of the longest subtitle. Let's say it is X=238 Y=470. Then edit the script line 3 and 4 in order to write those coordinates into the variables SubtitleTopLeftX and SubtitleTopLefty respectively.
    3) Then Please replace the text "Pandora (2016).HARDSUB.WEB.HEVC.720p.mp4" in line 5 with your source video name.

    LINE 3 SubtitleTopLeftX = 238
    LINE 4 SubtitleTopLeftX = 470
    LINE 5 clip = FFVideoSource("Pandora (2016).HARDSUB.WEB.HEVC.720p.mp4").ConvertToRGB32( )

    4) You can feed this scipt to MeGUI (it's the fastest) and encode your video. Please note that I have not included audio in this script to keep it simple and trouble free. You can mux the audio afterwards by using any tool like mkvmerge, AviDemux etc.


    Enjoy it.
    Regards,
    Skier70
    Image Attached Files
    Quote Quote  
  6. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by Skier70 View Post
    Hi,
    As you know some movies have hard coded subtitles on them. When I want to use my desired soft subtitle, the underneath hard coded ones annoyes me.
    So I come up with this Avisynth script using internal Avisynth filters, Virtualdub filters (2 of them Bright.vdf "brightness/contrast (UI-enhanced)(1.0) by Avery Lee/Donald Graft and exorcist.vdf by Christopher Wojdon), and dekafka.avsi by poptone.

    You can use this script to remove hard coded subtitles or Logos.

    All you need to do is to;
    1) Edit the Virtualdub plugin direcotry path in LINE 1 and LINE 2 according to your computer.
    2) Check your video, find a suitable scene with the longest subtitle, save the image of the screen, then write down the Top Left Corner coordinates (X and Y) of the longest subtitle. Let's say it is X=238 Y=470. Then edit the script line 3 and 4 in order to write those coordinates into the variables SubtitleTopLeftX and SubtitleTopLefty respectively.
    3) Then Please replace the text "Pandora (2016).HARDSUB.WEB.HEVC.720p.mp4" in line 5 with your source video name.

    LINE 3 SubtitleTopLeftX = 238
    LINE 4 SubtitleTopLeftX = 470
    LINE 5 clip = FFVideoSource("Pandora (2016).HARDSUB.WEB.HEVC.720p.mp4").ConvertToRGB32( )

    4) You can feed this scipt to MeGUI (it's the fastest) and encode your video. Please note that I have not included audio in this script to keep it simple and trouble free. You can mux the audio afterwards by using any tool like mkvmerge, AviDemux etc.


    Enjoy it.
    Regards,
    Skier70
    Wow, that sounds pretty nifty mate! Thank you so much
    Quote Quote  
  7. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    Since you have dug up an old thread to tout your script, it may be a suggestion that you upload a small example of 'before' and 'after' since it is my understanding that removal is at best a compromise and no one would want to spend hours on a job and then be disappointed - you can do something basic with a blur filter in vdub or just treat the subs as a logo and use a logo removal filter

    Just my 2 cents.
    Quote Quote  
  8. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by DB83 View Post
    Since you have dug up an old thread to tout your script, it may be a suggestion that you upload a small example of 'before' and 'after' since it is my understanding that removal is at best a compromise and no one would want to spend hours on a job and then be disappointed - you can do something basic with a blur filter in vdub or just treat the subs as a logo and use a logo removal filter

    Just my 2 cents.
    Hmmm... good point. I WAS gonna ask the fellow kindly to explain the steps as to what the script does. Since, like you say, most the stuff just simply covers it over or blurs it.
    Last edited by Lathe; 30th Mar 2017 at 18:36. Reason: lousy grammar : )
    Quote Quote  
  9. Yes it takes hours to finish the job, but I like the result, better than fully blur. Attached the Before&After pictures.
    Image
    [Attachment 41090 - Click to enlarge]
    ---> Image
    [Attachment 41089 - Click to enlarge]
    Quote Quote  
  10. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by Skier70 View Post
    Yes it takes hours to finish the job, but I like the result, better than fully blur. Attached the Before&After pictures.
    Image
    [Attachment 41090 - Click to enlarge]
    ---> Image
    [Attachment 41089 - Click to enlarge]
    Wow, really looks nice mate! So, does it take a frame(s) from just before and just after the subtitle is displayed and then interpolate the difference?
    Quote Quote  
  11. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Tried it with MeGUI and VirtualDub, both choke.
    VirtualDub message:

    Image
    [Attachment 41098 - Click to enlarge]
    Quote Quote  
  12. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by sambat View Post
    Tried it with MeGUI and VirtualDub, both choke.
    VirtualDub message:

    Image
    [Attachment 41098 - Click to enlarge]
    Well, I am definitely NOT an Avisynth expert, but I THINK that you have to be sure to put at least the 2 files from the folder DL'd here in your Avisynth 'plugins' folder. The file that ends in .avs and the file that ends in .avsi
    Last edited by Lathe; 31st Mar 2017 at 15:19. Reason: Sucky spelling : )
    Quote Quote  
  13. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    The avsi file is in the Avisynth\Plugins folder and placing the avs file there is a new one for me, but I tried it and it makes no diff to the error.
    Is 'core' a dll file or defined somewhere as a 'function'?
    Quote Quote  
  14. As it says in the error message, core is mentioned in line 55 in the hsr.avs. I haven't tried this method (and have no use for it) so I can't help more than that.
    Quote Quote  
  15. Sorry I forgot to iclude Threshold.dll. Core is a funciton in 'Threshold.dll" it's a Avisynth dll. please finde it attached. (put it in Avisynth plugins folder.
    Image Attached Files
    Quote Quote  
  16. Originally Posted by sambat View Post
    Tried it with MeGUI and VirtualDub, both choke. [no function named "Core"]
    Some more changes are needed to the script. My notes in blue:
    Originally Posted by Skier70 View Post
    0) get the Coring filter by Donald Graft here
    1) Edit the Virtualdub plugin directory path (or wherever you have placed the '.vdf' files) in LINE 1 and LINE 2 according to your computer.
    1.1) add the following below the previous lines (edit <path> as required):
    Code:
    LoadVirtualdubplugin("<path>\filter_coring.vdf", "Core", 1)
    Import("<path>\dekafka.avsi")
    2) Check your video, find a suitable scene with the longest subtitle, save the image of the screen, then write down the Top Left Corner coordinates (X and Y) of the longest subtitle. Let's say it is X=238 Y=470. Then edit the script line 3 and 4 in order to write those coordinates into the variables SubtitleTopLeftX and SubtitleTopLefty respectively.
    3) Then Please replace the text "Pandora (2016).HARDSUB.WEB.HEVC.720p.mp4" in line 5 with your source video name.

    LINE 3 SubtitleTopLeftX = 238
    LINE 4 SubtitleTopLeftX = 470
    LINE 5 clip = FFVideoSource("Pandora (2016).HARDSUB.WEB.HEVC.720p.mp4").ConvertToRGB32( )
    Don't forget the ConvertToRGB32
    Quote Quote  
  17. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by raffriff42 View Post
    Originally Posted by sambat View Post
    Tried it with MeGUI and VirtualDub, both choke. [no function named "Core"]
    Some more changes are needed to the script. My notes in blue:
    Originally Posted by Skier70 View Post
    0) get the Coring filter by Donald Graft here
    1) Edit the Virtualdub plugin directory path (or wherever you have placed the '.vdf' files) in LINE 1 and LINE 2 according to your computer.
    1.1) add the following below the previous lines (edit <path> as required):
    Code:
    LoadVirtualdubplugin("<path>\filter_coring.vdf", "Core", 1)
    Import("<path>\dekafka.avsi")
    2) Check your video, find a suitable scene with the longest subtitle, save the image of the screen, then write down the Top Left Corner coordinates (X and Y) of the longest subtitle. Let's say it is X=238 Y=470. Then edit the script line 3 and 4 in order to write those coordinates into the variables SubtitleTopLeftX and SubtitleTopLefty respectively.
    3) Then Please replace the text "Pandora (2016).HARDSUB.WEB.HEVC.720p.mp4" in line 5 with your source video name.

    LINE 3 SubtitleTopLeftX = 238
    LINE 4 SubtitleTopLeftX = 470
    LINE 5 clip = FFVideoSource("Pandora (2016).HARDSUB.WEB.HEVC.720p.mp4").ConvertToRGB32( )
    Don't forget the ConvertToRGB32
    WOW! Now YOU know your stuff! So, are we just using VirtualDub plugins or are we also using Avisynth plugins. I'm kinda confused... Is the script a combination of both?

    Can we JUST use Avisynth? I know NOTHING of how to use VirtualDub scripting.
    Quote Quote  
  18. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    That's better with core.
    Here's a quick look at the result:

    In order, source:fitered:new Subs.

    Image
    [Attachment 41115 - Click to enlarge]


    Image
    [Attachment 41116 - Click to enlarge]


    Image
    [Attachment 41117 - Click to enlarge]


    When the new subs are in place, the results are very good.
    Just erasing the original is mildly distracting - perhaps tweaking would make it less so.
    Quote Quote  
  19. >So, are we just using VirtualDub plugins or are we also using Avisynth plugins. ... Is the script a combination of both?

    Skier70 is (cleverly) loading VirtualDub plugins into AviSynth, so you don't need to run VirtualDub.
    Quote Quote  
  20. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    @raffriff42:

    The script calls the plugins which are assumed to be in the VirtuaDub plugins folder, so VirtualDub doesn't have to be running MPC will play the script OK, but you have to get the audio back at some point so it's convenient to open the script in VirtualDub for that chore - and new subs if required.
    Quote Quote  
  21. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    Looking at the results in the above replies it seems that those in reply #9 are somewhat misleading since it is mostly a dark background.

    When one comes to reply #18, now with a much lighter background, the result is, IMHO, much worse that using a simple logo removal vd plug-in. Replace with more subs and, naturally, the disturbance goes. But you could achieve that much quicker with a simple black overlay.

    Maybe the results can be improved by tweaking the script but for me, as it stands, it is not a credible solution.

    Again. Just my 2 cents.
    Quote Quote  
  22. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by raffriff42 View Post
    >So, are we just using VirtualDub plugins or are we also using Avisynth plugins. ... Is the script a combination of both?

    Skier70 is (cleverly) loading VirtualDub plugins into AviSynth, so you don't need to run VirtualDub.
    Hmmm, interesting... That was what was throwing me (not that it takes much)

    So, for future reference, in general, is it EVER really necessary or desired to incorporate VD plugins when using Avisynth, or are there generally speaking enough ways or plugins JUST using Avisynth usually to get the job done?

    BTW, whenever I personally use Avisynth, I ALWAYS am using x264 to process it, not any of these other programs or VD. So, for my limited intellect, it would be nice if I only have to focus on using Avisynth to do what I want and them simply plug it in to x264.

    Would there ever really be a dire need to complicate things beyond that, do you think...?

    Thanks!
    Quote Quote  
  23. Originally Posted by Lathe View Post
    So, for future reference, in general, is it EVER really necessary or desired to incorporate VD plugins when using Avisynth, or are there generally speaking enough ways or plugins JUST using Avisynth usually to get the job done?
    AviSynth has a much larger selection of filters available in 2017, and the language is very powerful, but there are a few VirtualDub filters that I still prefer over any AviSynth equivalent that I am aware of - Deshaker mainly, but also ColorTools (among other features, it has the best out-of gamut warning), and Kagayaki (a starburst/bloom/lens-flare filter). I'm not familiar with Bright, Coring or Excorcist.

    VirtualDub filters can be ported to AviSynth as Skier70 has done, but the process is a bit cumbersome. It's nice to have a GUI for tuning the filters, but once set up, the parameters can be copied to AviSynth.
    Quote Quote  
  24. Member Lathe's Avatar
    Join Date
    Nov 2007
    Location
    Sunny Southern California
    Search Comp PM
    Originally Posted by raffriff42 View Post
    Originally Posted by Lathe View Post
    So, for future reference, in general, is it EVER really necessary or desired to incorporate VD plugins when using Avisynth, or are there generally speaking enough ways or plugins JUST using Avisynth usually to get the job done?
    AviSynth has a much larger selection of filters available in 2017, and the language is very powerful, but there are a few VirtualDub filters that I still prefer over any AviSynth equivalent that I am aware of - Deshaker mainly, but also ColorTools (among other features, it has the best out-of gamut warning), and Kagayaki (a starburst/bloom/lens-flare filter). I'm not familiar with Bright, Coring or Excorcist.

    VirtualDub filters can be ported to AviSynth as Skier70 has done, but the process is a bit cumbersome. It's nice to have a GUI for tuning the filters, but once set up, the parameters can be copied to AviSynth.
    Thanks Bro!
    Quote Quote  
  25. I tried many times to get this script to work either i missed a step but. I get an error about no function named loadvirtualdubplugin so i googled it. someone used. LoadPlugin("pathtoMEGUI\tools\avs\plugins\VDubFilt er.dll") and i get error opening exocist.vdf
    Image
    [Attachment 53961 - Click to enlarge]

    Image
    [Attachment 53962 - Click to enlarge]
    Quote Quote  
  26. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    This topic always reminds me of Ferris Beuller, where he's running the car in reverse to take off miles
    You're trying to unring a bell.

    This will never, ever, work.
    - At best, you make a mess.
    - At worst, you make a mess.

    The only solution = getting better source, sans subtitles baked in.

    "Subtitle removal" is a fool's errand.

    Even manual removal, frame by frame, can be impossible.
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  27. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Here's one I did a number of years back using the MSU subtitle remover in Virtualdub.
    I found the filter to be temperamental and eventually I used a really old version of Vdub for better compatibility.

    Doesn't win any awards for beauty or video quality; there's even a few spots where it's apparent I didn't make
    the mask wide enough, but the movie is watchable and the result not too distracting.
    Image Attached Files
    Quote Quote  
  28. Aphixe;

    I suggest you to use portable Universal Installer Universal Avisynth Installer [2020-06-20]
    Forum Page: https://forum.doom9.org/showthread.php?t=172124
    Link is from Groucho's Avisynth Folder
    http://www.mediafire.com/file/xrs1g7v3bnn5ehz/UniversalAvisynthInstaller_351.7z/file

    Uncompress, run setavs.cmd with admin rights.

    ..Then try to uninstall X86 with option 9 and then X64 with option 10. Always start as clean as possible.

    ..After that, install AVS60_MT (option 4)

    ..And then please copy all your plugins, .avs scripts in the following folder
    AvisynthRepository_351\AVS260_MT\plugins

    You can double check your Avisynth info with AviInfoTool, and make sure no conflicts or error regarding plugins.
    https://www.mediafire.com/folder/x6f7yqjufdg7c/Groucho's_Avisynth_Stuff

    You can load your script to AVSPMod check if it's running, or the nature of the error.
    https://github.com/AvsPmod/AvsPmod/releases

    Finally and hopefully you should be able to use "LoadVirtualdubplugin" function.
    Quote Quote  
  29. You don't need to use any VirtualDub plugins. You can use AviSynth filters (mt_binarize, for example) to create the mask. Starting with Sambat's image and using dekafka:

    Code:
    ImageSource("source.jpg", start=0, end=23, fps=23.976) 
    Crop(0,1,-0,-0)
    ConvertToYV12() # most people will be starting with YV12
    
    # area where subs appear, in practice you'll want to use a box as big as the biggest sub
    bx = 80
    by = 260
    bw = 420
    bh = 48
    
    block = Crop(bx, by, bw, bh)
    smask = block.mt_binarize(200).mt_expand().mt_expand().mt_expand().mt_expand(chroma="-128") # get bright white text, expand to cover black outline
    smask = Overlay(smask, smask, x=3, y=3, mode="add") # cover drop shadow too
    smask = smask.Blur(1.4) # blur the edges of mask to make it less obvious
    
    DeKafka(last.ConvertToRGB32(), smask.ConvertToRGB32(), bx, by, bw, bh, 255) # an infill that works in YV12 would be better
    Image
    [Attachment 54035 - Click to enlarge]
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!