VideoHelp Forum




+ Reply to Thread
Results 1 to 13 of 13
  1. Finally, release 2.1.3 version is on-line.

    http://download.videohelp.com/jsoto/vobblanker.htm
    http://jsoto.posunplugged.com/vobblanker.htm

    Changelog versus 2.1.2
    • Added: Control of minimum window size (in resizing windows)
    • Added: Resizing grip indication (in the lower left corner)
    • Added: Refuse to run if AnyDVD/DVD43 or DVDRegionFree (lite & std) are detected.
    • Added: Split feature in MENUs. Up to 32 split points.
    • Added: "Cut inside" splitting the cell in two parts in MENUs domain.
    • Added: Check PTSs discontinuities when extending cells (replacing cells/titles).
    • Added: Multiple splits pre cell. Up to 32 split points can be defined per cell in the same VobBlanker session.
    • Added: GOP type and Cell elapsed time are shown in Preview
    • Added: Absolute sector in preview
    • Added: Check the maxmum size of the output (menus and titles)
    • Added: Automatically disable overlay if needed in VISTA
    • Improvement: Tooltips are visible when the controls are disabled
    • Improvement: Double click on a cell row in cell list now goes to split/still/replace or preview/cut dialogs, depending on the selected action
    • Improvement: Message "Filename has to be *_1.VOB" removed if filesize < 1000MB
    • Improvement?: GOP type detection now accepts first video pack in a non standard position
    • Change: Defaults: Do not use overlay defaults to true, and NextPGC and PrevPGC pointers modification defaults to false
    • Change: Return to file save dialog in case of error (extracting cells)
    • Change: "Save project as" opens the file save dialog with the current project filename (if exists) instead of the default filename
    • Change: Elapsed and duration times: hours are represented in one digit
    • Change: Info in preview uses normal fonts. Deleted non-valid fields.
    • Change: Errors compacted when loading a DVD with multiple errors in menus
    • Change: 50% more space for ifos growing.
    • Change: Menu VOB or last title VOB files in a VTS are allowed to be larger than 1 GB (a warning is issued)
    • Change: Open GOP warning completely removed
    • Change: Confusing message when ILV-ed cells are detected.
    • BugFix: Not fixed, but workarounded. Dissapearing dells dialog when hitting "split button"
    • BugFix: Delete all title VOB files in output folder before processing the titles domain of a titleset
    • BugFix: Bug in DVDPreview was crashing VobBlanker loading a PAL/NTSC mixed DVD
    • BugFix: Sizes of GB were reported as MB in dialogs
    • BugFix: "Cut inside" splitting still was broken in some cases
    • BugFix: In the case of 9 files in a VTS, the fixing packs procedure hanged
    • BugFix: Only 98 VTS were supported
    • BugFix: Negative (wrong) pointers in IFOs made VobBlanker crash
    • BugFix: chapters table wrong when splitting cells
    • BugFix: Settings in main dialog were lost opening more settings dialog
    • BugFix: 32K smart GAP default was not always the same value
    • BugFix: Changing Cell number in preview was not updating Time and GOP type
    • BugFix: Special case where GOP type was not detected (was being marked as unknown)
    • BugFix: PGC unit table was being created empty in smart GAPs
    • BugFix: When removing unreferenced cells and renumbering, VOB pointers fixing phase was working with the list including the cells to be deleted, so some cells were adjusted twice.
    • BugFix: Adding chapters when splitting cells could fail in some rare conditions
    • BugFix: VobBlanker was not launching the fixing pointer phase when a cell number mismatch was detected replacing cells/pgcs

    jsoto
    Quote Quote  
  2. Added: Refuse to run if AnyDVD/DVD43 or DVDRegionFree (lite & std) are detected.

    Uh, any good reason for the above change? Just wondering.
    Pull! Bang! Darn!
    Quote Quote  
  3. Just program authors running for the hills ahead of the threat of MPAA "cease and desist" letters . . . whether there is any merit to the cease and desist letter or not. And that is not a criticism of the program authors who simply do not want nor most likely can afford the grief and financial pain a bunch of lawyers working for one of the most wealthy industries on earth can inflict on someone.

    What is really sad, is if this program is subject to the DMCA because AnyDVD might be running in the background - then every bloody file handling or editing progam in the world is also? Any program that has the potential to clean up flaws, errors and bogus files and pointers is suddenly illegal? This is beyond ridiculous.
    Quote Quote  
  4. Member
    Join Date
    Nov 2004
    Location
    Las Vegas
    Search Comp PM
    jsoto,

    I feel bad that you gave us all such a nice present, and I didn't get you anything. I swear...nobody told me Christmas was going to be in May this year. Thank you very much.
    Quote Quote  
  5. Originally Posted by Rich86
    Just program authors running for the hills ahead of the threat of MPAA "cease and desist" letters . . . whether there is any merit to the cease and desist letter or not. And that is not a criticism of the program authors who simply do not want nor most likely can afford the grief and financial pain a bunch of lawyers working for one of the most wealthy industries on earth can inflict on someone.

    What is really sad, is if this program is subject to the DMCA because AnyDVD might be running in the background - then every bloody file handling or editing progam in the world is also? Any program that has the potential to clean up flaws, errors and bogus files and pointers is suddenly illegal? This is beyond ridiculous.
    The possibility occurred to me as well. I will on the rare occasion use DVD43 with VobBlanker. (DVD43 is disabled on this machine as a startup item). Most recently used the combination on a documentary disc with several episodes where it was necessary to preserve the menu. But there was a damned advert on it as first play, plus some junk extras. Oh well, it just means an extra step in the process.
    Pull! Bang! Darn!
    Quote Quote  
  6. Member rkr1958's Avatar
    Join Date
    Feb 2002
    Location
    Huntsville, AL, USA
    Search Comp PM
    Originally Posted by fritzi93
    Added: Refuse to run if AnyDVD/DVD43 or DVDRegionFree (lite & std) are detected.

    Uh, any good reason for the above change? Just wondering.
    http://forum.doom9.org/showthread.php?p=995324#post995324

    http://forum.doom9.org/showthread.php?p=990840#post990840
    Quote Quote  
  7. Member ntscuser's Avatar
    Join Date
    Mar 2003
    Location
    United Kingdom
    Search Comp PM
    Originally Posted by jsoto
    [*]Added: Refuse to run if AnyDVD/DVD43 or DVDRegionFree (lite & std) are detected.
    Glad I don't use either of those

    jsoto rocks
    Quote Quote  
  8. jsoto, your tools are so good I could not imagine I do my work without them.
    But while working few years with VobBlanker I have growing feeling of absolute necessity of some features.

    I asked Donald Graft to implement them in DGIndex, but the Donald refuses. Now its your turn.

    Would it be possible to frameserve PGC instead of extract?
    Cann't tell it's possible don't tell anything.
    Quote Quote  
  9. VobBlanker is not designed to frameserve.
    And, as major reasons. I don't know how to do it, and I do not have free time at all these days....

    jsoto
    Quote Quote  
  10. Originally Posted by jsoto
    I don't know how to do it
    Ah, and I thought you have taken some code frome DVD2AVI (DGIndex) project because VobBlanker cell Preview window looks pretty much the same as DGIndex decode status.
    Cann't tell it's possible don't tell anything.
    Quote Quote  
  11. True, but DVD2AVI (DGIndex) "only" creates an index file. AFAIK, frameserving is in mpeg2dec.

    Regards
    Quote Quote  
  12. OK! But that's fine! Could it be possible to output d2v, audio, sup and chapter files instead of vob?

    The d2v file is an index file.
    The d2v index file is used to frameserve in avisynth.
    Typical avisynth script looks like:
    Code:
    LoadPlugin("C:\Programs DVD\DGIndex\DGDecode.dll")
    Mpeg2Source("1.d2v")
    Then the script can be loaded into any video editing/converting application.
    Index file is a key. Because avisynth registers its script file type as video file and invokes frameserving when script is loaded like video file. The way the avisynth works you do not have to care. It is enough you supply the same version of DGDecode.dll the d2v index file was created with.

    I downloaded the source code of DGIndex to implement feature which when new PGC is detected stop output d2v file and create another one with consecutive number. I also found "vob" number in m2v stream packet title is PGC number. But I could not find in DGIndex source code where to look for the packet title string and where to add create next file feature.

    PGCDemux can to output log, sup, audio and chapter files of selected PGCs.
    Here is a way I used information in PGCDemux log files and PGCDemux audio, sup and chapter files to half automatically rebuild titleset of 12 PGCs:

    First I wrote a PGCDemux batch which extracts chapters, sound and frame number for at most 16 PGCs:
    Code:
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 1 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (01)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 2 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (02)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 3 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (03)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 4 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (04)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 5 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (05)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 6 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (06)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 7 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (07)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 8 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (08)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 9 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (09)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 10 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (10)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 11 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (11)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 12 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (12)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 13 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (13)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 14 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (14)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 15 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (15)" 
    "C:\Programs DVD\PgcDemux_1205_exe\PgcDemux.exe" -pgc 16 -aud VTS_01_0.IFO "C:\PgcDemuxOutput\PGC (16)"
    Then I create a d2v file of whole title set consisting of 12 PGCs.

    Then I wrote a Word Basic macro which finds PGC frame number information in PGCDemux and creates corresponding *.avs files for each PGC all of which use same d2v file and use avisynth trim function:

    Code:
    Sub MAIN
    	Path$ = "C:\PgcDemuxOutput\"
    	FileFind  .SearchPath = Path$, .Name = "LogFile.txt", .SubDir = 1
    	size = CountFoundFiles()
    	Dim LogFileNameArray$(size - 1)
    	For count = 1 To size
    		LogFileNameArray$(count - 1) = FoundFileName$(count)
    	Next
    	SortArray LogFileNameArray$()
    	StartFrame = 0
    	For count = 0 To size - 1
    		FileOpen .Name = LogFileNameArray$(count)
    		EditFind .Find = "Total Number of Frames="
    		CharRight : EndOfLine 1
    		EndFrame = StartFrame + Val(Selection$())
    		FileClose 2
    		z$ = LTrim$(Str$(count + 1))
    		Zeros$ = Left$("000000", 2 - Len(z$))
    		Open Path$ + "PGC (" + Zeros$ + z$ + ")\1.avs" For Output As 1
    			Print #1, "LoadPlugin(" + Chr$(34) + "C:\Programs DVD\DGIndex\DGDecode.dll" + Chr$(34) + ")"
    			Print #1, "Mpeg2Source(" + Chr$(34) + Path$ + "1.d2v" + Chr$(34) + ")"
    			Print #1, "Trim(" + Str$(StartFrame) + ", " + Str$(EndFrame - 1) + ")"
    		Close
    		StartFrame = EndFrame
    	Next
    End Sub
    Then I encoded the files with CCE.

    Then I used AutoIt to batch multiplex all 12 PGCs with IfoEdit https://www.videohelp.com/forum/archive/ifoedit-or-version-as-command-line-use-t214941.html

    Here is AutoIt script:
    Code:
    ;
    ; AutoIt Version: 3.0
    ; Language:       German
    ; Platform:       Win9x/NT/2000/XP
    ; Author:         Borax
    ;
    ; Script Function:
    ;   Opens Ifoedit, Author DVD projects, Quit.
    ;
    
    $IfoeditEXEPath = "C:\Programs DVD\Ifoedit Vobedit\IfoEdit.exe"
    $IfoEditWin = "IfoEdit v0.971"
    $DestPath = "E:\DVD video\Ses\IfoVob"
    
    ; $Streams array holds all variables for Video, Audio, SubPicture, CellTimes 
    ; (= 4 Variables) for up to 20 DVD projects (SubPicture and Celltimes optional)
    
    Dim $Streams[20][4]
    $Streams[0][0] = "C:\PgcDemuxOutput\PGC (01)\1.mpv"
    $Streams[0][1] = "C:\PgcDemuxOutput\PGC (01)\AudioFile_A0.mp2"
    $Streams[0][2] = ""
    $Streams[0][3] = "C:\PgcDemuxOutput\PGC (01)\Celltimes.txt" 
    
    
    $Streams[1][0] = "C:\PgcDemuxOutput\PGC (02)\1.mpv"
    $Streams[1][1] = "C:\PgcDemuxOutput\PGC (02)\AudioFile_A0.mp2"
    $Streams[1][2] = ""
    $Streams[1][3] = "C:\PgcDemuxOutput\PGC (02)\Celltimes.txt" 
    
    
    $Streams[2][0] = "C:\PgcDemuxOutput\PGC (03)\1.mpv"
    $Streams[2][1] = "C:\PgcDemuxOutput\PGC (03)\AudioFile_A0.mp2"
    $Streams[2][2] = ""
    $Streams[2][3] = "C:\PgcDemuxOutput\PGC (03)\Celltimes.txt" 
    
    
    $Streams[3][0] = "C:\PgcDemuxOutput\PGC (04)\1.mpv"
    $Streams[3][1] = "C:\PgcDemuxOutput\PGC (04)\AudioFile_A0.mp2"
    $Streams[3][2] = ""
    $Streams[3][3] = "C:\PgcDemuxOutput\PGC (04)\Celltimes.txt" 
    
    
    $Streams[4][0] = "C:\PgcDemuxOutput\PGC (05)\1.mpv"
    $Streams[4][1] = "C:\PgcDemuxOutput\PGC (05)\AudioFile_A0.mp2"
    $Streams[4][2] = ""
    $Streams[4][3] = "C:\PgcDemuxOutput\PGC (05)\Celltimes.txt" 
    
    
    $Streams[5][0] = "C:\PgcDemuxOutput\PGC (06)\1.mpv"
    $Streams[5][1] = "C:\PgcDemuxOutput\PGC (06)\AudioFile_A0.mp2"
    $Streams[5][2] = ""
    $Streams[5][3] = "C:\PgcDemuxOutput\PGC (06)\Celltimes.txt" 
    
    
    $Streams[6][0] = "C:\PgcDemuxOutput\PGC (07)\1.mpv"
    $Streams[6][1] = "C:\PgcDemuxOutput\PGC (07)\AudioFile_A0.mp2"
    $Streams[6][2] = ""
    $Streams[6][3] = "C:\PgcDemuxOutput\PGC (07)\Celltimes.txt" 
    
    
    $Streams[7][0] = "C:\PgcDemuxOutput\PGC (08)\1.mpv"
    $Streams[7][1] = "C:\PgcDemuxOutput\PGC (08)\AudioFile_A0.mp2"
    $Streams[7][2] = ""
    $Streams[7][3] = "C:\PgcDemuxOutput\PGC (08)\Celltimes.txt" 
    
    
    $Streams[8][0] = "C:\PgcDemuxOutput\PGC (09)\1.mpv"
    $Streams[8][1] = "C:\PgcDemuxOutput\PGC (09)\AudioFile_A0.mp2"
    $Streams[8][2] = ""
    $Streams[8][3] = "C:\PgcDemuxOutput\PGC (09)\Celltimes.txt" 
    
    
    $Streams[9][0] = "C:\PgcDemuxOutput\PGC (10)\1.mpv"
    $Streams[9][1] = "C:\PgcDemuxOutput\PGC (10)\AudioFile_A0.mp2"
    $Streams[9][2] = ""
    $Streams[9][3] = "C:\PgcDemuxOutput\PGC (10)\Celltimes.txt" 
    
    
    $Streams[10][0] = "C:\PgcDemuxOutput\PGC (11)\1.mpv"
    $Streams[10][1] = "C:\PgcDemuxOutput\PGC (11)\AudioFile_A0.mp2"
    $Streams[10][2] = ""
    $Streams[10][3] = "C:\PgcDemuxOutput\PGC (11)\Celltimes.txt" 
    
    
    $Streams[11][0] = "C:\PgcDemuxOutput\PGC (12)\1.mpv"
    $Streams[11][1] = "C:\PgcDemuxOutput\PGC (12)\AudioFile_A0.mp2"
    $Streams[11][2] = ""
    $Streams[11][3] = "C:\PgcDemuxOutput\PGC (12)\Celltimes.txt" 
    
    
    
    ; $Streams[X][0] = Video File =     *.mpv or *.m2v
    ; $Streams[X][1] = Audio File =     *.mp2 or *.ac3
    ; $Streams[X][2] = SubTitelStream = *.sup
    ; $Streams[X][3] = CellTimes      = *.txt  
    ; X is the Number of project running from 0 to 19
    
    
    
    
    If $Streams[0][0] = "" then
       MsgBox(1, "AutoIt IfoEdit", "ERROR: No Video file specified"
       Exit
    EndIf
    
    $s = "Run IfoEdit with these VideoFiles:" & @CRLF
    For $i=0 to 19
        If $Streams[$i][0] <> "" Then 
           $s = $s & $Streams[$i][0] & @CRLF
        EndIf   
    Next
    
    
    $i = MsgBox(1, "AutoIt IfoEdit", $s)
    If $i = 2 then
       Exit
    EndIf   
    
    ; Declare loop
    $MyStreams = 0
    While $Streams[$MyStreams][0] <> "" 
    
    
    ; Start ifoedit
    Run($IfoeditEXEPath)
    
    
    ; Wait for IfoEdit to become active
    WinWaitActive($IfoEditWin)
    Sleep(100)
    ; Open AuthorDialog
    Send ("!d")
    Sleep(50)
    Send ("a")
    Sleep(50)
    For $i = 1 to 5
      Send ("{TAB}")
      Sleep(50)
    Next
    Send ("{ENTER}")
    ; Sleep(500)
    WinWaitActive("Open")
    Send($Streams[$MyStreams][0])
    ; Send($Video1)
    Sleep(200)
    Send ("{ENTER}")
    Sleep(50)
    Send ("{TAB}")
    Sleep(50)
    Send ("{TAB}")
    Sleep(50)
    Send ("{ENTER}")
    WinWaitActive("Open")
    Send($Streams[$MyStreams][1])
    ; Send($Audio1)
    Sleep(200)
    Send ("{ENTER}")
    Sleep(50)
    Send ("{TAB}")
    Sleep(50)
    Send ("{TAB}")
    Sleep(50)
    ; Subpicture goes here
    If $Streams[$MyStreams][2] <> "" then
    	Send ("{ENTER}")
    	; Sleep(500)
    	WinWaitActive("Open")
    	Send($Streams[$MyStreams][2])
    	Sleep(200)
    	Send ("{ENTER}")
    	Sleep(50)
    	Send ("{TAB}")
    Else
    	Sleep(50)
    	Send ("{TAB}")
    EndIf
    Sleep(50)
    Send ("{TAB}")
    
    ; Celltimes goes here
    If $Streams[$MyStreams][3] <> "" then
    	Send ("{ENTER}")
    	; Sleep(500)
    	WinWaitActive("Open")
    	Send($Streams[$MyStreams][3])
    	Sleep(200)
    	Send ("{ENTER}")
    	Sleep(50)
    	Send ("{TAB}")
    Else
    	Sleep(50)
    	Send ("{TAB}")
    EndIf
    
    Sleep(50)
    
    ; Check Destination Path, if not exists -> create it
    $TempPath = $DestPath & "\Temp" & $MyStreams
    If FileExists ($TempPath) Then
    	$j=1
    Else
        If DirCreate ($TempPath) then
    	$j=1
        else
    	MsgBox(0, "AutoIt IfoEdit", "ERROR Setting Destination Path!")
        	Exit
        Endif  	
    EndIf
    Sleep(50)
    For $i = 1 to 4
      Send ("{TAB}")
      Sleep(50)
    Next
    Send($TempPath)
    Sleep(50)
    For $i = 1 to 12
    Send ("{TAB}")
    Sleep(20)
    Next
    Send ("{ENTER}")
    Sleep(500)
    WinWaitActive($IfoEditWin)
    Sleep(50)
    ; Activate MsgBox to check the LogWindow in case of Problems
    ; MsgBox(0, "Test", "Test OK!")
    WinActivate ("Log Window")
    Sleep(150)
    Send ("{ENTER}")
    Sleep(150)
    WinClose($IfoEditWin)
    ; Now wait for IfoEdit to close before continuing
    WinWaitClose($IfoEditWin)
    Sleep(150)
    
    ; Move Files to DestPath
    $j = $MyStreams + 1
    $s0 = $j
    if StringLen($s0) = 1 then $s0 = "0" & $j
    $s1 = $TempPath & "\Vts_01_0.bup"
    $s2 = $DestPath & "\VTS_" & $s0 & "_0.BUP"
    FileMove($s1, $s2)
    $s1 = $TempPath & "\Vts_01_0.ifo"
    $s2 = $DestPath & "\VTS_" & $s0 & "_0.IFO"
    FileMove($s1, $s2)
    $s1 = $TempPath & "\Vts_01_1.vob"
    $s2 = $DestPath & "\VTS_" & $s0 & "_1.VOB"
    FileMove($s1, $s2)
    $s1 = $TempPath & "\Vts_01_2.vob"
    $s2 = $DestPath & "\VTS_" & $s0 & "_2.VOB"
    FileMove($s1, $s2)
    $s1 = $TempPath & "\Vts_01_3.vob"
    $s2 = $DestPath & "\VTS_" & $s0 & "_3.VOB"
    FileMove($s1, $s2)
    $s1 = $TempPath & "\Vts_01_4.vob"
    $s2 = $DestPath & "\VTS_" & $s0 & "_4.VOB"
    FileMove($s1, $s2)
    $s1 = $TempPath & "\Vts_01_5.vob"
    $s2 = $DestPath & "\VTS_" & $s0 & "_5.VOB"
    FileMove($s1, $s2)
    $s1 = $TempPath & "\Video_ts.bup"
    FileDelete($s1)
    $s1 = $TempPath & "\Video_ts.ifo"
    FileDelete($s1)
    DirRemove ($TempPath)
    Sleep(50)
    
    ; Go on to next Streams if any
    $MyStreams = $MyStreams + 1
    If $MyStreams = 20 Then 
       Exit
    EndIf   
    ; Back to loop
    WEnd
    
    MsgBox(0, "AutoIt IfoEdit", "Finished!")
    Finally I replaced all 12 PGC in original DVD using VobBlanker.
    Cann't tell it's possible don't tell anything.
    Quote Quote  
  13. Seems you did a good job!

    Better use muxman instead IFOedit for muxing. Much more easier to automate (has CLI mode) and it is a better muxer.

    jsoto
    Quote Quote  



Similar Threads

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