in

andy vt's tools & blog

automating lazy

This Blog

Syndication

andy vt's blog

September 2007 - Posts

  • Updated DVRMSToolbox For Vista - 1.2.0.9 (Early Access Release)

    Just uploaded an updated version of 1.2.0.9; significant new functionality.  Look at the change log below for details.

    It is important to uninstall the old rev first, this one will not install on top of older revs cleanly. 

    Version 1.2.0.9
    - Added ConvertWithFfmpeg for simplified use of r9976+ Ffmpeg for file conversion
    - Added file cleanup options to the FW
    - Added setting to disable key handling in the addin
    - Added functionality to terminate the addin by pressing a key (D3 by default)
    - Significant changes in key handling and object consumption in the addin, should address performance issues
    - Changed to custom build of Toub.MediaCenter.Dvrms.dll resolved memory allocation problem when splicing on Vista, Title - Subtitle concatenation in new file, and error when copying metadata on non-NTSC content
    - Changed MCEState registration mechanism, should fix registration issues on some machines and x64
    - Updated Mencoder to Version 12
    - Added Profile inheritance feature to settings tool
    - Set tab order in settings tool
    - Updated MemMapFile.dll to version included in Vista MC SDK
    - Added prevent standby option to Processing settings
    - Added Quiet option to ConvertWithFfmpeg
    - Added ConvertWithWMEncoder to advanced actions
    - Fixed a bug in ConvertWithGraph where OutputFile was not set to the file created
    - Added option to disable commercialskipping in the addin
    - Added Video/DVD bookmarking feature to the addin

  • ShowAnalyzer pricing change

    Looks like the price of SA is going to go up to $19.98 (for a year of upgrades) on 10/1/07.  Anyone who buys before then (@$10 w/ unlimited upgrades) will be grandfathered. 

    If you where thinking about using SA long term, better head over in the next few days.

  • Converting DVR-MS to WMVHD

    I've been investigating different ways to convert ATSC HD dvr-ms files to other more efficient formats (MP4) for a few weeks.  The trick, and also the hard part, has been figuring out how to preserve the the surround sound; getting high quality video into a file isn't nearly as difficult.

    One of the formats capable of meeting my requirements is WMVHD.  It's not that different from standard WMV, just higher bit-rates and resolution on the video side, and WMA Pro 5.1 instead of standard WMA for audio.  The problem is that the standard ASF Writer filter (used by most WMV converters, including DVR2WMV) doesn't seem to be capable of connecting to an AC3 audio source filter in DirectShow, even when a conversion profile specifies WMA Pro as the audio codec.  I'd love to get this working btw, as it would dramatically simplify the solution, so if anyone knows how to make this work please let me know.

    So instead of using DirectShow for the WMV conversion we going to use the Windows Media Encoder (WMEncoder).  This isn't a terrible solution, but because it doesn't support dvr-ms files (or at least I couldn't get it to work) the dvr-ms file needs to be "converted" to the mpeg format before this will work. 

    Things you will need before starting:

    • WMEncoder
    • Vista users will want to install this hotfix
    • AC3Filter (I used 1.46 for this, other revs may work)
    • AVIVO (there are other ways to convert to MPG, but this one works really well)
    • GraphEdit (optional)

    The only thing that's tricky to install is the AVIVO codecs.  Unless you want the full application (if you're using non-ATI hw you don't have a choice); after launching the installer and letting it extract the files just cancel out and browse to the ATI folder that should have been created on your system drive.  Drill into the folder until you get to SUPPORT\7-9_vista_xcode_52447\Packages\Apps\AVIVO and execute AVIVO.msi.  It will install the filters you will need.

    First thing that needs to happen is to configure AC3Filter to transform the AC3 audio into 6 channel PCM, so WMEncoder can read the audio and convert it to WMA Pro.  Open up AC3Filter Config, on the main tab select 3/2+SW 5.1 channels from the "Output format" drop down, then click "OK" to save.

     

    Next step is to create a filter graph stub.  Open up GraphEdit and add the "ATI MPEG File Writer" and "ATI MPEG Multiplexer" filters to the graph. 

     

    Configure the "ATI MPEG Multiplexer" mode to "HD MPEG-2", click OK

     

    Your graph should look like this.  Save the file, doesn't really matter what you name it.  I named mine "avivo_mux.grf"; for those who want to skip this step or can't find GraphEdit, I've included the grf file. 

     

    At this point you can either use GraphEdit to "convert" the file or DTB (using the ConvertWithGraph action).  I'm going to use GraphEdit for this but there's not reason you can't automate the process completely using DTB today (it will be significantly easier with the next rev of 1.2.0.9 as an that deals with WMEncoder directly will be included).

    From the File menu select "Render Media File" and select the ATSC file that you'd like to convert.  You may get an error message when you open the file.  Just ignore it, we're not going to try to save the closed captions right now.

     

    The resulting graph should look something like this.

     

    Click play, wait a few minutes for the mpeg to generate.  This should be pretty quick, so don't wander far.  When it's done, don't save the new graph when you exit.  You can reuse the graph stub file created anytime you need to repeat this process. 

    Next open up WMEncoder, select "Convert a File" from the wizard dialog.

     

    Set the source and output files.  The source file is the mpg you just created.

     

    Select File Archive.

     

    Click "Finish"

     

    Go to the session properties and select the "Compression" tab, if the properties aren't displayed select View : Properties Panel from the menu bar.


    Click the "Edit" button

     

    Then "Import" the WMVHD.prx file.


     

    Click "OK" to close the dialog. Then click "Apply" (on the properties window). and "Start Encoding".  Encoding the file will take a long time.  Depending on the profile used, and the speed of your computer. 

    After you're done you can migrate the metadata from the original DVR-MS file using DTB. 

    So now the next question is how to automate that process.  While you can do it today with 1.2.0.8 (or 1.1.0.6) using the convertwithgraph and runexternal, it's not a great solution.  The bat/cmd file that would run to invoke WMEncoder would have to create an WME file that contained all of the settings we selected in the WMEncoder GUI.  Because of this a new action that interacts directly with WMEncoder will be included in the next rev of 1.2.0.9 (it's not available yet), that will work just like the wmv conversion actions.  When I finish that up, I'll publish a profile that encapsulates this process making it really simple for everyone.

  • Better way to share TV on a network

    A few days ago I posted what I thought was a great way to access recorded tv on a network share; it turned out to be not the best idea if you wanted your guide to update. 

    Fortunately, I got some background on why that approach wouldn't work and some insight into some approaches that would from an authoritative source. 

    UseShare is a much less intrusive way to accomplish the same thing (giving the MC services valid network credentials).  It is implemented as a Windows service configured to run with Network Service Credentials which maps shares with NET USE. 

    For this solution I just use the same credentials of the main account on my WMC boxes to save myself the trouble of creating another account.

    After installing browse to the directory where it was installed and open useshare.exe.config.  In the appSettings section add a key for each machine you would like to map a share to.  The value in "value" will get passed directly to NET USE, so everything that is supports will work.  Note that arguments with spaces need to be enclosed in quotes (see the second entry for an e.g.). 

     

    Open up regedt32, browse to HKLM\Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Recording, and add the network path to the shared folder where your tv is stored to the "WatchedFolder" value.

    Either reboot the box, or start the UseShare service and restart "Windows Media Center Receiver Service" and "Windows Media Center Scheduler Service".

    If you're using an extender, you'll want to create a cmd/bat file that does the same thing for your extender user. 

     

  • HD War is swell

    I don't understand why anyone (who's not a CE vendor or Hollywood exec) would assert that the HD format war is bad.  The format war is great for consumers, Toshiba and Sony are opening their wallets to buy adoption.  You can get a standalone HD player for pretty cheep when factoring in the freebies (HD movies) that are bundled with the player.  And for the HTPC based users it's even better, you can get a 360 drive with all of the movies for around $180.  Remember how long it took DVD players to come down to a reasonable ($200) price point?  The first DVD player I bought was close to $250, I don't know how long that was after the format was launched but it was now where near the little over a year mark that we're at with HD-DVD.

  • RemoteRecord and ATSC

    Someone on the Media Center team should really tell the folks over at tv.msn.com (the site that hosts the guide for RemoteRecord) about ATSC channels.
  • ShowAnalyzer 0.9.1

    Jere posted an updated version of SA. 

    0.9.1 11 September 2007

    -Fixed error in legacy settings loader.

    -Fixed incompatability with VideoRedo DVRMS output files.

    -Fixed no writting during live detection.

     

  • DVRMSToolbox For Vista - 1.2.0.9 (Early Access Release)

    Version 1.2.0.9
    - Added ConvertWithFfmpeg for simplified use of r9976+ Ffmpeg for file conversion
    - Added file cleanup options to the FW
    - Added setting to disable key handling in the addin
    - Added functionality to terminate the addin by pressing a key (D3 by default)
    - Significant changes in key handling and object consumption in the addin, should address performance issues
    - Changed to custom build of Toub.MediaCenter.Dvrms.dll resolved memory allocation problem when splicing on Vista, and Title - Subtitle concatenation in new file
    - Changed MCEState registration mechanism, should fix registration issues on some machines and x64
    - Updated Mencoder to Version 12
    - Added Profile inheritance feature to settings tool

    Download 

  • Easier way to share TV on a network

    UPDATE:  This isn't turning out to be as fool-proof as I thought.  For some reason, when ehSched is set to use a different set of credentials it can't download guide data.  Reverting to Network Service makes it work again. 

    I've setup network shares as watched folders in Recorded TV before; and while it's not difficult, it is somewhat tedious to make all of the changes necessary to get it working, especially with Windows Home Server. 

    Fortunately there's an easier way to make it work.  NOTE: I did this with Vista, but there's no reason that I can think of that it wouldn't work with XP too.  Also, I haven't noticed any drawbacks to doing this, but I haven't put a ton of effort into testing it so if something doesn't work don't blame me.  You can always revert back to the "Network Service" account.

    1. Create a local account on your Media Center.  To do this right click on "My Computer" and select "Manage".  Expand the "Local Users and Groups", right click on "Users" and select "New User..."

    2. I named mine WHSUser, but it's not important what the name is. Enter a password (remember this you will need it again), uncheck "User must change password at next logon", check  "Password never expires", then click OK.
    3. Add the user you just created to the administrators group.  NOTE: this is just the easiest way to obtain the correct permission set; I didn't take the time to figure out what files the user needs to have rights too for this to work.  Double click on the user's name to open the properties dialog, select the "Members Of" tab, click add, type in "administrators", click OK.

    4. Open up the services mmc (Start -> Administrative Tools -> Services).  Find the "Windows Media Center Receiver Service" service and open the properties dialog.  Select the "Log On" tab and change the credentials that the service runs under to the account you just created.  Click "OK".  You should get a dialog letting you know that the account has been granted log on a service rights, and another telling you to restart the service.  Restart the service.
    5. Repeat step 4 with the "Windows Media Center Scheduler Service".
    6. Go to the machine that hosts the remote TV share, in my case the WHS box, and add an user account with the same username and password as created earlier.  Also [un]check the same boxes as before.

    7. Open up regedt32, browse to HKLM\Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Recording, and add the network path to the shared folder where your tv is stored to the "WatchedFolder" value.
    8. Reboot the Media Center just to be sure everything takes effect. 
    Alternatively, if you've already setup matching accounts on your remote box (you probably did this if using WHS) just use the main pc account instead of creating a new one as long as the password stays synced, and you're using an administrative account it will work.  The goal is to give ehRecvr and ehSched an account that has real network credentials (the other work-arounds involve relaxing security on your remote machine to allow for null network credentials); as long as the local account has rights on the remote share this will work.
  • Updated Toub.MediaCenter.Dvrms.dll

    UPDATE: Looks like this will only work with the next rev of DTB.  I'm going to see if I can get 1.2.0.9 packaged up tonight. 

    I just published an updated version of Toub.MediaCenter.Dvrms.dll that resolves issues with memory usage on Vista, among other things.  If you're using Vista and seeing obscene memory usage and temporary hangs at the end of a splice drop this version of the dll in your install folder.

    Let me know any issues experienced.

    Thanks. 
  • DVRMS to iPod conversion

    In the comments section of a recent post, Chris Lainer mentions that you can use DVRMSToolbox to convert files for viewing on the iPod.  He didn't mention that, unlike most things with DTB, there is a well documented process doing exactly this. 

    It's actually been available for a long time, and I should have highlighted it publicly a long time ago; Coyote created some profiles and excellent instructions for converting DVRMS files for viewing on an iPod.  Plus he just updated them to include a profile that use ffmpeg for conversion. 

    If you've tried this before but had trouble getting the DirectShow based method working, give it another go.  And the rest of you with an iPod (I'm pretty sure there's only two or three of of us hold-outs left), now that conversion is this easy you should be watching your shows on it.

     

     

     

@2008 andy vt
Powered by Community Server (Non-Commercial Edition), by Telligent Systems