VideoHelp Forum




+ Reply to Thread
Results 1 to 15 of 15
  1. Member
    Join Date
    Jul 2002
    Location
    United States
    Search Comp PM
    What's the best way to see the recording date/time of a DV file when played in MPC or WMP? I want to do that on the fly, that is without first creating subtitles or burning date/time into the video.

    So far I found only one solution with Enhanced DV Decoder. It's not bad and can display info beyond date/time in a cool way, but it replaces the default MS DirectShow DV decoder with its own, which seems to degrade video quality to some extent and does not display video according to its display aspect ratio. (SD DV is played with its 3:2 SAR instead of its 4:3 DAR. MS decoder doesn't have this issue.) So I would like to know if there are other/better solutions.

    Thanks
    Quote Quote  
  2. Member Safesurfer's Avatar
    Join Date
    Mar 2004
    Location
    United States
    Search Comp PM
    You could try the Enosoft DV Processor as a go between.
    "Just another sheep boy, duck call, swan
    song, idiot son of donkey kong - Julian Cope"
    Quote Quote  
  3. Member
    Join Date
    Jul 2002
    Location
    United States
    Search Comp PM
    Thanks for the suggestion, but I don't think Enosoft DV Processor would help me more than Enhanced DV Decoder that I mentioned before. Both are from Enosoft and seem to use the same DV decoder, so the Processor has the same issues with aspect ratio and video quality as the Decoder. (The Aspect Ratio Conversion option in the Processor is for dealing with 16:9 source, and doesn't help with proper display of 4:3 video on a wide computer screen.) Besides I am not sure if the Processor can be used as a DirectShow playback filter in MPC or WMP. (The Decoder can.) I tried the Virtual DV Renderer feature of the Processor, but WMP can't use a DV device as input for playback, and while MPC has Open Device option and Enosoft Virtual DV Source shows up in the list, MPC crashes if I select it.

    I guess I should use Enhanced DV Decoder with ffdshow resize options to correct the aspect ratio (as well as deinterlace and enhance colors), and accept any potential video quality degradation compared to the default MS DV decoder.

    Any other ideas anybody?

    Thanks
    Quote Quote  
  4. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    Quote Quote  
  5. Member
    Join Date
    Jul 2002
    Location
    United States
    Search Comp PM
    Thanks for the suggestion. I tried DVInfo, but have some questions:

    1. I had to manually hard code in Avisynth script the name of the DV file used by DVInfo for extracting the date/time code. I am looking for a simpler set up, ideally double click on a DV file in Windows Explorer to have it play in MPC-HC with DVInfo enabled. Any suggestions?

    2. Using ffdshow Avisynth filter has some benefits over using AVS files, but when using DVInfo from ffdshow, the date/time code seems independent of the video, so if video is paused or scrolled forward/backward, the code doesn't change accordingly. (When using DVInfo from an AVS file, the code stays in sync with video.) Is there a way to use DVInfo from ffdshow and have the date/time code stay in sync with video?

    3. When DVInfo is used from ffdshow, the date/time code can be turned on and off while video is playing in MPC-HC, by enabling/disabling the Avisynth ffdshow section. But ffdshow route has the sync issue mentioned above, and seems to slow things down significantly so real time processing becomes problematic. Is there an easy way (keyboard shortcut or 1-2 mouse clicks from MPC-HC would be best) to turn DVInfo date/time stamp on and off while playing an AVS file with DVInfo in MPC-HC? I would also appreciate suggestions on speeding up DVInfo use from ffdshow.

    This is my first experience with Avisynth, so sorry if some of these questions are very basic or silly.

    Thank you
    Quote Quote  
  6. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by huykin
    1. I had to manually hard code in Avisynth script the name of the DV file used by DVInfo for extracting the date/time code. I am looking for a simpler set up, ideally double click on a DV file in Windows Explorer to have it play in MPC-HC with DVInfo enabled. Any suggestions?
    One possibility that comes to mind is to write a batch file that creates the appropriate Avisynth script in a temporary file (using echo, etc) and then invokes MPC-HC to open the script. You would then associate .avi files with this batch file as an additional program that can be selected by a right-click menu in Explorer. (When the batch file is invoked, the filename will be passed in as parameter %1.)
    Quote Quote  
  7. Hi,

    WMP co-operates with the MS DV decoder (in some undocumented way) to adjust the playback to appear correct. However, the MS decoder does what all other DV decoders do, namely output a 720 x 480 (or 720 x 576) bitmap. What happens to it is at the beck and call of the program using the decoder. If you use a different DV decoder and/or a different media player, you'll get the wrong display aspect ratio unless the media player can be configured to display at custom ratios.

    For our DV processor, there is no decoder in the traditional sense. It does everything in the compressed format and leaves all the additional information in the AVI headers perfectly intact. At no stage is the incoming DV ever decompressed to a bitmap. It's a case of DV in, DV out. Now, you can use the DV processor to play the video in a window and you can stretch that window in both horizontal and vertical positions. A file captured with the DV processor will play correctly with WMP if you use the MS decoder. You can capture your video and add the time/date at the same time but this is permanent. I'm not sure if you are looking for adding the time/date just at playback.

    John.
    John Miller
    Quote Quote  
  8. Member
    Join Date
    Jul 2002
    Location
    United States
    Search Comp PM
    Thanks, John

    Yes, I am looking for DV date/time display at playback of already captured DV files (SD NTSC DV), on the fly without "burning" data into video or creating subtitles, played full screen in MPC-HC (or WMP) so I can use ffdshow for deinterlacing and other enhancements. Enosoft Enhanced DV Decoder seems more appropriate than Enosoft DV Processor for this.

    The aspect ratio is not such a big deal, as I found that I can force the correct aspect ratio in MPC (Video Frame - Override Aspect Ratio).

    The main issue with Enhanced DV Decoder for me now is that video decoded with the Decoder has visible artifacts not seen with the default MS DirectShow DV codec. I can post some screen captures for comparison if anybody would like to see. It would be great to combine the speed and features of the Decoder (which otherwise is a great program) with DV decoding by the MS or another better DV codec, or simply by whatever is the dedault DirectShow or VFW DV decoder on the computer.

    I am currently evaluating 3 options:

    1. Enosoft Enhanced DV Decoder - would be best solution if not for the mentioned video quality issues.

    2. DVInfo Avisynth plugin - several usability issues described in my post above would need to be addressed for this to be a working solution for me.

    3. SRT subtitle files - very robust, but have to pre-process video to create subtitles (for example using DVdate or DV_DateCode). If the issues with Enhanced DV Decoder and DVInfo discussed in this thread cannot be addressed, I'll go the subtitle route.

    Thank you
    Quote Quote  
  9. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by huykin
    2. DVInfo Avisynth plugin - several usability issues described in my post above would need to be addressed for this to be a working solution for me.
    Have you looked into my suggestion of a batch file?
    You can do the deinterlacing and aspect ratio correction directly in the Avisynth script, avoiding the need to use the ffdshow filter and so eliminating sync problems between it and DVInfo.

    BTW, I can recommend the Cedocida VfW DV codec.
    Quote Quote  
  10. Member
    Join Date
    Jul 2002
    Location
    United States
    Search Comp PM
    Thanks, Gavino

    It's been a lo-o-ong time since I wrote BAT files. If you are familiar with those, can you please provide a sample script for your suggestion?

    Do you see a way to do something similar (dynamic file name) when using DVInfo through the ffdshow Avisynth filter?

    Also do you see a way to turn the date/time display on and off while video is playing when using DVInfo through an AVS file?

    While yadif bob deinterlacing is available in both Avisynth and ffdshow, the ffdshow implementation is significantly faster on my machine. (I guess ffdshow has some optimization not present in Avisynth.) Using yadif bob in full screen together with DVInfo is pushing the limit of my computer's ability to play in real time, so speed is a factor.
    Quote Quote  
  11. Originally Posted by huykin
    The main issue with Enhanced DV Decoder for me now is that video decoded with the Decoder has visible artifacts not seen with the default MS DirectShow DV codec. I can post some screen captures for comparison if anybody would like to see. It would be great to combine the speed and features of the Decoder (which otherwise is a great program) with DV decoding by the MS or another better DV codec, or simply by whatever is the dedault DirectShow or VFW DV decoder on the computer.
    Please do post some examples.

    John.
    John Miller
    Quote Quote  
  12. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by huykin
    It's been a lo-o-ong time since I wrote BAT files. If you are familiar with those, can you please provide a sample script for your suggestion?
    Well, it's been a long time for me too, but I'll give it a shot.

    First of all, create the Avisynth script that will do the real work - you probably already have this, or something like it:
    Code:
    AviSource(file)
    DVInfo(file)
    Let's say this file is stored as "C:\somefolder\dvinfo.avs".

    What is missing is the value of the variable 'file' - this is where the batch file comes in.
    It creates a second, temporary, script, which sets the file variable from the parameter passed to it, and invokes the first script via the Avisynth Import command. It then calls MPC to open the script, displaying the selected file and the DV info.
    Code:
    echo file=%1 >%TEMP%\dvinfo2.avs
    echo Import("C:\somefolder\dvinfo.avs") >>%TEMP%\dvinfo2.avs
    mplayerc %TEMP%\dvinfo2.avs
    The final step is to associate .avi files with the batch file.
    You probably don't want all AVI files to run DVInfo when double-clicked, that's why I suggested making it an additional right-click association. (In Explorer, select the menu Tools -> Folder Options -> File Types, then change the "Advanced" settings for the .AVI extension.)

    Do you see a way to do something similar (dynamic file name) when using DVInfo through the ffdshow Avisynth filter?
    The above scheme could be altered so that the batch file writes just the "file=..." line to a fixed filename, and invokes MPC on the video file (ie %1). Then change your ffdshow script to 'Import' the written file before calling DVInfo.

    Also do you see a way to turn the date/time display on and off while video is playing when using DVInfo through an AVS file?
    I don't think it's possible to alter the behaviour of DVInfo while it's playing.

    While yadif bob deinterlacing is available in both Avisynth and ffdshow, the ffdshow implementation is significantly faster on my machine. (I guess ffdshow has some optimization not present in Avisynth.) Using yadif bob in full screen together with DVInfo is pushing the limit of my computer's ability to play in real time, so speed is a factor.
    Unfortunately, DVInfo itself is rather slow, as internally it invokes the Subtitle filter on every frame.
    Quote Quote  
  13. Member
    Join Date
    Jul 2002
    Location
    United States
    Search Comp PM
    John (regarding Enhanced DV Decoder): Please take a look at the attached images for an example of superior video quality of MS DV decoder vs. EDVD. A frame is captured in MPC-HC (without deinterlacing or other ffdshow processing) with EDVD enabled and disabled, the latter defaulting back to the MS codec. These were simple-resized to 200% in IrfanView to closer resemble full screen playing. Look at the baby's forehead, it's much cleaner with MS. EDVD shows a grid (particularly corners) of 8x8 pixel blocks, while MS practically doesn't. While the difference may not seem dramatic on these stills, it is very noticeable when video is played in full screen, where that annoying grid of blocks is seen with EDVD, but is not seen with MS.

    Gavino (regarding DVInfo): Thanks a lot, works like a charm! I simplified the BAT a bit by getting rid of the permanent file and import, but had to include the path to MPC. I also used DirectShowSource instead of AviSource (both work, but I prefer the MS DirectShow DV codec instead of VFW DV codecs), and deleted the temp AVS file in the end:

    echo DirectShowSource(%1) > temp.avs
    echo DVInfo(%1) >> temp.avs
    "C:\Program Files\MPC-HC\mplayerc" temp.avs
    del temp.avs

    For ffdshow I didn't need the 1st line, and had MPC call the DV file directly as you suggested:

    echo DVInfo(%1) > temp.avs
    "C:\Program Files\MPC-HC\mplayerc" %1
    del temp.avs

    Then I activated Avisynth in ffdshow with a single line script:

    Import("temp.avs")

    Both ways work, but... The AVS way I can't turn the date/time stamp on and off while video is playing. And ffdshow way the date/time stamp is not in sync with video if I scroll video forward/backward or start playing from the middle (I use the MPC option of playing the file from where I closed it before). Also DVInfo from ffdshow seems particularly slow, MPC shows only ~45fps instead of required 60fps (with bob deinterlacing) on my Core 2 Duo laptop.

    edvd%20vs%20ms.png
    Quote Quote  
  14. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Glad to see you got my idea to work.
    Originally Posted by huykin
    Also DVInfo from ffdshow seems particularly slow, MPC shows only ~45fps instead of required 60fps (with bob deinterlacing) on my Core 2 Duo laptop.
    Here's a trick I just thought of to speed it up. Instead of DVInfo(file), use
    Code:
    StackVertical(BlankClip(last, height=20).DVInfo(file), last)
    You might think this would slow it down, but despite the extra code it's actually a lot faster because it's writing the text on a much smaller clip. This should work with both methods (AVS or ffdshow).
    It does increase the clip height by 20 pixels though, but this might not matter for viewing purposes.
    You might even see it as an advantage that the text does not cover up the video content.
    Quote Quote  
  15. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Here's an another alternative that is also much faster, but preserves the original layout:
    Code:
    StackVertical(Crop(0,0,0,20).DVInfo(file), Crop(0,20,0,0))
    Quote Quote  



Similar Threads

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