user10709: Is there any tool that can manipulate / transcode h264 or h265 video streams throwing away approximately half of the frames, without performing a full re-encode?
I'm thinking it would be theoretically possible to preserve motion vectors and such computed data, preserve all I-frames, and just throw away approximately half of the B- and P-frames (possibly adjusting the remaining ones.) The result does not need to be CFR.
Is there a way to do this with ffmpeg? (or any other tool)

user33429: The solution at question " Lower framerate without re-encode " looks promising:
ffmpeg -discard nokey -i input.mp4 -c copy -vsync 0 I-only.mp4

By manpage there should be 5 levels of frame discarding: none, noref, bidir, nokey, all.
I tested this with older ffmpeg 4.2.4 and h265 and it had no effect. Probably not implemented yet.

10709: <p>Is there any tool that can manipulate / transcode h264 or h265 video streams throwing away approximately half of the frames, without performing a full re-encode?</p>
<p>I'm thinking it would be theoretically possible to preserve motion vectors and such computed data, preserve all I-frames, and just throw away approximately half of the B- and P-frames (possibly adjusting the remaining ones.) The result does not need to be CFR.</p>
<p>Is there a way to do this with ffmpeg? (or any other tool)</p>
 33429: <p>The solution at question &quot; <a href="https://video.stackexchange.com/q/21431/33429">Lower framerate without re-encode</a> &quot; looks promising:</p>
<pre><code>ffmpeg -discard nokey -i input.mp4 -c copy -vsync 0 I-only.mp4
</code></pre>
<p>By manpage there should be 5 levels of frame discarding: none, noref, bidir, nokey, all.</p>
<p>I tested this with older ffmpeg 4.2.4 and h265 and it had no effect. Probably not implemented yet.</p>
