user-1: 
I wish to change just the framerate of a VP9 encoded webm file.
The source file has a framerate of 1000 FPS, and I'd like to change it to 30 FPS, without affecting the video/audio in any other way.
I'm a completely blank slate at video encoding/editing. No prior experience/knowledge
Google had no answers for me

Questions:

Is there a way to do it? I'm using Ubuntu 14.04
Will lowering the framerate mean lowered CPU usage?


user9105: This has come up before for other codecs / containers.
This DOESN'T work in ffmpeg without transcoding, since ffmpeg unfortunately isn't set up for messing with timestamps on non-decoded frames.
I think you should be able to do it with this (untested):
mkvmerge --default-duration 0:30fps  in.webm -o out.webm
Where 0 is the track-id of the video track.  Check the man page for mkvmerge for more details.  Note that it says that --fix-bitstream-timing-information is only implemented for h.264 currently, so your output will have a vp9 stream that probably still says it's 1000 fps, but the container will have frame timestamps at 30fps.  Players almost always use container presentation-timestamps, though.
If there is audio with the video, I assume it's the right length for the video being 30fps?  Otherwise that's a big stretch needed...

-1: <ul>
<li>I wish to change just the framerate of a VP9 encoded webm file.</li>
<li>The source file has a framerate of 1000 FPS, and I'd like to change it to 30 FPS, without affecting the video/audio in any other way.</li>
<li>I'm a completely blank slate at video encoding/editing. No prior experience/knowledge</li>
<li>Google had no answers for me</li>
</ul>

<p>Questions:</p>

<ol>
<li>Is there a way to do it? I'm using Ubuntu 14.04</li>
<li>Will lowering the framerate mean lowered CPU usage?</li>
</ol>
 9105: <p>This has come up before for other codecs / containers.</p>

<p><a href="https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video" rel="nofollow">This DOESN'T</a> work in ffmpeg without transcoding, since ffmpeg unfortunately isn't set up for messing with timestamps on non-decoded frames.</p>

<p>I <em>think</em> you should be able to do it with this (untested):<br>
<code>mkvmerge --default-duration 0:30fps  in.webm -o out.webm</code></p>

<p>Where <code>0</code> is the track-id of the video track.  Check the man page for mkvmerge for more details.  Note that it says that <code>--fix-bitstream-timing-information</code> is only implemented for h.264 currently, so your output will have a vp9 stream that probably still says it's 1000 fps, but the container will have frame timestamps at 30fps.  Players almost always use container presentation-timestamps, though.</p>

<p>If there is audio with the video, I assume it's the right length for the video being 30fps?  Otherwise that's a big stretch needed...</p>
