|
|
| ALbino |
| Posted: Oct 27 2014, 06:04 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 101
Member No.: 26983
Joined: 9-February 10

|
So I had a random problem today. I started to export a file and after a few minutes noticed it was still at 1 percent. I killed the process and it had exported over 75,000 images! Turns out that, even though MediaInfo shows the file with a framerate of 23.976, for some reason Virtualdub lists a framerate of 90000 fps. This is not a terrible problem if I'm sitting there babysitting it, and it's likely extremely rare, but if I set a few to run and go to lunch I could fill up my harddrive by the time I got back 
I was trying to think if I could check the framerate before running, but if MediaInfo shows 23.976 I don't think that would work. Maybe adding a timer that kills the process if it doesn't complete after a certain amount of time? I'm not sure. Any ideas? |
 |
| Abrazo |
| Posted: Oct 28 2014, 08:33 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 775
Member No.: 28995
Joined: 5-November 10

|
I would open such a videofile in VirtualDub and look via File > File information..., for which inputdriver-plugin is (automatically) used by VirtualDub, and what is the framerate. If you see that the framerate for that particular kind of videofile and that particular input plugin is totally wrong, then you have two options: - manually convert the video by selecting an alternative input plugin when opening (via "Files of type" in the "Open video file"-dialogbox). - remove the input plugin that causes the problem. So you can run the automated process.
Depending of the type of video, you can choose between the FFMpeg-, DirectShow-, MPEG2-, Matroska-, WMV- and QuickTime-plugin. One of them should probably do the job correctly. |
 |
| ALbino |
| Posted: Oct 28 2014, 08:18 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 101
Member No.: 26983
Joined: 9-February 10

|
Yeah, that's definitely how I would do it if I was going to just normally deal with a video, but the whole idea is to just drop a bunch of videos into the bat file and walk away. Checking every video for a bad framerate would add up really quickly, so I'm hoping to either automate it or just error out any that fail.
Switching decoders is a good idea however. I'm going to give that a try and see if one of them recognizes the correct framerate and if it does then maybe I'll just use that instance of Virtualdub to process the videos. Thanks! |
 |
| dloneranger |
| Posted: Oct 29 2014, 05:44 AM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
I've knocked up a cmdline fps tester for you that sets errorlevel to the files fps is possible (uses mediainfo's dll) https://dl.dropboxusercontent.com/u/1702491.../VidFpsInfo.zip There's an example .bat in there as well
You should be able to add a if fps>50 or if fps=0 test to a script easily eg call :getfps %1 rem eg returns %frHi%=23 %frLo%=976 %fps%=23.976 echo frame rate hi = %frHi% echo frame rate lo = %frLo% echo frame rate = %fps% if "%frHi%" GTR "50" goto TooFastFps
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| ALbino |
| Posted: Oct 29 2014, 06:01 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 101
Member No.: 26983
Joined: 9-February 10

|
Amazing! That's way above and beyond. I'll play with it tomorrow morning, appreciate it! |
 |