<p>The definition of "29.97" is correctly 30 * (1000 / 1001), which is 29.97002997. That's what you have. I don't know why do you think you need exactly 29.97000, but it's probably a misunderstanding.</p>

CC BY-SA 3.0
2016-10-26T02:27:41.997Z
Thanks for clarifying! In my case, when I inspected the video file I intend to replace with VLC, the media information panel listed it's frame rate as 29.970000, while the file I created to replace it shows up as 29.970030.

[original](http://imgur.com/bCL0Y5V)
-
-
[replacement](http://imgur.com/JuNphS7)
Androbaut
CC BY-SA 3.0
2016-10-26T22:46:31.297Z
Following up, any idea why the exact frame rate these two files report would be different?
Androbaut
CC BY-SA 3.0
2016-10-27T00:25:44.663Z
@Androbaut  No idea. In many cases the "frame rate" is actually stored as the frame interval, the inverse of the rate. So true 29.97 might be stored as 33.36666... (mSec per frame), where 29.970000 would be stored as 33.36670. But that doesn't explain where the error arose. As I said, maybe a misunderstanding on someone's part, a bad assumption that "29.97" meant exactly 29.97. It could also be premature rounding, or carrying a double-precision number as a float, or... something else.
Jim Mack
CC BY-SA 3.0
2016-10-27T00:43:05.283Z
Thanks for getting back to me! So, to settle this once and for all, let's say I make my goal (as quixotic as it may be) to have the video file I rendered show up as 29.970000 when examined in VLC (like the other file I referenced above) instead of 29.970030. Is there a way I might be able to modify the frame interval (from 33.36666 to 33.36670)?
Androbaut
CC BY-SA 3.0
2016-10-27T13:17:39.183Z
@Androbaut  It depends on which codec and container you're using. I don't see any mention of that in your post or comments. If the container is (say) MP4 then you'd need to get the layout of the MP4 header, locate the field(s) that contains this value, and use a binary / hex editor to change the field(s). No change should need to be made to the video data. There may also be tools available to edit the header, like MP4Box or http://mp4ui.sourceforge.net/ or possibly avconv or ffmpeg. Google "video header change frame rate" for more.
Jim Mack
CC BY-SA 3.0
2016-10-26T00:40:56.050Z
2016-10-26T00:40:56.050Z
Jim Mack
<p>This is most likely just a rounding error in the display of a floating point integer. Even if that is not the case, 0.00003 fps is one extra frame every nine and a half hours of video. If the software consuming this file can not handle that, you should change that component, not the encoder.</p>

CC BY-SA 3.0
2016-10-26T00:00:24.597Z
2016-10-26T00:00:24.597Z
SlimSCSI
<h2>I'm working on web project where the position of the user's mouse triggers a video to play forward and backwards.</h2>

<p><b>Here's my problem</b>: The code I'm using to achieve this requires the video file to be exactly 29.97000 fps, but exporting my work from Photoshop/Premiere gives me 29.970030 fps. Re-encoding the video with Handbrake gave me the same result. Currently using OSX 10.11.6.</p>

<p>Is there a way to "force" Adobe Suite Applications/Handbrake to export video @ exactly 29.97000 fps, or do I need to use a more barebones method (VirtualDubMod, AviSynth, ffmpeg, etc) to achieve this?</p>

<p>Any help/advice is much appreciated!</p>

CC BY-SA 3.0
2016-10-26T01:56:21.147Z
If your code literally requires 29.97, then use ffmpeg with the argument `-r 29.97`.
Gyan
<premiere><ffmpeg><mp4><webvideos><adobe-media-encoder>
Convert 29.970030 fps .mp4 to 29.970000
Androbaut
# Convert 29.970030 fps .mp4 to 29.970000

(Asked by: username_0 on 2016-10-25)

## I'm working on web project where the position of the user's mouse triggers a video to play forward and backwards.

**Here's my problem**: The code I'm using to achieve this requires the video file to be exactly 29.97000 fps, but exporting my work from Photoshop/Premiere gives me 29.970030 fps. Re-encoding the video with Handbrake gave me the same result. Currently using OSX 10.11.6.

Is there a way to "force" Adobe Suite Applications/Handbrake to export video @ exactly 29.97000 fps, or do I need to use a more barebones method (VirtualDubMod, AviSynth, ffmpeg, etc) to achieve this?

Any help/advice is much appreciated!

**Tags:** premiere, ffmpeg, mp4, webvideos, adobe-media-encoder

> **Comments:**
> **username_1**: If your code literally requires 29.97, then use ffmpeg with the argument `-r 29.97`.  

---

## 2 answers

### Answer by username_2 on 2016-10-26. Score: 2

The definition of "29.97" is correctly 30 \* (1000 / 1001), which is 29.97002997. That's what you have. I don't know why do you think you need exactly 29.97000, but it's probably a misunderstanding.

> **Comments:**
> **username_0**: Thanks for clarifying! In my case, when I inspected the video file I intend to replace with VLC, the media information panel listed it's frame rate as 29.970000, while the file I created to replace it shows up as 29.970030.  [original](http://imgur.com/bCL0Y5V) - - [replacement](http://imgur.com/JuNphS7)  
> **username_0**: Following up, any idea why the exact frame rate these two files report would be different?  
> **username_2**: @username_0  No idea. In many cases the "frame rate" is actually stored as the frame interval, the inverse of the rate. So true 29.97 might be stored as 33.36666... (mSec per frame), where 29.970000 would be stored as 33.36670. But that doesn't explain where the error arose. As I said, maybe a misunderstanding on someone's part, a bad assumption that "29.97" meant exactly 29.97. It could also be premature rounding, or carrying a double-precision number as a float, or... something else.  
> **username_0**: Thanks for getting back to me! So, to settle this once and for all, let's say I make my goal (as quixotic as it may be) to have the video file I rendered show up as 29.970000 when examined in VLC (like the other file I referenced above) instead of 29.970030. Is there a way I might be able to modify the frame interval (from 33.36666 to 33.36670)?  
> **username_2**: @username_0  It depends on which codec and container you're using. I don't see any mention of that in your post or comments. If the container is (say) MP4 then you'd need to get the layout of the MP4 header, locate the field(s) that contains this value, and use a binary / hex editor to change the field(s). No change should need to be made to the video data. There may also be tools available to edit the header, like MP4Box or http://mp4ui.sourceforge.net/ or possibly avconv or ffmpeg. Google "video header change frame rate" for more.  

---

### Answer by username_3 on 2016-10-26. Score: 1

This is most likely just a rounding error in the display of a floating point integer. Even if that is not the case, 0.00003 fps is one extra frame every nine and a half hours of video. If the software consuming this file can not handle that, you should change that component, not the encoder.


---

