Today's version of MCVideoRedoer is a fairly major change. I've implemented a ton of useful stuff, which warrants additional explanation and documentation. Aside from getting said documentation done (as part of a big project to build better documentation for the whole suite), it is essentially feature-complete now. There are three major new features:
1. Auto Profile
The typical purpose of using MCVideoRedoer is to use the profiles built into VideoReDo to automate the transcoding of your TV Recordings to a more suitable format for long-term storage (or, perhaps, to transcode a new copy for use on mobile devices, reduce file size, and for other similar purposes). The biggest problem with this is that, if you want to do a transcode in VideoReDo that does not re-encode the video (an "Ingelligent Reencode" as VideoReDo puts it), you must pick a profile that matches the original codec of the source file.
Essentially, to get a fast (and non-lossy) transcode, you have to use one of the MPEG2 profiles for MPEG2 sources, and one of the H.264 Profiles for H.264 sources. That's a big problem if you are using MCVideoRedoer from the command line in an automated fashion (spawned by MCAutoQueue, for example), since you need to specify a profile by name on the command line for MCVideoRedoer, but your script has no (easy) way to tell what kind of video is inside that source file.
The new, special Auto Profile solves this problem. If you choose this special profile, MCVideoRedoer will automatically select the output profile for you based on the source file in question and the following simple rules:
* MPEG2 Content will be exported using the default MPEG2 Program Stream profile (.mpg).
* H.264 Content will be exported using either the default H.264 MP4 profile, or the H.264 Matroska MKV profile, at your choice.
You can choose which specific H.264 export profile to use for Auto Profile mode under the new Advanced Settings button. Please note that this will fail if you've removed any of these profiles from VideoReDo. MVVideoRedoer defaults to using the H.264 MP4 profile because it is a "required, non-removable" profile in VideoReDo, while the MKV profiles can be deleted easily. If you manually change to MKV mode, just ensure that you have a profile called exactly "H.264 Matroska MKV" in your list of profiles (as it is by default) and it will be selected and used.
Like any other profile, this can be chosen in the drop down in the GUI or specified on the command line by using the normal profile flag:
--profile="Auto Profile"
2. QSF First Mode
Another handy capability of VideoReDo is to do a fast "just fix the streams" export of the source file type export, which they call QuickStreamFix (QSF). Their documentation is a bit vague, but essentially this is just exporting a file using the proper "matching codec" (very similar to the Auto Profile mode described above). The only difference between doing a QSF on a source file and actually opening it and choosing a profile to save manually is that QSF mode uses a special way to open the files which minimizes parsing and pre-processing (to limit errors to a bare minimum) before it does the Export.
This is typically useful for source files with very bad timecode errors. These "bad files" are sometimes created by certain encoders and capture devices, particularly DVB tuners in Europe (and the rest of the world) and ATSC/QAM tuners in the States. In many cases, MC will be able to play the original source files without issue, but if you try to transcode them (using VideoReDo itself, or more commonly, something like Handbrake or MC's transcoding engine) they will get all messed up, with missing hunks, inaccurate seeks, and bad timecodes during playback.
QSF First Mode attempts to fix this, in an automated and behind the scenes fashion. Essentially, it opens the source file using this special "QSF Batch Mode" in VideoReDo, then selects an appropriate export profile based on the codec of the source, and saves it out to a "fixed" TS file. It does this into a temporary directory, and then after it completes, the new TS File "becomes" the source, and processing resumes from the beginning and your output is created.
This, obviously, has two costs: Time (as it requires two transcodes, even though at least one of them will be "Ingelligent" and does not require re-encoding the video stream itself), and disk space (as it has to store this TS file while it does the final output. By default, the temporary storage location is in your current user's regular "temp" folder provided by Windows. If you want to move it elsewhere, you can select any folder you'd like under the new Advanced Options dialog. This file is temporary, though. It is saved with a randomly generated filename, and is deleted when the "real encoding pass" completes. Basically, I'd only move it if you are very space limited on your C drive or you have other similar issues.
3. AdScan Mode
This is the biggest change, so I saved the best for last.
VideoReDo includes a very powerful, and quite accurate, AdDetective feature. This, much like comskip, does a scan through the source video and tries to find commercials. However, VideoReDo does not provide an automated way to export an EDL or Chapters list in their API, so there is no way to save these detections as "chapters" currently (you can do this in the GUI, but it doesn't work in their automation interface). And, unfortunately, while the ad detection scheme is quite good, it isn't 100% accurate, so if you automate the actual cutting process without a human going "eyes on" with the file, you could end up with a poorly edited video.
However, if you do want to actually bother to look at it with your eyes and then cut and remove the commercials, this will enable a very simple-to-use workflow for manually checking them before saving them out and having new ad-free versions created and imported into MC.
When you enable AdScan mode in MCVideoRedoer, what it does is this:
1. It opens the source file and performs an AdDetective scan on the file. This will mark the suspected commercials it finds with "scene markers".
2. It then saves this information out to a VideoReDo Project file (.VPrj).
3. It then imports this VPrj file into MC, and clones the metadata from the original source file over onto the new VPrj file (even though this VPrj is imported as a "Document Media Type" in MC, this works fine). It also adds the new VPrj file as a stack with the existing source file.
You can then:
4. Have a smartlist that finds all the VPrj files in your Library, and go through them at your leisure to verify that the ads it detected are actually ads, and make sure it didn't miss anything. You can just double click on the VPrj files in MC to open them in VideoReDo (so long as they are properly associated on your system).
5. Then, when you are satisfied, just save them with VideoReDo.
6. Reprocess those same VPrj files through MCVideoRedoer, and it will do a "normal pass" on them, saving to your selected exporting profile, and cutting out any marked ads.
This should make the task of commercial cutting quite simple and as painless as is possible. You'll have an automatically filling "queue" of work in MC, and as you finish them, you can just add a MCAutoQueue NeedsProcessing flag that sends them back to MCVideoRedoer next time it is scheduled to run (in the middle of the night or whatever). Just like with any source file, MCVideoRedoer can clone, stack, or replace the VPrj file in your library with the new output file, and remove the VPrj from disk when it is done if you'd like.
I should also note, that in "step 1" above, VideoReDo has two different "ways" it can "pre-mark" these ads. You can have it just add scene markers to the VPrj file (which are like saved edit points, but which don't tell VideoReDo to actually do anything when it is re-encoding the file for export), or you can have them pre-marked as Cut Points (this is called AutoCut). AutoCut does not actually delete sections of the files, it simply "prepares" the VPrj file more fully. I'd recommend you enable this option for this mode, which you can do under the Advanced Options dialog. If you prefer to run VideoReDo in "Scene Mode" or you have some other established workflow, then you may want to leave AutoCut disabled.
You can enable this special AdScan Mode in MCVideoRedoer by using the new --adscan flag on the command line, or by checking the box in the GUI before hitting the "process" button. Unlike the other options in MCVideoRedo, this one does not persist between runs (it can't be the default mode), so your best bet is to use the command line argument.
Lastly, I added a neat trick to MCVideoRedoer that if you try to do an AdScan Mode run using a source file that is already a VPrj, it will assume you are done with it, and actually export the file instead (essentially, auto-disabling AdScan Mode if the source is a VPrj file). This should make it simpler to set up the processor in MCAutoQueue, as you can just have one entry for MCVideoRedoer, including the -adscan flag, and it'll do the right thing depending on the source file.
So, let me know what you think! I think this adds a lot of power to MCAutoQueue for automating processing of TV Recordings. I hope someone out there finds it useful, as I worked pretty hard on it, and I'm quite pleased with the results.