<p><code>-vf</code> does not accept stream specifiers. You can use e.g. <code>-filter:v:1</code> for that.</p>

<p>However, you need not use the fps filter at all; output <code>-r</code> will do.</p>

<p><code>ffmpeg -i input_60fps.mov -map 0:v -map 0:v -c:v libx264 -crf 23 -s:v:0 640x360 -r:v:0 30 -s:v:1 1920x1080 -f mp4 out.mp4</code></p>

CC BY-SA 4.0
2018-09-05T11:42:03.983Z
2018-09-05T11:42:03.983Z
Gyan
<p>I am facing a problem to set video streams framerates with FFmpeg when using the map option.</p>

<p>Here is what I want to do:</p>

<p>Given an input video file of 60 fps, I want to generate an output file containing two video streams: one with 60 fps (as the source) and the other with 30 fps (half the source's framerate).</p>

<p>I executed this command: </p>

<pre><code>ffmpeg \
  -i input_60fps.mov \
  -map 0:v \
  -map 0:v \
  -crf:v:0 23 
  -c:v:0 libx264 \
  -s:v:0 640x360 \
  -vf:v:0 fps=fps=30/1 \
  -crf:v:1 23 \
  -c:v:1 libx264 \
  -s:v:1 1920x1080 \
  -vf:v:1 fps=fps=60/1 \
  -f mp4 \
  out.mp4
</code></pre>

<p>This gave me the wanted output file but with streams of 60 fps!!</p>

<p>Am I missing something? I did many tests, I am wondering if FFmpeg has a problem to set different framerates when using the <code>-map</code> option!!</p>

<p>Waiting for your help! Thank you … </p>

<ffmpeg><encoding><framerate>
Problem setting different framerates with FFmpeg map option
internaute
# Problem setting different framerates with FFmpeg map option

(Asked by: username_0 on 2018-09-05)

I am facing a problem to set video streams framerates with FFmpeg when using the map option.
Here is what I want to do:
Given an input video file of 60 fps, I want to generate an output file containing two video streams: one with 60 fps (as the source) and the other with 30 fps (half the source's framerate).
I executed this command: 
ffmpeg \
  -i input_60fps.mov \
  -map 0:v \
  -map 0:v \
  -crf:v:0 23 
  -c:v:0 libx264 \
  -s:v:0 640x360 \
  -vf:v:0 fps=fps=30/1 \
  -crf:v:1 23 \
  -c:v:1 libx264 \
  -s:v:1 1920x1080 \
  -vf:v:1 fps=fps=60/1 \
  -f mp4 \
  out.mp4

This gave me the wanted output file but with streams of 60 fps!!
Am I missing something? I did many tests, I am wondering if FFmpeg has a problem to set different framerates when using the -map option!!
Waiting for your help! Thank you …

**Tags:** ffmpeg, encoding, framerate


---

## 1 answers

### Answer by username_1 on 2018-09-05. Score: 1

`-vf` does not accept stream specifiers. You can use e.g. `-filter:v:1` for that.

However, you need not use the fps filter at all; output `-r` will do.

`ffmpeg -i input_60fps.mov -map 0:v -map 0:v -c:v libx264 -crf 23 -s:v:0 640x360 -r:v:0 30 -s:v:1 1920x1080 -f mp4 out.mp4`


---

