ffmpeg inject timecode AND framerate

7,520

Your command, if shown correctly, has its syntax wrong.

...-vf -r 29.97... <-- this is setting the framerate flag as the argument to the video filter option. 29.97 then gets interpreted as the output filename.

The other thing is that the image seqeunce is being interpreted as 25 fps (by default) and so even if your command worked, your output would have duplicated frames and would be 16% slower.

Instead, set the input as 29.97 or 30000/1001 to be exact,

ffmpeg -framerate 30000/1001 -i /INPUT/FILE/SEQUENCE_%04d.jpg -c:v prores -profile:v 0 -c:a mp2 -timecode 09:08:52:00 /OUTPUT/FILE.mov
Share:
7,520

Related videos on Youtube

Peter Timberlake
Author by

Peter Timberlake

Updated on September 18, 2022

Comments

  • Peter Timberlake
    Peter Timberlake almost 2 years

    I'm trying to inject a start timecode to a video, while also forcing a framerate of 29.97, but no matter what framerate I enter (no matter where in the script, via -r 29.97), ffmpeg forces the framerate to 25fps. I also tried fps=29.97, but my understanding is that 'fps=' is depreciated. Here's the command I'm running:

    ffmpeg -i /INPUT/FILE/SEQUENCE_%04d.jpg -vf -r 29.97 -vcodec prores -profile:v 0 -c:a mp2 -timecode 09:08:52:00 /OUTPUT/FILE.mov

    I've tried what seems like every combination of these tags, and no matter what, I'm getting 25fps. Anyone ever dealt with this?

    Thanks in advance.