Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-05T11:42:03.983Z
Answers.LastActivityDate: 2018-09-05T11:42:03.983Z
Answers.UserDisplayName: Gyan
Body: <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>
  
Tags: <ffmpeg><encoding><framerate>
Title: Problem setting different framerates with FFmpeg map option
UserDisplayName: internaute
ThreadText: # 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`
  
  
  ---
  
  