MP4 Frame Rate

S4 wrote on 7/12/2013, 11:27 AM
Hello,

I created a NTSC mp4 file using both MainConcept and Sony AVC/MVC and noticed that frame rate shows at 59.94fps on VLC and Quick Time player.

Encoding template is set to 29.97fps. I also checked the spec with Media Info and it shows original frame rate is 29.97fps but frame rate is 59.94fps. Here is the info:

Video
ID : 2
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.0
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 8s 959ms
Bit rate mode : Variable
Bit rate : 1 972 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 59.940 fps
Original frame rate : 29.970 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Bottom Field First
Bits/(Pixel*Frame) : 0.095
Stream size : 2.11 MiB (95%)
Language : English

I also created a file with 23.98fps and 25fps and both of frame rate are also doubled.

Why does Vegas create a MP4 like that? Is there a way not to double frame rate?

I have an alternate encoder to create MP4 and it does not double frame rate.

Comments

musicvid10 wrote on 7/12/2013, 2:14 PM
29.970 interlaced frames per second = 59.940 fields per second.

Same thing.
It's a naming convention, nothing to do with Vegas.

S4 wrote on 7/12/2013, 4:32 PM
Thanks for your reply, musicvid10.

I understand that but why does mp4 file created by Vegas play back like that (59.94 fields per second)?

I created another mp4 files with the same spec (Interlaced) using two different encoders and it plays back at 29.97fps.

Only way I can make it at 29.97fps using Vegas is to set field order to none (progressive).
musicvid10 wrote on 7/12/2013, 6:38 PM
I'll say it another way.
29.970i and 59.940i are exactly the same thing.
There is a metadata tag in the file that is a textual indication of the frame rate. How someone arbitrarily chose to write it is the only thing that is different!

Often, SD is written as 29.970i and HD is designated 59.940i, although there are no laws about that.

29.970p is progressive frames per second, no fields.
S4 wrote on 7/13/2013, 2:10 AM
Like I said, I understand 29.97i and 59.94i are the same. I did not come here to discuss video basics.

My point is, mp4 file made by vegas plays back differently. It plays back at 59.94 field per second, not 29.97 frame per second in a player. Whether a file is progressive or interlaced, it should be played back by frame (two fields at the same time in the case of interlaced file) on a computer monitor.

When I check the picture step by step in QT player, I see the picture is displayed by field, not frame. I confirmed it by adding burn-in TC and TC moved every two frames.

It is not just metadata tag in the file, it actually plays back field by field in a player. That is why frame rate is 59.94.

And again, the mp4 files created by two other encoders play back at 29.97 frame per second, the picture is displayed by frame (two fields at the same time).
PeterDuke wrote on 7/13/2013, 3:29 AM
Computer displays are progressive by nature. How interlaced video is handled is up to the particular media player used. There is no standard way, and players may give you more than one option how to deinterlace the video, but deinterlace it must or you will get jaggies with fast motion..
PeterDuke wrote on 7/13/2013, 3:38 AM
If you think that the 60 fields per second are getting transformed to 120 fields per second (60 frames per second), you could confirm that by loading the video into a 60 frames per second progressive project and stepping through one frame at a time on some fast moving content. You should be able to see the two interlaced fields in each frame moving across in a predictable way. My guess is that you won't see that.
musicvid10 wrote on 7/13/2013, 9:23 AM
"

No. That is all a feature of the individual player, not the file or the computer monitor.
VLC, for instance, does not deinterlace unless you tell it too. "Automatic" deinterlace in VLC has been broken as long as I can remember. Using VLC as an example, here is what you will see with various deinterlace settings:

None = 60 interlaced fields
Blend, Interpolate, Yadif, etc = 30 progressive frames
Bob, Yadif 2x = 60 progressive frames (that's right)

Windows Media Player, otoh, deinterlaces everything by default by blending fields (yuk).
Quicktime Player for Windows has historically been dicey or just plain broken with Windows-produced files, and that is not likely to change. The only reason to have it on your system is that you need the QT libs to decode certain MOV files.

So unless something is broken in the way the header is being read by the player, it either will or won't deinterlace, and the results on your progressive monitor will be different, depending on the player and its settings.

If you'd upload a short example of your source media and suspect render somewhere (not Youtube), I'll be glad to examine them field-by-field, and try it on a number of types of players. Without those files, all one can do is guess at what you're seeing, and whether it is the expected behavior.

There is a small chance that Vegas read the source field order wrong, and encoded [a2-b1, b2-c1, c2-d1], etc., rather than the correct order, which in that case would show a lot of jitter in motion areas. This is not a common error, but it does happen. If so, there is probably an easy fix in media properties.

I doubt that you are getting 60i (29.97) upsampled to 120i (59.94), but I guess stranger things have happened. Awaiting your files.



S4 wrote on 7/15/2013, 7:33 PM
I use the same player(s) and the same settings to compare three mp4 files that were created by three different encoders and the only mp4 file created by Vegas plays back differently. That is my point. I think for the one created by Vegas the metadata tags in the file make the players behave strangely.

Thanks,
musicvid10 wrote on 7/15/2013, 8:54 PM
No mystery.

Your source "was" 24p, with 3:2 pulldown added, and rendered as 60i (29.97) in Vegas. Perfectly normal results considering what we were given. I checked it both in VLC and Vegas. It's little wonder that other encoders may have flagged it differently. All three samples are 29.97 frames, 59.94 interlaced fields.

To play the video correctly at 29.97 in VLC, turn Deinterlace "On" and choose "NTSC (IVTC)" as your Deinterlace Method. Works just like it was designed.

Of course your timecode will not display correctly because it was burned in at 60i, causing a field mismatch with the detelecine. I suspected we weren't getting the whole story . . .

Need more help? Upload the original source clips so we can see what they are and "possibly" advise as to better workflows. The "Telecine" article at Wikipedia is a good place to start.
;?)
S4 wrote on 7/16/2013, 3:04 PM
It does not matter if a source is film or video based. I created a file with both film and video based content and had the same result.

I don't think you are getting my point.

I do not see anything wrong with the file itself. It plays back fine in real time but I just do not like the fact that the file has 59.94 flag in the metadata. Same thing will happen with Interlaced PAL file. "Frame Rate" of 50 will show in media info. This flag makes some of players behave strangely and show information incorrectly.

The other two files I created play back consistently and show information correctly on any players that support MP4 file.

I have never seen NTSC or PAL Interlaced files that show 59.94 or 50 in frame rate information. Even 1080i file, frame rate shows as 29.97fps or 25fps. 59.94/50 are not a number of "Frame", it is a number of field as you mentioned.
musicvid10 wrote on 7/16/2013, 4:32 PM
"Why does Vegas create a MP4 like that? Is there a way not to double frame rate?"
"I understand that but why does mp4 file created by Vegas
"My point is, mp4 file made by vegas
" It
"only mp4 file created by Vegas

Those are all your words, not mine.
Would someone please tell me why I just spent four days trying to explain that it's all the same? [sigh]Now you say,
"I do not see anything wrong with the file itself. It plays back fine in real time but I just do not like the fact that the file has 59.94 flag in the metadata."
"I have never seen NTSC or PAL Interlaced files that show 59.94 or 50 in frame rate information."

Now that you have admitted your video is not playing at the wrong speed, your only lingering issue seems to be understanding that 59.94i and 50i are the most common designations in use. Most HD and some SD use that terminology. Been that way for years, and I don't know how you or I are going to change that, or the impression of ambiguity.

It's just a tag, a naming convention if you will, and not a playback flag; there is a difference (header locations). All three of your video renders are 29.97 frames, 59.940 fields, just as I thought they were four days ago. If there is a player out there that is actually stupid enough to equivocate the two, will you please just tell us which one it is? Or is this all just an absurd excess of speculation?
Oh, and don't play back hard telecined NTSC without pulldown correction.
Best.

http://lfhd.net/2009/02/26/59-94-vs-59-94/

S4 wrote on 7/16/2013, 7:37 PM

Open in a QT player and check step by step. It moves by field. The other two files do not. That is what I mean by the file plays back at 59.94 field rate.

The other two files play back consistently on all of players I tried and showed correct information but the one with Vegas did not.

If I make a file for myself, I do not care about this but because I make files in professional environment, I cannot deliver this file to my client.

My option is then simple. I do not use Vegas to create an Interlaced MP4 file.

Thanks,
musicvid10 wrote on 7/16/2013, 8:09 PM
In truth, the Vegas file plays back much better in Quicktime than either of the other two. Looking at interframe blur and jumpiness in the other files, looks like Vegas is the only one of the three that is being read correctly in QT. You think I wouldn't have checked out these things thoroughly first?

The answer to the latest spin on your question has been thoroughly explained six posts up.

And now it turns out you're a professional? I'm sending you a bill.
;?)

S4 wrote on 7/17/2013, 10:27 AM
That is probably because QT player is decoding Vegas file at 59.94 field rate. Playing back an Interlaced file at frame rate looks blurry and jumpy (especially film based content is more noticeable due to 3:2 pulldown). That is normal.

My question was simple. Is there a way to remove the metadata tag in Vegas so that Vegas file plays back in the same way as the others?

If not, I do not use Vegas to create this particular format.

Thanks,