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
+ Reply to Thread
Results 1 to 15 of 15
-
-
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" -
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 -
You could try the Avisynth plugin DVInfo:
http://avisynth.org.ru/docs/english/externalfilters/dvinfo.htm
HTH. -
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 -
Originally Posted by huykin
-
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 -
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 -
Originally Posted by huykin
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. -
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. -
Originally Posted by huykin
John.John Miller -
Originally Posted by huykin
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)
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
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.)
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. -
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 -
Glad to see you got my idea to work.
Originally Posted by huykin
Code:StackVertical(BlankClip(last, height=20).DVInfo(file), last)
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. -
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))
Similar Threads
-
Time/date
By whitek75 in forum EditingReplies: 3Last Post: 10th Mar 2011, 11:50 -
Need Help with Date/Time stamp on Video
By hipcheck41 in forum Newbie / General discussionsReplies: 1Last Post: 4th Nov 2010, 15:21 -
Date/ Time do not appear on my captured videos
By hulmufti in forum Capturing and VCRReplies: 3Last Post: 18th Nov 2007, 10:46 -
Date & Time
By fzf5bl in forum MacReplies: 1Last Post: 8th Nov 2007, 02:48 -
date/time overlay without a stream
By doctorken in forum Newbie / General discussionsReplies: 7Last Post: 12th Oct 2007, 15:44