x264/libav - detected input framerate for raw H.264/AVC
Hello!
I am currently doing 2-pass encodes with target bitrates instead of CRF (because file size matters to me). There is just some small detail that bugs me.
What I transcode mostly is H.264 elementary streams. It seems x264 (or rather: libav?) cannot detect their frame rate. Is there no fps value in the header of H.264/AVC streams? It will always assume 25fps in such cases, while other elementary streams can be identified correctly, like some older DivX/XviD for instance.
Since the bitrate value is kbit/second, x264 would invest far too much if the actual fps would be something like 50p or 60p or maybe 30000/1001p or 60000/1001p instead of the assumed 25p.
Of course I could just pack every stream into an MKV container with the correct fps value in its header, which works perfectly fine! But it's a bit of extra work.
Thing is: Can't I just tell x264 what kind of input framerate I have, to invest bitrate correctly per time unit without an additional step? I tried the --fps option, but that's just for output framerate, doesn't seem to affect the bitrate invested at all.
There seems to be no --input* option that can do this? Or can I do something with --input-fmt? I guess no, but I don't really understand how to use --input-fmt yet, which's why I'm asking.
Thanks!
__________________
Proud owner of a 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700 prototype
No RISC, no fun!
|