I've been transcoding with VLC now for at least 4 years, and I too have tried and failed
to find a way to get a variable-framerate input file to convert to a fixed-frame rate.
[ I too use the cmd-line method in VLC to transcode. And I use the cmd-line pgm 'mediainfo'
to look at any given video-container to see all the meta-data values.]
Note: If VFR, then mediainfo shows a framerate 'mode' line and 3 value lines...a min and a
max and the nominal value, but if it's FFR, then
there's no specific 'mode' shown...just a single nominal floating-point value for the framerate.
Ok, there IS a VLC parameter of --sout-transcode-fps='<float>'
So, last nite I stumbled upon an answer.
The 'trick' is to choose a value DIFFERENT from what mediainfo
nominal value shows! So, if mediainfo shows fr=23.976, and max and min of
some slightly diff values, do NOT choose the value 23.976. If
you do, it still comes out variable. You gotta choose something
else! (As to how-much different...who knows! More damn trial-and-error
tests to figure that out. Sigh.)
[Fwiw, I've been choosing a somewhat higher value of 30.0 in my transcode
cmd-line, which of course will make the file-size somewhat larger, than
an input of only 23.976, but I got no problem there.]
The remaining PROBLEM is that there really needs to be an explicit way to
ask for either fixed or variable mode. The problem now is that you must
to LOOK at every input file (e.g. to be sure the variable nominal value is not
already your chosen 30.0). My input files can be of various container-types, codecs, and
framerates, and I'd much prefer to NOT have to even look at what 'mode' each
file is already in, and the value(s)...I just want to specify a fixed-framerate value
and a mode and transparently get the desired result.
Hope this is helpful...
Slim
![geek :geek:](./images/smilies/icon_e_ugeek.gif)
HINT: My common VLC-usage is to transcode (via 'sout') to add on-screen 'Marquee' info,
and for that, I still use VLC v2.0.5, since marquee metadata-expansions ($-symbols) work there.
[ The VLC-version 2.x code beyond 2.0.5 remains 'broken' for that marquee functionality, tho there IS
an open and accepted bug-report on that...i.e. ticket #9514 ]