Log in Page Discussion History Go to the site toolbox

DVRMSToolbox User Guide

From BluWiki

DVRMSToolbox is a set of tools to perform actions on DVRMS files. 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 there is also a GUI that will run the applications.

One of the more useful applications of DVRMSToolbox is its automatic commercial skipping capability. Using this feature (by combining the FileWatcher and the CommercialSkip add-in), Media Center will automatically skip commercials while you are watching the show.

There is also a windows service (DVRMSFileWatcher), which can be run to watch the recorded tv folder and use the "Processing Conditions" to process new shows as they are recorded.

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

Installation Requirements

  1. dotNET Framework
    1. dotNET Framework 1.1 (XP)
    2. dotNET Framework 2.0 (Vista)
  2. MCE OS
    1. MCE XP 2005 Rollup 1: supported (DVRMSToolbox v.
    2. MCE XP 2005 Rollup 2: supported (DVRMSToolbox v.
    3. MCE Vista RC1 Build 5600 (DVRMSToolbox v. l

Commercial Skip Addin

To use you first have to register the skip addin. Registering the addin is akin to "installing" it into Media Center. You can do so by clicking Start > Programs > DVRMSToolbox > RegisterCommercialSkipAddin.

  • Controls (this is configurable)
    • Up Button - Autoskip ON
    • Down Button - Autoskip OFF
    • Right Button - Skip to end of commerical or skip to after the next commercial segment
    • Left Button - Go back to the postion where the last skip occured
    • One Key - Turn off key handling for 30 seconds
  • Compatibility
    • MCE 2005 Rollup 1: supported (
    • MCE 2005 Rollup 2: supported (
    • MCE Vista RC1 Build 5600: supported (



The "Profiles" are flexible, you can change the actions in the included profiles, or create your own using the DVRMSToolboxSettings application. A set of "Profiles", or configured set of actions, is included in the installation package. These include:

  • FindCommercials = nativecommdetect
  • 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

To create a profile: 1) Select "New Profile" from the Settings tool. 2) Name the profile, no spaces or special characters. The name will be used as the file name. 3) Give the profile a description, this is what's displayed in the settings tool 4) add the actions that are needed, by selecting "Add". Actions are processed in the order that they are displayed in the profile box. 5) "Save" the profile

Processing Conditions

Processing conditions (PC) are meta tag criteria used to select a profile when running the application against a DVR-MS file. It is most useful to think about PC in the same way as a meta data based playlist.

Two PC are supplied in the installation; "Processed Files" and "Every File". PC are matched against the meta tags in a DVR-MS in the order that they appear in the Processing Conditions Editor (PCE). Priorty can be set in the PCE by selecting a PC and selecting "Raise Priority" or "Lower Priority".

The list of files processed by the Process Folder function is also maintained in the PCE. Click "Edit File List" to maintain the list.

Most often it is desirable to handle specific shows (or all shows on a specific channel) differently. In this case, a seperate "Processing Condition" should be created. For example, shows that are recorded on PBS do not have commercials, so I do not want them to be processed.

  • Step by step:
  1. Open the PC Editor (ProcessingConditionEditor.exe)
  2. Click on "New Condition"
  3. Enter a description; "Files recorded on PBS", for eg.
  4. Select a profile to use, in this case select "Do Nothing"
  5. Click "Add" to create a meta tag condition
  6. From the first drop down select "WM/MediaNetworkAffiliation"
  7. Select "Contains" from the second drop down
  8. Enter "PBS" in the text entry field
  9. Click "OK"
  10. Click "Save"
  11. Ensure that the "PBS" PC appears after "Processed Files" and before "Every File" in the priority list, if it does not, adjust it using "Raise Priority" or "Lower Priority"
  12. Click "Save"

If you can process single files or directories with no problems, but find that the filewatcher does not activate itself:

  1. Go to dvrmstompegsettings.exe
  2. click File watcher tab
  3. fill in path for DVRMStoMPEG.exe, (C:\program files\DVRMStoolbox\DVRMStoMpeg.exe)
  4. fill in output and input directory

This method allows a profile to be assigned to any condition or series of conditions that can be fulfilled by the meta tags contained on the dvr-ms file.

Installation of DVRMSToolbox + analyze recorded shows for commercial skipping

The instructions will show you how to use DVRMSToolbox to scan your recorded tv shows (upon recording end) for commercials. This way when you play them back, commercials will automatically be skipped.

NOTE: ShowAnalyzer is recognized as the best commercial detection add in around. It's very fast and stable. However, you MUST$$ register or obtain a "trial registration" key for ShowAnalyzer to work; Otherwise, ShowAnalyzer will bomb out with a "ASF file wrapper not supported" error. (DVR-MS is only supported in the registered version of ShowAnalyzer.) If you do not have the registered version, the default profile uses ComSkip to analyze the file for commercials instead.

Instructions based on version

  1. Install dotNET Framework 1.1 (if not already done)
  2. Install Microsoft Windows MCE 2005 Rollup 2 (if not already done)
  3. Install DVRMSToolbox version
  4. You will be presented with the DVRMSToolbox settings window:
    1. Change the "Temp Directory" to c:\Program Files\DVRMSToolbox\Temp, for eg.
    2. Click the "Filewatcher" tab
      1. Change the "Output Directory" to any directory but your recorded tv directory C:\Documents and Settings\All Users\Documents, for eg.
      2. Verify the "Watched Directory" is set to your recorded tv directory, if not, adjust to correct folder C:\Documents and Settings\All Users\Documents\Recorded TV, for eg.
      3. Check the "Cleanup Xml" box
      4. Click on "Save" at the bottom
  5. The ShowAnalyzer package will install, at the end, choose to "Launch ShowAnalyzer Configuration":
    1. Click on Help->Register, enter your name and key obtained from DragonGlobal
    2. Click OK
    3. Scroll down and click the "+" next to DVRMSToolbox
    4. Set the "When to create" option to "When done processing"
    5. Set the "Directory" to C:\Program Files\DVRMSToolbox\CommercialsXml
    6. Click on File->Save All to save the settings
  6. The DVRMSToolbox installation instance will end and request a restart
  7. After restart, run DVRMSToolbox->RegisterCommercialSkipAddin from the Programs menu


  • You can now skip commercials in MCE by using the RIGHT button on your remote.
  • LEFT button returns you to where you started.
  • UP button turns on autoskip.
  • DOWN turns off autoskip.

Note: Only NEW recordings will be marked for skipping. Your old recordings will remain untouched. However since, you are prompted to scan the file if it has not been already.

Processing a single DVR-MS file with a profile

  • Most easily accomplished using the GUI tool
  1. Select the input file
  2. Select the ouput file
  3. Select the "Profile"
  4. Click "Run"
  • 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 an entire 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, then the file is skipped. This application keeps track of the files that it has processed using the "Processed Files" condition so it won't process them again, unless you want it to (this log is editable, you can add or remove files from it).


  • Step 1: Click on "Process Directory" Tab
  • Step 2: Choose the desired input and output folders
  • Step 3: Create a "Processing Condition":
  1. Open up the Processing Condition Editor and select "New Condition"
  2. Name your condition, select a profile, then add meta tag comparisons (like creating a playlist in WMP)
  3. Save the condition and you're all set.
  • Step 4: Click on the "Run" button in the "Process Directory" Tab.
  • Note that all conditions are processed in order of their priority (the order that they display in the Processing Condition Editor) and 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:
  1. "Processed Files": matches files that are output from previous runs so they don't get processed, uses the "Do Nothing" profile.
  2. "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.

Change Log / Download Links

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.


Fixed a bug in how DvrmsCutOutCommercials detects a hung splice
Fixed a bug in the installer


add profile to convert DVR-MS to WMA (uses new DVRMS2WMA action)

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)

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)


- 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)

Name: DumpCommercialsXml
Description: Writes commercials found in FindCommercials to an Xml file (mainly for CommericalSkipAddIn)
Reads Context: Commercials
Writes Context: None
Configure: None

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 (UPDATE)

I messed up the profiles, so for those who already downloaded, 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.


- Fixed a bug in the Commercial Skip Add-In, it will only try to skip while a dvr-ms file is playing now.


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).


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 (Update)

- 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.


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.


- 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.


- 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


- All settings consolidated in the settings tool
- Settings are now stored in the registry
- SA is packaged as the complete install, instead of the individual components.
- double click on actions configuration options that require file or folder input will open file/folder dialogs
- fixed a bug in AsyncProcess class, which could cause cmdline output to not be captured properly

- FW is now a windows service
- FW uses last modified date instead of the queue time for time test

- Create DvrmsEditor project file from commercials action added
- Convert to WMV using Intelligent Connect action added
- Move/Copy/Delete file addin added
- Bug fixed in splicer where last span was not tested for length.
- Fixed localization issue with commercial file generation

Commercialskip add-in:
- add-in will detect the abscence of a commercial file, and prompt for scan
- better extender support added (thanks to jelwood, Olivieri, and jselwood)
- auto skip on/off notifications added (thanks to jelwood, Olivieri, and jselwood)
- Options added for Writing Events, Writing MSAS state, MaxSkipMinutes, SkipBoxMinMinutes, SkipBoxDisplayType, ReloadSettings, PromptScan
- Better error handling
- New MSAS sink, MediaState dependancy removed.
- Added Toub's updated MCEGraph class


- fixed an issue with graph retrival in commercial skip addin (error message prompting to restart MCE from the addin)
- added tooltips to the settings tool
- fixed an issue with MCE specific registy key not existing on non-MCE machines
- fixed localization issue with BUILTIN\Administrators
- commercialsxml and fwjobs path are now configurable
- fixed a bug in dumpcommercials
- modifed findcommercials to work with the new version of comskip
- fixed localization issue with commericals xml files in add-in
- findcommercials will detect registration status of SA, and use comskip if it is not registered or not installed
- added Condition Generator feature to the PC Editor (much easier to create custom PC using common meta tags)
- add autoscan setting to addin
- Folder Processor creates a process per file
- added RunExternal action: runs any external cmd, bat, exe with configured arguments. arguments must be entered in the format argname1=%ContextItem% argname2=%ContextItem% where ContextItem = the name of the item to pull from context. For e.g. /if="%InputFile%" /of="%OutputFile%" will take the values for InputFile and OutputFile from the Context and create the argument list.


- buttons are configurable in the addin
- button to disable button handling was added. will disable button handling for 30 seconds.
- findcommercials action modified to work with live commercial detection
- if a button is handled it will not pass through the press to MCE, this is a change in behavior. previous versions passed through up/down presses.
- "Skip Back Disable" functionality added. this feature will disable autoskip after skipping back, until the postion that the skip back was initiated from has past.

to enable "live" detection of recording tv shows, set the "Wait Time" value to 0 in the settings tool. make sure SA's "Live Detection Delay" is configured to wait an appropriate amount of time. For those of you lucky enough to have dual tuners, it will only process one file at a time. I will be looking into addressing this in the next release.

Version Update

- actions that use OutputFile write the real output file back to the context hashtable
- file actions call the GC 2x to try to remove lingering file handles.
- addin version incremented, will write all settings values.


- fixed a bug when using equals and not equals in a pc
- added copy to ppc action NOTE: will not work with File Watcher when it is run as a service, use winform instead
- brought back the winform version of filewatcher, see above
- major changes to how the filewatcher works, see below
- throttle action, now throttling is independant of the filewatcher and it is configurable to control the number of active instances of dvrmstompeg.exe
- added a process condition test function to the pc editor, select a file and see the pc matched against it
- skip last span option added to dvrmscutoutcommercials action
- added /hideprogress cmdline option, use to hide progress updates
- added options to findcommercials action to set commercial analyzer


- FindCommercials has some added functionality to handle SA hangs
- Only one instance of the FW or FW Service will run
- Changed "Monitor Deletes" behavior. Instead of handling cleanup in realtime, it is now a scheduled process. Frequency and "Watched Folder" inclusion is configured in the settings tool.
- GUI tool is now aware of Semaphore, and will cleanup the lock if DVRMStoMPEG.exe is terminated improperly
- dvrmstoolbox.exe (the folder processing exe) respects /act argument
- fixed a bug in the commercial skip addin that could cause unlimited number of "Cannot skip past end of show" dialogs
- added a missing call to Dispose in the ConvertToWmv action (I had assumed, wrongly, that because dvr2wmv's wrapper had a method "Dispose" that it implemented IDisposable. This should fix "used by another process" issue when using the action.
- renamefile action will remove invalid filename characters
- ShowAnalyzer 0.7.11 included
- Comskip 0.79.53 included

Site Toolbox:

Personal tools
GNU Free Documentation License 1.2
This page was last modified on 26 December 2009, at 16:41.
Disclaimers - About BluWiki