I am trying to export my project and sequence to the final video format for distribution, which ideally would be H.264, however, after reviewing the resulting MP4 video in MediaInfo, I am concerned that it exhibits a Variable Frame Rate. The variables being Min 29.97fps and Max 30fps. To my knowledge most film distributors require video submissions to have a constant frame rate, and yes, I realize I could use Handbrake to achieve this in post production, but I would like to know if this is how all H.264 codecs currently process video with VFR. I say this, because I have some older MP4 videos that I previously created through PP CS5, and they are reported to have a constant frame rate by MediaInfo. Yet, all my exports to H.264 from PP CS6 have a Variable Frame Rate. Any help would be appreciated, I have been experimenting with all of this for 5 weeks and I can't afford any more time being lost. Thank you
+ Reply to Thread
Results 1 to 30 of 122
-
-
Your file should be 29.97 fps constant.
You can try two things:
1. remux to mkv.
2. use the Fix framerate function of clever FFmpeg-GUI.
Both are fast and maintain quality (streamcopy).
[Attachment 77146 - Click to enlarge] -
Like I say, Handbrake does a fine job of converting Variable Frame Rate to Constant for H.264 without loss of quality, but I am still wondering if I am missing something in terms of the H264 codec. In other words, has it been modified over the years to allow for exports to constant frame rates. I should also mention that the film distributor is limited to the codecs it accepts, that being ProRes 422, DNxHD and H264. To be fair, it may accept the variable frame rate I describe given that it is very small between 29.97 and 30 fps, but I am still interested in knowing if more current H264 codecs encode in CFR. This would resolve allot of problems, albeit I have read that a constant frame rate can actually reduce the quality for H264 videos.
-
All versions of Premiere should output CFR . Even if you import VFR video , it will export CFR because it will conform all assets to the sequence settings (an they are all CFR)
Maybe you mixed up the files, or a buggy mediainfo version (Try updating)
I have older exports from CS4,5,6 , CC 2015,2018,2023...etc.. all CFR -
Yes, if I export to MPEG 2, DNxHD, XDCAM EX and AVI etc, it is Constant Frame Rate. Exporting to H.264 however results in Variable 29.97 to 30 fps every time, and yes I am using the latest MediaInfo. I have read that H.264 does in fact encode to VFR, which surprised me, because I have H264 files exported from PP CS5 that are constant. With CS6 I get this:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings : CABAC / 3 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 3 frames
Format settings, GOP : M=3, N=18
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1 min 39 s
Source duration : 1 min 39 s
Bit rate : 25.1 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 29.970 (30000/1001) FPS
Minimum frame rate : 29.970 FPS
Maximum frame rate : 30.000 FPS
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.405
Stream size : 297 MiB (99%)
Source stream size : 297 MiB (99%)
Language : English
Encoded date : 2024-02-18 17:27:13 UTC
Tagged date : 2024-02-18 17:27:13 UTC
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
mdhd_Duration : 99199
Codec configuration box : avcC -
Newer ones are 100% definitely CFR.
Your file is High@L5.1, when it really shouldn't be for 1920x1080p29.97 with 3 reference frames , it might have something to do with it, it should have been High@L4.1 by default . That will cause problems for certain older hardware
If you don't feel like upgrading to CC, you can install old version of voukoder to get CFR out of CS6 , and a better AVC encoder to boot - x264
It's probably not really VFR - because premiere doesn't export VFR - but jitter in the timestamps, perhaps a timebase issue . You can make it CFR to mediainfo with mp4fpsmod - it doesn't reencode -
Thank you very much for your suggestions poisondeathray, I'm learning some good information from you. I tried resetting the Level to 4.2, which is the default for 1920X1080, whereas 4.1 changes the dimensions by default to 1280x720 at 59.94fps. The results using Level 4.2 are the same in terms of VFR, and the reference frames are again set to 3 automatically. If I choose Main instead of High for format, the reference frames are set to 4. There's no way of setting the reference frames manually with the H.264 codec in CS6, so 3 is the lowest we can go by selecting High for format. If it is timestamps, I'm not sure if there's something I can do about that, but I've tried many exports from different videos both from the timeline and direct exports and it's always VFR. I will definitely look into mp4fpsmod. If it doesn't re-encode, does that mean it will be super-fast. Handbrake does an excellent job of converting to CFR using the Lossless settings, but it is painfully slow. I will also look into Voukoder, never heard of it.
-
Also, is there a portable version of mp4fpsmod. I'm not interested in command line solutions at this point.
-
Yes, mp4fpsmod is fast, and commandline only - you can batch process a folder for example, and it has option to do in-place editing as well (instead of stream copying a 2nd file, but the latter is "safer" if you're paranoid)
If you're not interested in commandline, look at upgrading to CC, or voukoder. (This doesn't help if you had previous exports you want to "fix", only for future use or if you want to re-export a project, and it will be slower )
You should be able to demux, remux with mp4box or lsmash commandline or GUI's as well. This would be faster than re-encoding but slower than mp4fpsmod -
poisondeathray, I just discovered some things while doing further experiments. All of the 1080p mp4 files I have been using for my experiments were from sequence exports that contained both 1080 clips as well as 480 upscaled clips. This would explain the Variable Frame Rate to some extent. I discovered this after exporting a sequence that contained on 1080p clips and the exported file was reported as having a Constant Frame Rate. So you're absolutely right poisondeathray, that PP CS6 normally exports to CFR, just like CS5 did. So then I did more experiments today, because I still don't understand why this is happening given that I used Handbrake on the Videos containing upscaled clips to convert them to CFR, before placing them back into the 1080 sequence. Bearing in mind that MediaInfo reported that they now have a Constant Frame Rate. With that in mind, the subsequent Exports to H.264 should have been CFR, but they were back to having VFR. Interestingly, I also tried exporting only a small portion of a clip that was recoded with Handbrake, from the 1080p sequence and it was reported to have a constant frame rate. Then exporting the full clip from the sequence, the result was VFR. Obviously Handbrake did not do a good enough job of recoding the mp4 to CFR if one portion exports to Constant but the full clip exports to Variable. This is literally driving me crazy. I figured all I had to do was to export the 480 segments to XDCAM EX HQ, or Uncompressed AVI which MediaInfo reads as CFR, then use those files in my project, but no, those clips will result in VFR when I export the timeline to H.264. That makes it even more bizarre. In other words, if I place an XDCAM MXF file in the timeline (containing upscaled content) that MediaInfo considers to be CFR and export it to H264, the result will be VFR 29.97 to 30 fps.
-
It shouldn't - because all the assets should conform to the sequence settings (and at CFR)
I discovered this after exporting a sequence that contained on 1080p clips and the exported file was reported as having a Constant Frame Rate. So you're absolutely right poisondeathray, that PP CS6 normally exports to CFR, just like CS5 did. So then I did more experiments today, because I still don't understand why this is happening given that I used Handbrake on the Videos containing upscaled clips to convert them to CFR, before placing them back into the 1080 sequence. Bearing in mind that MediaInfo reported that they now have a Constant Frame Rate. With that in mind, the subsequent Exports to H.264 should have been CFR, but they were back to having VFR. Interestingly, I also tried exporting only a small portion of a clip that was recoded with Handbrake, from the 1080p sequence and it was reported to have a constant frame rate. Then exporting the full clip from the sequence, the result was VFR. Obviously Handbrake did not do a good enough job of recoding the mp4 to CFR if one portion exports to Constant but the full clip exports to Variable. This is literally driving me crazy. I figured all I had to do was to export the 480 segments to XDCAM EX HQ, or Uncompressed AVI which MediaInfo reads as CFR, then use those files in my project, but no, those clips will result in VFR when I export the timeline to H.264. That makes it even more bizarre. In other words, if I place an XDCAM MXF file in the timeline (containing upscaled content) that MediaInfo considers to be CFR and export it to H264, the result will be VFR 29.97 to 30 fps. -
Thank you for that additional information poisondeathray. Unfortunately for now, I am strapped financially. Just turned 65 and my income has dropped to poverty level. Have documentaries to finish that I had to abandoned many years ago due to life setbacks.
-
I will now concentrate on my comment: "Obviously Handbrake did not do a good enough job of recoding the mp4 to CFR if one portion exports to Constant but the full clip exports to Variable." Had it done a good job, the files would work just like my regular 1080p files. Instead, PP is reading these recoded files differently which is prolonging the problem. I'm going to take a break for the rest of the night. It's been a tough day all around.
-
Well, more experiments and more failures. There seems to be no way to truly change the underlying structure of these MP4 files that contain the upscaled 480p 4:3 segments to be recognized by Premiere Pro as having a Constant Frame Rate. I have tried Handbrake, TMPGEnc and My MP4Box GUI to convert to CFR, and although it satisfies MediaInfo, it does not satisfy Premiere. So if I use the converted MP4 in another 1080p sequence and export again to MP4 I'm back to having a video with a Variable Frame Rate. Another day lost. I believe I'm up to 7 weeks lost now. Very discouraging, because I need a solution for my multi-episode documentary, almost all of which needs to be converted from 480p to 1080p. I am at a complete loss.
-
The simple answer is mp4fpsmod
Or try voukoder
Or try frameserving out of PP using advanced frameserver and use another encoder - this bypasses the intemediate export step
Something might be broken in your CS6 install, you can try re-installing it too
Also check that your imported files are read correctly in the project panel, not some off frame rate . You can interpret the framerate there . e.g. A true VFR file at the import stage would show some "off" frame rate like 29.67 or something instead of 29.97 . If the import was supposed to be CFR, and it's "broken" at the import stage you can interpret to 29.97
And if you have to , export uncompressed AVI , then use something else like handbrake or whatever tool . Better than wasting a week in which you could have finished already -
Thank you for the reply, I will try voukoder, but I doubt that it's PP, because I reinstalled it recently and it works fine with everything else, always has. It always exports to Constant Frame Rate with files that were originally 1080i or 1080p. I can't afford to invest time in learning mp4fpsmod. I've done my time doing things that no creator should have to do, bearing in mind I started working on computers in the 80s when everything required in depth technical knowledge. I've suffered 3 serious brain injuries in recent years and so I go easier on myself these days. My time is better spent creating.
I also tried MeGUI and it seemed to be processing, but no output file. Others have experienced this as well.
If it was just a couple of files, I'd just live with it, but we are talking huge numbers of files that need to be properly upscaled and converted. All of the tools so far including Handbrake are simply changing something to simulate a CFR but not actually changing the structure to conform to PP's interpretation of CFR. Clearly this is what is happening.
Hopefully voukoder will work, but I have to do some research on this plug in cause I don't want to waste more time re-installing Premiere if it messes things up.
thanks again. -
As a point of interest for people reading this thread, Premiere Pro does not offer a way to set the number of reference frames for H.264 exports. It only allows the user to set the key frame distance. The reference frames used is set automatically according to the Profile we select as per the following:
Baseline@L4.1 results in M=1, Main@L4.1 results in M=4 and High@L4.1 results in M=3.
My immediate instinct would be to choose Baseline because I've always been told to keep the reference frame below 3 for best results. However, choosing Baseline over the more efficient High Profile could actually reduce quality, at least according to one commentor who wrote: CABAC entropy coding uses Main and High and is more efficient than CAVLC coding used in the Baseline profile. It is also computationally more intensive. Thus, if you give the encoder a certain bit rate to spend, it'll be able to create a better quality video with CABAC than with CAVLC because it achieves much better compression.
I don't know how true this is, but I do know that CABAC is the norm these days, so I don't think it would be wise to choose Baseline just to achieve a reference frame value of 1. I'm not technical enough to know for sure, but that's my hunch. -
UPDATE: I have not yet tried Voukoder, because I want to exhaust all possibilities of resolving the problem at the source before doing so, in an attempt to avoid using non-native codecs in Premiere Pro. The source of the problem is in the AVI file itself, and I don't know how many of my DV AVI files are affected by this problem because I've been focusing on just a few. As it turns out, these problem files have a few Timecode Breaks in them that creates slight audio/video sync issues that are not even noticeable when viewing-listening the videos, but are enough of a nuisance to cause havoc with the export codecs. In the case of the H264 codec, it subsequently exports to VFR, but even the other codecs are affected by this problem even though the frame rate is not reported as being variable. It also is not being reported as being constant for these. I know this, because if I re-export these files back out to H264 the resulting file will be VFR. Yet, any other file of these other codecs would export to H264 with a Constant Frame Rate. So the question then is, how do we repair these AVI files with the timecode breaks once and for all. Note: these breaks supposedly occur at the camera level by a sudden power shut down etc, and this gets coded into the tape and it gets transferred to the avi file during capture. I have tried a number of small transcoders and GUI's to try and repair these breaks including MPEG Streamclip, WinFF, Handbrake etc, and none have been able to completely cure these files. Yes, the resulting files may have been modified enough to convince MediaInfo that they now have a constant frame rate, but if you re-export them from Premiere, we are back to square one. So in the end, not one program has properly addressed these timecode breaks. I have a couple of older programs I need to try, but if anyone has other suggestions on how to fix these AVI files, I would appreciate your input. thanks
-
- I'd check Dvdate, it was useful back then
- how about export to DVavi from Premiere and import them again, or some other app
If you have project edited already just replace old DV avis for the new fixed DVavi files, not sure what Premiere uses for it. If you have DV avis chopped in clips, then you have to fix them in a batch and then force Premiere to read them (same names) from different directory, or you replace them. -
Thank you for the suggestions Al. I have tried re-exporting the problem clips and/or the sections back to DV AVI, but that didn't fix the problem. I will try Dvdate next, but at this point I have my doubts about resolving this, which I find ridiculous because I know I'm not the first person to experience an old AVI file having these timecode breaks. Under normal circumstances, I wouldn't worry about this, given that these videos play perfectly. In fact I've used a few of them in other projects and didn't even know there was a problem. In this case however, my projects are going to a new distributor that has very strict criteria for video submissions. I've already had my final video refused once, and they only give you three chances before refusing the documentary outright. So that's how I discovered the variable frame rate, and I am concerned that simply using handbrake or My MP4Box to fool MediaInfo into thinking it has a Constant Framerate may backfire. The distributor doesn't offer any guidance for these things. Anyway, thanks again.
-
Hi ProWo,
Are you looking for the AVI that is causing the exports to h264 to have a variable frame rates or the exported h264 that subsequently has the variable frame rate. Bear in mind that the AVIs that have the timecode brakes that are causing the problem are considered to have a constant frame rate. -
Also, cutting it out could be tricky, because I failed to write down the exact frames that bear the timecode breaks. I believe it was MPEG Streamclip that provided that information. If I don't cut out the right section, then you won't see the problem. In other words, if I were to export a portion of the AVI that is clean with no breaks to H264, the result is Constant Frame Rate. This is crucial information for technical experts.
-
If could you share a small example of the generated output file, that would be great. I'm curious to check how the actual timestamps differ from the expected values.
-
Hi ivanb, I will do that as well thanks. This may take some time, I need to leave for part of the day.
-
Hello people,
It was Winff that identified the problem parts of the AVI file, not MPEG Streamclip. I just ran it through again to identify the frames I need to cut out for you all to look at: Reported as:
Frame=28531 fps=170 q=2.0 size = 504016kb time=00:15:53.02
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=69
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=64
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=66
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=64
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=65
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=71
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=64
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=65
Last message repeated 1 times
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=64
Last message repeated 1 times
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=66
[dvvideo @ 041bc2c0] AC EOB Marker is Absent pos=64
Last message repeated 2 times
Frame=28620 fps=170 q=1.6 size = 505318kb time=00:15:55.92
So I need to include frames 28531 through 28620, but I will include additional frames on either side as well. -
Here's the original AVI File that we are working with:
General
Count : 349
Count of stream of this kind : 1
Kind of stream : General
Kind of stream : General
Stream identifier : 0
Count of video streams : 1
Count of audio streams : 1
Video_Format_List : DV
Video_Format_WithHint_List : DV (Sony)
Codecs Video : DV
Audio_Format_List : PCM
Audio_Format_WithHint_List : PCM
Audio codecs : PCM
Audio_Channels_Total : 2
Complete name : C:\Users\Tay Young\Desktop\Upscaling Test using Corel Video\LinusHearty2.avi
Folder name : C:\Users\Tay Young\Desktop\Upscaling Test using Corel Video
File name extension : LinusHearty2.avi
File name : LinusHearty2
File extension : avi
Format : AVI
Format : AVI
Format/Info : Audio Video Interleave
Format/Extensions usually used : avi
Commercial name : AVI DVCPRO
Commercial name : DVCPRO
Format profile : OpenDML
Format settings : BitmapInfoHeader / PcmWaveformat
Internet media type : video/vnd.avi
Interleaved : Yes
File size : 4309054320
File size : 4.01 GiB
File size : 4 GiB
File size : 4.0 GiB
File size : 4.01 GiB
File size : 4.013 GiB
Duration : 1141909
Duration : 19 min 1 s
Duration : 19 min 1 s 909 ms
Duration : 19 min 1 s
Duration : 00:19:01.909
Duration : 00:19:01;29
Duration : 00:19:01.909 (00:19:01;29)
Overall bit rate mode : CBR
Overall bit rate mode : Constant
Overall bit rate : 30188425
Overall bit rate : 30.2 Mb/s
Frame rate : 29.970
Frame rate : 29.970 FPS
Frame count : 34223
Stream size : 861752
Stream size : 842 KiB (0%)
Stream size : 842 KiB
Stream size : 842 KiB
Stream size : 842 KiB
Stream size : 841.6 KiB
Stream size : 842 KiB (0%)
Proportion of this stream : 0.00020
Recorded date : 2008-09-28 09:10:14 UTC
File creation date : 2024-02-11 04:31:11.000 UTC
File creation date (local) : 2024-02-10 23:31:11.000
File last modification date : 2024-02-26 22:50:09.909 UTC
File last modification date (local) : 2024-02-26 17:50:09.909
Video
Count : 390
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
ID : 0
ID : 0
Format : DV
Format : DV
Commercial name : DVCPRO
Commercial name : DVCPRO
Internet media type : video/DV
Codec ID : dvsd
Codec ID/Hint : Sony
Duration : 1141909
Duration : 19 min 1 s
Duration : 19 min 1 s 909 ms
Duration : 19 min 1 s
Duration : 00:19:01.909
Duration : 00:19:01;29
Duration : 00:19:01.909 (00:19:01;29)
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 24417183
Bit rate : 24.4 Mb/s
Encoded bit rate : 28771229
Encoded bit rate : 28.8 Mb/s
Width : 720
Width : 720 pixels
Height : 480
Height : 480 pixels
Pixel aspect ratio : 0.889
Display aspect ratio : 1.333
Display aspect ratio : 4:3
Frame rate mode : CFR
Frame rate mode : Constant
Frame rate : 29.970
Frame rate : 29.970 (30000/1001) FPS
FrameRate_Num : 30000
FrameRate_Den : 1001
Original frame rate : 29.970
Original frame rate : 29.970 (29970/1000) FPS
FrameRate_Original_Num : 29970
FrameRate_Original_Den : 1000
Frame count : 34223
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:1:1
Chroma subsampling : 4:1:1
Bit depth : 8
Bit depth : 8 bits
Scan type : Interlaced
Scan type : Interlaced
Scan order : BFF
Scan order : Bottom Field First
Compression mode : Lossy
Compression mode : Lossy
Bits/(Pixel*Frame) : 2.357
Delay : 0
Delay : 00:00:00.000
Delay : 00:00:00;00
Delay : 00:00:00.000 (00:00:00;00)
Delay_DropFrame : Yes
Delay, origin : Stream
Delay, origin : Raw stream
Time code of first frame : 00:37:38;25
TimeCode_DropFrame : Yes
Time code source : Subcode time code
Stream size : 4106760000
Stream size : 3.82 GiB (95%)
Stream size : 4 GiB
Stream size : 3.8 GiB
Stream size : 3.82 GiB
Stream size : 3.825 GiB
Stream size : 3.82 GiB (95%)
Proportion of this stream : 0.95305
Encoding settings : ae mode=full automatic / wb mode=automatic / white balance= / fcm=manual focus
Audio
Count : 285
Count of stream of this kind : 1
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 0
StreamOrder : 1
ID : 1
ID : 1
Format : PCM
Format : PCM
Commercial name : PCM
Format settings : Little / Signed
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Codec ID/Url : http://www.microsoft.com/windows/
Duration : 1141908
Duration : 19 min 1 s
Duration : 19 min 1 s 908 ms
Duration : 19 min 1 s
Duration : 00:19:01.908
Duration : 00:19:01.908
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 1411200
Bit rate : 1 411.2 kb/s
Channel(s) : 2
Channel(s) : 2 channels
Sampling rate : 44100
Sampling rate : 44.1 kHz
Samples count : 50358143
Bit depth : 16
Bit depth : 16 bits
Delay : 0
Delay : 00:00:00.000
Delay : 00:00:00.000
Delay, origin : Stream
Delay, origin : Raw stream
Delay relative to video : 0
Delay relative to video : 00:00:00.000
Delay relative to video : 00:00:00.000
Stream size : 201432568
Stream size : 192 MiB (5%)
Stream size : 192 MiB
Stream size : 192 MiB
Stream size : 192 MiB
Stream size : 192.1 MiB
Stream size : 192 MiB (5%)
Proportion of this stream : 0.04675
Alignment : Aligned
Alignment : Aligned on interleaves
Interleave, duration : 28.98
Interleave, duration : 967
Interleave, duration : 967 ms (28.98 video frames)
Interleave, preload duration : 966
Interleave, preload duration : 966 ms
Similar Threads
-
Amarectv and frame rates
By Traderbam in forum Capturing and VCRReplies: 16Last Post: 13th Sep 2023, 10:21 -
What is the best lossless codec for editing in Adobe Premiere Pro?
By jsj2251 in forum EditingReplies: 20Last Post: 25th May 2022, 09:41 -
Confused about frame rates
By ChasVideo in forum Newbie / General discussionsReplies: 1Last Post: 19th Jul 2021, 11:05 -
Premiere Pro CS6 crashing - is Nvidia video card to blame ?
By Bansaw in forum Newbie / General discussionsReplies: 3Last Post: 9th Mar 2020, 17:04 -
Hertz and frame rates
By mauricio vega in forum Newbie / General discussionsReplies: 3Last Post: 3rd Feb 2020, 11:11