I'm new in ripping so probably there is already described this kind of issue but I have no idea how to find it.
I'm trying to rip some family's DVDs (weddings, etc.). DVDs have not so big resolution but on DVD plaer (hardware or software) the end effect is quite acceptable. Unfortuately after ripping (very high quality, same resolution as original) there are pixels on the screen. I've tried many of DVD rippers but the effect is always the same. Please see attached screens:
[Attachment 43783 - Click to enlarge]
Ripped mp4 (same resolution):
[Attachment 43784 - Click to enlarge]
Probably on the original DVD there is something like a blur filter (am I right?) and after ripping it's disapearing. Is there any method to keep the quality as the original DVD? Maybe upscaling or add some filters?
+ Reply to Thread
Results 1 to 21 of 21
Term "ripping" is used to actually remove copyright protection, which you do not have.
So term encoding DVD is fine.
Is your DVD truly interlaced? You might know that your camcorder was producing interlaced video, but did you produced interlaced DVD's as well? For years coming here on this forum, anything is possible.
You might fast forward in the future or get rid of lots of presumtions just posting an example from your DVD. Use dgindex to post short m2v sample.
Just guessing, DVD was deinterlaced with not the best deinterlacer. Or you should encode interlaced the original was.
What is your target? - are you going to keep unchanged DVD format only to be distributed as single file or your intention to transcode video for some smaller filesize but not loose during transcoding too much video quality.
Yes, not change that format at all is a good idea, removing it out of DVD structure, then storing it, video should be kept as is. Using VOB2mpeg or pgcdemux, just get original mpeg file out of your VIDEO_TS.
To encode it, is something extra, for example to get rid of interlace , to get it into other projects etc.
Thanks for answer guys. Yes, definitly it's a interlaced video (I didn't know). My target is to keep all private DVDs on a network hard disc (private cloud) and to have access from any devices connected to my network (TVs, smartphones, tablets, etc., directly and via DLNA). HDD is quite big so it will be OK even if the target file will have the same size as DVD. So actually the target file format doesn't matter (the point is to play on every popular devices). I've noted that the VOB2mpeg haven't this kind of side effect (quality is the same as on DVD), but on the one of TVs this file is very dark and ugly (probably this TV doesn't like pure mpeg format ).
After your's hints (interlaced video) I've looked for some programs which can do it well. I found a MakeMKV. Maybe it's not perfect (still some pixels) but almost the same quality as on DVD.
But anyway, I'm attaching a short m2v of my dvd. If you have a better proposals than MakeMKV please help. Thank you.
I keep those VIDEO_TS as a back up, then making MP4, same as you do, just because of non problematic playback, I also remove interlacing by using the best QTGMC. Other deinterlace is not good enough so to automatize that I had to created batch script myself, just dropping any VOB that belongs to particular title creates this mp4. To use QTGMC a things needs to be set up a lot so that is why to automatize it all. Just droping a file onte a batch script. Handbrake cannot use QTGMC directly and other encoders as well. So this works well only for home made interlaced DVD's and other mpeg2 files with PCM, AC3, mpegII layer1 audios only, again, do not use it for commercial DVD's. It cannot handle inverse telecine for example, it would need script change. If you have tons of VIDEO_TS from your DVavi camcorder that's the tool to use for. Btw M2t camcorder mpeg2 videos work as well. This is meant to be used for home Mpeg2 videos or DVD's or even M2T HD videos. I used HD camcorder that was creating those M2t HD videos, it could be edited and without recompression joined together to get videos.
Mpeg to MP4.zip
you need to have Avisynth 32bit installed for that script to work
In case of interlace DVD drop one of title VOB's onto particular BAT file. It can make
-interlaced MP4 (probably you do not want that but it is much faster) using MPEG to anamorphic MP4.BAT
-progressive MP4 (using QTGMC but much, much slower) using MPEG to MP4 auto square pixel resize.BAT
-or progressive MP4 , with custom resize using MPEG to MP4 ask for size.BAT
if using VHS source for DVD, you'd need to crop 8 pixels left and right if video has 720 pixels, so another BAT could be easily created by changing any above BAT's , I did not use VHS video, so I did not create specific batch script for that
here is an example I made using your sample to create MP4 using "MPEG to MP4 auto square pixel resize.BAT"
Last edited by _Al_; 20th Nov 2017 at 16:50. Reason: correcting download link
I'm sorry, I pasted wrong link. It is corrected now in original post #6.
I'm really impressed with your work.
VLC with deinterlace set to Yadif 2x. That's still not as good as QTGMC but probably better than what you're getting now.
And obviously I have a problem (probably with win10):
during script execution appears:
avs [error]: LoadPlugin: unable to load "D:\dvd2mp4\Mpeg to mp4\tools\QTGMC 32-bit Plugins\Avisynth 32-bit Plugins\RemoveGrainSSE2.dll", Module not found. Install missing library!
(D:\dvd2mp4\Mpeg to mp4\temp\MPEG to MP4 auto square pixel resize\test\test.avs, line 3)
x264 [error]: could not open input file `D:\dvd2mp4\Mpeg to mp4\temp\MPEG to MP4 auto square pixel resize\test\test.avs'
Please note that the RemoveGrainSSE2.dll library is exactly at the right place. I've tried also with older Avisynth and Avisynth+
Am I right that is a Win10 issue? Is there a solution for this?
I use win7
1. Read that QTGMC 32-bit Plugins\32-bit System dlls folder there is some instructions in txt files
2. if it does not help, backup that QTGMC 32-bit Plugins\Avisynth 32-bit Plugins folder and update to QTGMC 3.33:
try this, what LMotlow says, download that, unzip and put those into that Avisynth 32-bit Plugins (within that mpeg2 to mp4 folder, not dedicated Avisynth plugin folder) follow his instructions
that suppose to work with Avisynth 2.6 or better try it with Avisynth 2.58 what you have perhaps just use that mt_masktools-25.dll not mt_masktools-26.dll . One or the other should be used depending on Avisynth version.
Last edited by _Al_; 21st Nov 2017 at 16:46.
RemoveGrain is obsolete anyway. There's another plugin called RGTools that replaces it and has the same functionality. I think the runtime required by RemoveGrain is so old it's not included in Windows 10. RemoveGrainS has it "built in" (I think that's the name for the static version) so it should work if you use it instead.
Here's a link to a file with plugins for the latest QTGMC, along with the latest version, but the zip file is a couple of months old now and plugins are updated occasionally, so there's a text file containing links to each one inside. It's worth checking them. There's also a new QTGMC wiki with links to the latest plugin versions. If one won't load, download and install whatever dependency it requires.
QTGMC 3.357s wiki
QTGMC 3.357s & Plugins 2017-05-05.zip
Don't keep old versions of plugins in the Avisynth auto-loading folder if you have them there. Replace them with the newer versions. RgTools replaces all the RemoveGrain versions as well as Repair.dll & VerticalCleaner.dll if you have them. You should dump anything you have with masktools in it's name and use the latest version. It's just called masktools2.dll now. Some of the newer plugins may not work correctly with the old QTGMC 3.32 or 3.33 versions.
SSETools.dll is not required for the latest QTGMC, but it does require the SMDegrain and AnimeITV scripts. They're in the zip file.
I doubt any of this will work with the old Avisynth 2.58 so install 2.6 if you haven't, or even Avisynth+, and I'd stick with 32 bit versions even if you run 64 bit Windows., although 64 bit plugins are becoming quite common now so it's up to you. The plugin pack I linked to contains both 32 bit and 64 bit versions of each plugin, so pick the correct one for whichever Avisynth you have installed.
Al's batch file mightn't work with the new version of QTGMC/plugins due to names, locations, entropy or the greenhouse effect etc. I haven't looked at it, so I don't know it's doing.
Last edited by hello_hello; 22nd Nov 2017 at 00:25.
If those new, updated dll's , avsi are put in the same folder \QTGMC 32-bit Plugins\Avisynth 32-bit Plugins
also change this part in batch script, delete it:
echo Import("%qtgmc_folder%\QTGMC-3.32.avsi") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\mvtools2.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\RemoveGrainSSE2.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\RepairSSE2.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\mt_masktools-25.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\nnedi3.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\dfttest.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\EEDI2.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\FFT3DFilter.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\nnedi.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\nnedi2.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\SSE2Tools.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\VerticalCleanerSSE2.dll") >> "%temp_adr%.avs" echo LoadPlugin("%qtgmc_folder%\AddGrainC.dll") >> "%temp_adr%.avs" echo Load_Stdcall_plugin("%qtgmc_folder%\yadif.dll") >> "%temp_adr%.avs"
pushd "%qtgmc_folder%" for %%d in ("*.avsi") do echo Import("%qtgmc_folder%\%%d") >> "%temp_adr%.avs" for %%d in ("*.dll") do if /i not "%%d"=="yadif.dll" echo LoadPlugin("%qtgmc_folder%\%%d") >> "%temp_adr%.avs" echo Load_Stdcall_plugin("%qtgmc_folder%\yadif.dll") >> "%temp_adr%.avs" popd
I actually changed that batch script accordingly in that whole Mpeg to mp4.zip as of now, but not updating that QTGMC (so far)
Last edited by _Al_; 22nd Nov 2017 at 01:37.
Thanks guys, I will try it today evening. Yesterday I've tried till to late night with several versions of Avisynth and QTGMC but without success. Even more, I'm thinking about back to win7 (I've upgrade it one month ago due to the ending of free upgrade promotion from Microsoft). I will let you know about the results.
I'd just put all the plugins in the Avisynth plugins folder (Program Files/Avisynth/Plugins on XP) and Avisynth will load them every time it runs. No need to load them manually each time you use them, although I know some people prefer to do it that way. It drives me nuts.
Also keep in mind YadifMod2 in the zip file is not a C plugin so you'd load it with LoadPlugin("yadifmod2.dll"), not Load_Stdcall_Plugin as for the old version. The latest version of QTGMC is geared up to use YadifMod2 instead of Yadif, but you can load them both at the same time if you wish because Yadif is used this way Yadif() while YadifMod2 is used this way YadifMod2(), so they can co-exist peacefully. If you look at the changelog for version 3.34s near the top of the QTGMC script, it explains how to use the old Yadif with QTGMC if you really want to.
in that case if yadifmod2.dll needs to be loaded as LoadPlugin that part of batch script is:
pushd "%qtgmc_folder%" for %%d in ("*.avsi") do echo Import("%qtgmc_folder%\%%d") >> "%temp_adr%.avs" for %%d in ("*.dll") do echo LoadPlugin("%qtgmc_folder%\%%d") >> "%temp_adr%.avs" popd
or you just load every single dll and avsi manually using proper names in that part of batch script, like that first script example in post #13, carefully write lines for batch script depending on what DLL and avsi you have
If all those DLLs and avsi are in real Avisynth plugin folder (C:\Program Files (x86)\AviSynth 2.x\plugins\) , not custom folder as we have, those DLL'a and avsi does not have to be loaded in avisynth script and therefore batch script does not have create that part of avisynth script, so you can just delete that part I talk about right now in batch script, but I would not do that. After some time you might end up with a mess in that Avisynth plugin folder or get possibly some conflicts. If you have just QTGMC in there though, it should be fine.
while making this work, testing it, you can always look what actual avisynth script was created (before the end of encoding, then it gets deleted) , looking at temporary folder that batch scripts generates: ...\mpeg to mp4\temp\...BAT filename....\ ...name of your title ...\ ..name of your title.avs
Last edited by _Al_; 22nd Nov 2017 at 09:03.
Add the following to a text file and save it with an avs extension (the file name doesn't matter) then open it with something that can open scripts (MeGUI, MPC-HC, SMPlayer, VirtualDub, AvsPmod etc). You'll see colour bars and it'll confirm Avisynth is working.
Put all the QTGMC plugins in the Avisynth plugins folder (where it's installed in Program Files (x86), or whatever that folder's called now, and try again with the following saved as an Avisynth script:
If you see an error report it here if you can't work it out. Once you can see colour bars again you'll know at least all the plugins QTGMC uses with it's default settings are loading. The most common mistakes are putting 64 bit plugins in the Avisynth plugins folder when running 32 bit Avisynth, or putting the 32 bit files file(s) that need to go into the system folder into System32 instead of SysWow64 for 64 bit Windows. And maybe some plugin dependencies, but it's easier now. The plugin situation was a mess for a while, Different flavours everywhere. Now you can just use the latest ones the QTGMC wiki links to.
From there you can use Al's batch file or whatever, but the above might be the simplest way to make sure everything is working first.
Personally I prefer to put everything in the Avisynth plugins folder and auto-load them, and I've about 100 plugins and scripts in there, but I'm pretty OCD about keeping it organised.
Another trick to keeping plugins separate if you really want to, is to load them in scripts from whatever folders they reside in, then either import the requires script(s) or put them in the auto loading directory with an avsi extension. Avisynth can then auto-load plugins that aren't in the auto-loading plugins folder. I do that for the few C plugins I use, but you can load any plugin or even other scripts that way, then just Import() or load the single script. ie
AVSInpaint = "C:\Program Files\AviSynth\C Plugins\AVSInpaint 2008-02-23.dll"
exist(AVSInpaint) ? Load_Stdcall_Plugin(AVSInpaint) : nop
BassAudio = "C:\Program Files\AviSynth\BassAudio Plugin\BassAudio.dll"
exist(BassAudio) ? LoadPlugin(BassAudio) : nop
ffavisynth = "C:\Program Files\AviSynth\C Plugins\ffavisynth 1.3.4533.dll"
exist(ffavisynth) ? Load_Stdcall_Plugin(ffavisynth) : nop
Yadif = "C:\Program Files\AviSynth\C Plugins\yadif 1.7.dll"
exist(Yadif) ? Load_Stdcall_Plugin(Yadif) : nop
Last edited by hello_hello; 22nd Nov 2017 at 09:15.
he can fish out that avisynth script from "mpeg to mp4" temp folder and drop it on MPc-HC player, VirtualDub , no need to go elsewhere
those "tricks" he can start to test while not using this batch script, because when it works no need of thinking of avisynth at all, he just needs to get those dll and avsi that work with his system
Last edited by _Al_; 22nd Nov 2017 at 09:18.
Thanks a lot. It's working (with QTGMC from hello_hello and changed script from _Al_). Output files are perfect. I think that they are better than from a software DVD player.
DVD Decrypter will rip. You'll get ISO or VOB/IFO/BUP files.
You've re-encoded if you have MP4. And obviously chosen the wrong settings, as you're seeing deinterlace jaggies.
Technically, DV video should have also been "ripped" from tape, but the wrong term "capture" was used. That's not a capture.