A new thread has been started for the new version 1.0.9.7 please post new topics in that thread. Thanks.
bellevino setup a wiki for DVRMSToolbox here DVRMSToolbox User Guide if you're new to the application take a read, it will save you some time. If you are familar with the tool, take a read too and add something.
DVRMSToolbox is a set of tools to perform actions on DVRMS files. The actions can be run against a single file (DVRMStoMPEG.exe) or against a directory (DVRMSToolbox.exe) using "Processing Conditions", or meta data based rules that you create. Both of these tools are command line applications so it's easy to create scheduled tasks that process your recorded tv while you sleep, or if you are a more visual person a there is also a GUI that will run the applications.
A set of "Profiles", or configured set of actions, is included in the installation package.
These include:
- Convert DVR-MS to MPEG
- Convert DVR-MS to MPEG w/o commercials
- Convert DVR-MS to WMA
- Convert DVR-MS to WMV
- Cut commercials out of a DVR-MS file and output DVR-MS
- Cut commercials out of DVR-MS, output DVR-MS and DVR-MS with commercials
- Cut out commercials, convert to WMV
- Fix the MCE Slider (used to make the duration slider in MCE reflect the actual duration in edited files)
- Remove commercial, output DVR-MS, move to Recorded TV
- Do Nothing
The "Profiles" are flexible, you can change the actions in the included profiles, or create your own using the DVRMSToolboxSettings application.
Processing a single DVR-MS file with a profile is most easily accomplished using the GUI tool. Select the input file, the output file and the "Profile", click "Run" and that's it... If you want to get the command line syntax, select "Tools:Copy Command Line to Clipboard" and the proper command line will be copied to the clipboard for insertion in a bat/cmd file.
Processing a Directory is a little more complicated, as that tool uses "Processing Conditions", meta data based rules, to determine which profile to run against a file. If no match is found, the file is skipped. This application keeps track of the files that it has processed so it won't process them again, unless you want to (this log is editable, you can add or remove files from it). To create a "Processing Condition", open up the Processing Condition Editor and select "New Condition". Name your condition, select a profile, then add meta tag comparisons (like creating a playlist in WMP), Save the condition and you're all set.
Conditions are processed in order of their priority (the order that they display in the Processing Condition Editor), all of the conditions will be tested until a match is found, when one is found no subsequent conditions will be tested.
Two conditions are included in the installation:
- "Processed Files": matches files that are output from previous runs so they don't get processed, uses the "Do Nothing" profile.
- "Every File": should match every file that isn't an output file, uses "Remove commercials, output DVR-MS, move to RecordedTv" profile. This condition should always be the last condition in the list, as it will match every file.
Actions ecapsulate the work that the application does. Each action performs a specific task (decribed below), but isn't all that useful unless bound togather with other actions to create a profile. Actions are run in the order that they are configured in the Profile, order is important as most actions are dependant on previous actions to do their work effectivly. The actions framework is very flexible, anyone can create their own actions by inheriting from BaseAction in Durrant.Common.Dll marking the new class as serializable and placing the new dll in the run folder. The settings tool will automatically add the new actions to the list of actions when building a profile.
Applications:
- DVRMStoMPEG.exe: runs a profile (/act arg) against file specified in the /if arg produces file specified in the /of arg.
- DVRMStoMPEGGUI.exe (DVRMSToolboxGUI in the progams menu): GUI tool to run DVRMStoMPEG.exe and DVRMSToolbox.exe, can also run Settings, and Processing Conditions Editor from the Tools menu.
- DVRMSToolbox.exe: tests processing conditions against files found in folder specified in /pd, if they haven't already been processed, outputs result to folder specified in /od
- ProcessingConditionEditor.exe: Create meta data based rules; when matched, specified profile will be run. Processed Files List is managed in the application.
- DVRMStoMPEGSettings.exe (DVRMSToolboxSettings in the progams menu): Set Temp directory, Templates directory (legacy), and Default Priority for the applications. Profiles are created and managed in this application.
Actions:
Name: AdjustMetaData
Description: Adds WM/ToolName and WM/ToolVersion tags, edits WM/WMRVEndTime and WM/MediaOriginalRunTime (FixSlider), edits WM/SubTitleDescription (AddTooledDescription), and edits WM/WMRVScheduleItemID (IncrementScheduleItem).
Reads Context: CutDvrmsFile (optional), CutCommercialsDvrmsFile (optional)
Writes Context: None
Configure: AddTooledToDescription (true/false), FixSlider (true/false), IncrementScheduleItem (true/false), MetaMarker (text)
Name: Cleanup
Description: deletes contents of the temp directory
Reads Context: None
Writes Context: None
Configure: None
Name: ConvertDVRMStoMPEG:
Description: converts a DVRMS to an MPG
Reads Context: Graph (optional), InputFile, CutDvrmsFile, OutputFile, MultiplexorFilterGuid, FileOutputFilterGuid,
Writes Context: TempMpeg (optional)
Configure: FinalRender (true/false)
Name: ConvertToWMV
Description: converts a specified context file DVRMS to WMV using DVR2WMV
Reads Context: *, OutputFile
Writes Context: None
Configure: CompatibilityMode (true/false), ContextFile (context value, file to convert), PrxName (text, path of prx file to use), TwoPass (true/false)
Name: DeleteFile
Description: Deletes a specified context file
Reads Context: *
Writes Context: None
Configure: AreYouSure (true/false), ContextFile (context value, file to delete)
Name: DoNothing
Description: Does nothing
Reads Context: None
Writes Context: None
Configure: None
Name: DvrmsCutOutCommercials
Description: Uses Toub's DVRMS splicer to cut out commercials
Reads Context: InputFile, FrameRate, Commercials, OutputFile,
Writes Context: CutDvrmsFile or CutCommercialsDvrmsFile
Configure: AllowedIterations (text, number of iterations at the same progress before canceling), OutputCommercials (true/false), SaveOutput (true/false)
Name: FindCommercials
Description: uses comskip to find commercials in mpg file
Reads Context: TempMpeg, Debug (optional),
Writes Context: FrameRate, Commercials
Configure: None
Name: MigrateContextValue
Description: Copies a context value to another context value
Reads Context: *
Writes Context: *
Configure: ContextSource context value, name of context value to copy), ContextDestination (context value, name of context value to write to)
Name: MoveOutputFile
Description: Move a specified context file to a specifed location, sets context file to new location
Reads Context: *
Writes Context: *
Configure: ContextFile (context value, file to move), DeleteExisting (true/false), DestinationPath (text, if UseRecordedTVPath is selected this is ignored, otherwise path to move to), UseRecordedTvPath (true/false)
Name: RenameInputFile
Description: Replaces text with alternate text in the input file name
Reads Context: InputFile
Writes Context: InputFile
Configure: MatchExpression (text, text to find), ReplaceExpression (text, text to replace with)
New Version 1.0.8
Changes
- Added version information to each tool.
- fixed implicit cast bug in AdjustMetaData
- GUI AutoRefreshes Profiles when returning from Settings
- Fixed application constantly trying to reinstall itself
New
Actions:
Name: DVRMS2MPGStreams
Description: converts a DVRMS to the base MPG/cc streams
Reads Context: InputFile, CutDvrmsFile, OutputFile
Writes Context: TempMpeg (optional)
Configure: FinalRender (true/false), MuxVideoForComskip (true/false)
Using the new action, you can dump the streams into seperate files. ATSC files weren't working because the muxer doesn't like the sound. Comskip doesn't process the sound, just video so using this action with "MuxVideoForComskip" checked will allow comskip to look at the file for commercials.
Version 1.0.8.1
Changes
Fixed a bug in how DvrmsCutOutCommercials detects a hung splice
Fixed a bug in the installer
Version 1.0.8.2
New
add profile to convert DVR-MS to WMA (uses new DVRMS2WMA action)
Actions
Name: ContextSeed
Description: Copies a configured command line arg to the specified Context value
Reads Context: None
Writes Context: *
Configure: ContextValue (context value, value to set), CmdArg (text, arg in /arg= format)
Name: DVRMS2WMA
Description: Converts DVR-MS file to WMA using specified WME profile (prx file)
Reads Context: OutputFile, *
Writes Context: None
Configure: ContextFile (context value, file to convert), PrxName(text, path to WME profile)
Version 1.0.9.0
Changes
- DvrmsCutOutCommercials will create a new source file and use that file to cut out commercials when it hangs
- FindCommercials is aware of commercials xml files, will not run comskip if an xml file has been created for the file being processed
- DVRMS2MPEGStreams added an option to mux the audio and video, it will auto detect the need for a decrypt filter, fixed "TempMpeg" bug
- DVRMSToMpeg.exe no longer requires /act argument, if it is not supplied, it applies Processing Conditions to determine the profile to run
- "Every File" PC action is to write out commercials (used to create a commercialless dvr-ms file in the recorded tv dir)
New
Actions
Name: DumpCommercialsXml
Description: Writes commercials found in FindCommercials to an Xml file (mainly for CommericalSkipAddIn)
Reads Context: Commercials
Writes Context: None
Configure: None
Applications:
DVRMSFileWatcher - monitors a directory (usually recorded tv) and automatically processes the dvr-ms files that are created there.
CommercialSkipAddin - MCE addin that uses the commercials xml file to skip to the end (up key) or begining (down key) of the current commercial segment. NOTE: The add-in is not registered by default, it must be registered from the programs menu before it can be used
1.0.9.0 (UPDATE)
I messed up the profiles, so for those who already downloaded 1.0.9.0, just download the profiles attachement and unzip it to the profiles directory in the install directory.
Otherwise the installer has been updated too.
Also, I have to give credit to S Toub... I borrowed heavily from his time jumping add-in to make the commercial skip addin work.
Version 1.0.9.1
Changes
- Fixed a bug in the Commercial Skip Add-In, it will only try to skip while a dvr-ms file is playing now.
Version 1.0.9.2
Changes
- Commercial Skip Add-In will now allow a skip to the end of the next commercial regardless of current position. This is a change in that the position doesn't need to be within a defined commercial to skip.
- HDTV files will now mux into mpegs with audio and video intact. i.e. AC3 audio is supported in media files.
- Comskip has been replaced with ShowAnalyzer (www.dragonglobal.org), register SA to get 4+ times faster commercial detection. NOTE: the author of SA is working on a DVRMS native version, support this tool and it should come out faster. A new menu item to register SA is included in the Programs area.
- DVRMSFileWatcher can now be configured to watch for deletes and delete the commercials xml file when the media file is deleted.
- RegisterCommercialSkipAddin programs item registers for all users (requires Administrator rights to run).
Version 1.0.9.3
Changes
- DVRMSFileWatcher displays when it is configured to monitor deletes.
- Register/Unregister Add-in cmd have /allusers on all commands
- Changed COM registration method for dvr2wmv.dll (cross fingers)
Version 1.0.9.3 (Update)
Changes
- Implemented taurus1900 suggestions for filter Disposal
- Commercial Skip Add-In can now be set to autoskip after starting playback of a file. To use this feature, start a dvr-ms file as usual, then press the "Right" button on the remote. The add-in will poll current position and when it is in a commercial will automatically skip to the end of the commercial. Once enabled, autoskip will continue until the "Left" button is presses or playback is stopped. "Up" and "Down" buttons work the same way as before.
- The temp mpeg is now randomly named instead of being video.mpg.
- ShowAnalyzer can be disabled by deleting the TPD dll found in the SA directory, when disabled an error message will appear, and the plugin will fall back to comskip.
Version 1.0.9.4
Changes
- Implemented taurus1900 fix in DVRMSCut action
- CommercialSkip add-in can now run in a completely automated mode. Set HKLM\Software\DVRMSToolbox\AutoSkip = 1 (default is 0), to enable AutoSkip.
Version 1.0.9.5
Changes
- DVRMS2MPEGSteams tests for WM/WMRVATSCContent exsitance before checking value (for Meedio users), added support for IsAudioAC3(for FW users) to use M71 graph.
- CommercialSkip add-in disposal code changed to suppress RCW error.
- SA 0.5.8 bundled (if you run as a user, you must give your account full access permission to HKLM\Software\Dragon Global\ShowAnalyzer".
- Option to force Comskip usage (untested).
- Duration added to profile and action execution.
- File Watcher has some logging options added to the config.
Version 1.0.9.6
Changes
- CommercialSkip Add-In updated for Rollup 2 (thanks Toub), add-in will not run without Rollup 2 installed.
- CommercialSkip Add-In rewritten to use MSAS instead of earlier polling model to increase stability. Requires reboot!
- AutoSkip is set to 1 by default
- ProcessingConditionsEditor supports the generation of new MetaTags.bin file. MetaTags.bin stores the list of meta tags in a DVR-MS file, which is used to create the PC, if a tag doesn't appear in the list creating a new MetaTags.bin will fix the problem.
- Installer allows conditional installation of SA, DVRMSFilewatcher, and CommercialSkip