FPS value of written output files vary between formats in "copy" mode

Started by karl, May 05, 2012, 05:52:09 PM

Previous topic - Next topic

karl

I tried writing different output formats, with "copy" for both video and audio.

Input is a 1920x1080p AVCHD file with 23.976 frames per second.

In the "File"/"Information" window, avidemux says the files frame rate was 47.952 (which is twice the real one)  ???. Replay and editing works fine - using the correct frame rate.

When I use "Save" to write using the "MP4v2" muxer, the resulting file has the correct frame rate according to "mplayer":
VIDEO:  [H264]  1920x1080  24bpp  23.976 fps  90469.6 kbps (11043.7 kbyte/s)
When I open the .mp4 file avidemux wrote again with avidemux, it displays an odd frame rate in the "File"/"Information" window: 24.750 fps.  :o

When I use "Save" to write using the "Mkv" muxer, the resulting file has a slightly odd frame rate - according to "mplayer":
VIDEO:  [H264]  1920x1080  0bpp  23.917 fps    0.0 kbps ( 0.0 kbyte/s)
When I open the .mkv file avidemux wrote again with avidemux, it displays 47.952 fps in the "File"/"Information" window.

Very strange... now I wonder whether all these tools are just making wild guesses on the frame rate, or where all these inconsistencies come from. I guess I need to write and replay really big files to find out whether these odd values will cause actual trouble (in terms of de-synchronization, playback stutter and such).

Jan Gruuthuse

My guess if using HDTV: progressive or interlaced like 720p, 1080i, 1080p, ... ads up to the confusion? p are double rated?

mean

mp4 has 2 ways of having a timeframe :
* Strict fps
* Each frame has its own time

Avidemux uses the 2nd one, so the average fps is not really used

jfx

Why is the resulting FPS incorrect? This might cause problems when converting to other formats depending on the exact FPS value. A simple test confirms this:

TS 50fps -> MP4 24.9fps
MP4 24.9fps -> AVI 24.9fps
MP4 24.9fps -> MKV 24.9fps

TS 50fps -> AVI 50fps

TS 50fps -> MKV 50fps

Should not the FPS value be always set to the original FPS value to prevent this problem? If the FPS value is not used by MP4 decoders, this should not cause any additional problems.