I'm processing some mp4 videos taken with my Android phone, using VirtualDub with the XVid codec and filters for deshaking, brightness and contrast, and rotation.
Windows 7 shows the original videos to have a frame rate of 29fps but when I open them in VirtualDub it shows a much higher frame rate (eg. 203.16fps for one of them). Leaving VirtualDub's source frame rate setting as "No change" and saving the output, it produces an AVI file with that same very high frame rate.
MediaInfo shows that the original mp4 videos have a variable frame rate, but the AVI videos have a constant frame rate of 203.16fps.
Is this as bad as it seems?
What should I do different?
MediaInfo output attached.
Thanks in advance.
+ Reply to Thread
Results 1 to 10 of 10
-
-
General note:
Creating an .avi file with aac audio is a really bad idea. Aside from libav I doubt that there is a splitter which would accept such content. so using avi as output container is a bad idea if you wan to keep the aac audio.
Is this as bad as it seems?
What should I do different?
otherwise:
1. don't use Virtual Dub
2. use a tool which can do what you want and at the same time properly handle vfr content and output to mp4 or mkv (or another container that is ment for vfr content).users currently on my ignore list: deadrats, Stears555, marcorocchini -
AVI's aren't capable of Variable Frame Rate, they're all Constant by design. The only way a program can simulate Variable Frame Rate in an AVI is to up the frame rate to a multiple of all the frame rates in use and add null frames in between the real frames to fill in the gaps.
Last edited by ndjamena; 11th Nov 2014 at 05:39.
-
I think that's why the frame rate appears to be so high. It's variable and the frame rate being shown after encoding is the lowest common denominator. The lowest possible constant frame rate after the video is padded with null frames to output a constant frame rate (as AVI only supports CFR). Does the encoded version play at the correct speed? It appears to have the same frame count (less 1) and the same duration as the original.
I'd be tempted to try converting it to a constant frame rate. Depending how variable it is it may be fine, or it might make motion a little less smooth etc, but I'd probably try to convert it to at least a constant 50fps or 60fps. I've no idea how to convert the frame rate with VirtualDub as I don't use it much, but there's a variety of ways to do it via Avisynth. -
Thanks to all. I understand now what it's doing.
I don't specifically want to convert to AVI but that's the only output of VDub. All I want to do is deshake, adjust brightness & contrast and rotate.
I don't mind what format the output is as long as it's fairly common and can play in VLC or WMP.
Maybe Avisynth? I'll have a look -
You can't do aac pass through with the external encoder (only ac3 or mp3 with ffmpeg).
For frame rate, you need to leave it as "no change" under "source rate adjustment" and under "frame rate conversion" select "process all frames" and tick "convert to fps" and choose whatever frame rate you want (23.976, 29.980 or whatever) The top setting controls the speed and the bottom setting controls frame rate or number of frames. -
Re: VirtualDub with variable frame rates
I didn't know Vdub could output other formats so I've been reading up on that. I've spent many hours trying to get it to work but it can't read the audio format.
I've installed Virtualdub FFMpeg Input Plugin as well as QuickTime / MPEG-4 / 3GPP (MOV MP4 M4V M4A QT 3GP 3G2) (by fccHandler) but when I try play the video in Vdub I get the error "No audio decompressor could be found to decompress the source audio format. (source tag: 00ff)".
I thought that one of those would be able to read it. Any suggestions on what to use? -
You need fcchandler's aacacm codec and fcchandler's Quicktime plugin (might as well download everything by fcchandler since you will need them at some point using Virtualdub). Set ffdshow vfw config to use libavcodec for h264/avc. This can be done either in ffdshow software or under> Video > Compression > ffdshow video codec > configure > Codecs in Virtualdub.
aacacm (ac3acm and lameacm) will need to be installed. Not just placed in the plugins folder.Last edited by DarrellS; 17th Nov 2014 at 13:16.