<blockquote>
  <p>Note: This is for recent FFmpeg, not FFmbc, which doesn't use the same option syntax (yet)</p>
</blockquote>

<p>You need to use the <code>-profile:v</code> option, which has been introduced in FFmpeg 0.9 (afaik) and is now standard in 1.0.</p>

<pre><code>ffmpeg -i input.mp4 -c:v libx264 -preset fast -profile:v baseline out.mov
</code></pre>

<p>Why? <code>-profile</code> was used (and prioritized) for AAC encoding. It's simply ambiguous, therefore you need the stream specfier <code>:v</code>.</p>

CC BY-SA 3.0
2012-12-20T06:12:37.167Z
that's for ffmpeg, ffmbc hasn't moved to the newer "-vprofile" style syntax yet.
stib
CC BY-SA 3.0
2012-12-20T06:19:49.093Z
You're right. Back when I wrote this FFmpeg was about to change the whole thing and everything was a little confusing. +1 to you.
slhck
CC BY-SA 3.0
2011-12-22T21:21:30.263Z
2012-12-20T06:18:49.590Z
2012-12-20T06:18:49.590Z
slhck
<p><code>-profile baseline</code> seems to work for me, using libx264. I use the libx264 presets - for example "slow" gives me the options listed below. there's fast, slow, veryslow and placebo (might be more, can't remember).</p>

<pre><code>stib$ ffmbc -i test.mov -vcodec libx264 -preset slow -profile baseline -acodec libfaac -ab 96k -crf 19 test.mp4
...
[libx264 @ 0x101858c00] profile Constrained Baseline, level 3.1
[libx264 @ 0x101858c00] 264 - core 120 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=0 ref=5 deblock=1:0:0 analyse=0x1:0x111 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=crf mbtree=1 crf=19.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test.mp4'
</code></pre>

CC BY-SA 3.0
2012-02-07T12:21:55.890Z
2012-02-07T13:37:15.797Z
2012-02-07T13:37:15.797Z
stib
<p>I also had this issue.  I removed the extra space chars present in preset file and it worked for me.</p>

CC BY-SA 3.0
2012-04-16T13:06:59.227Z
2012-04-16T13:10:40.273Z
2012-04-16T13:10:40.273Z
cb24
<p>To set the baseline profile us the following ffmpeg options. Mobile apps like Neighboors by Ring use baseline profile.</p>

<p>ffmpeg -i in_video.mp4 -vcodec libx264 -acodec aac -b:a 256k -vf scale=1280:720 -profile:v baseline out_video.mp4</p>

CC BY-SA 4.0
2019-10-24T18:41:55.157Z
2019-10-24T18:41:55.157Z
thewordsmith
<p>I am using <a href="http://code.google.com/p/ffmbc/" rel="nofollow">FFmbc</a> (a FFmpeg derivative) to transcode some video files to H264 (in a mov wrapper).</p>

<p>I want to specify baseline profile (to reduce CPU usage) but can't figure out how.
There doesn't seem to be a simple option to specify this - I understand the profile is derived from whatever options I have specified.</p>

<p>However <a href="http://sonnati.wordpress.com/2011/08/19/ffmpeg-%E2%80%93-the-swiss-army-knife-of-internet-streaming-%E2%80%93-part-iii/" rel="nofollow">most examples</a> are for FFmpeg and FFmbc rejects them.</p>

<p>The suggestion to use "-flags2 +bpyramid+wpred+mixed_refs-dct8x8" gives the errors:</p>

<pre><code>[NULL @ 0x101093600] [Eval @ 0x7fff5fbfce20] Undefined constant or missing '(' in 'bpyramid'
[NULL @ 0x101093600] Unable to parse option value "bpyramid+wpred+mixed_refs-dct8x8"
[NULL @ 0x101093600] Error setting option flags2 to value +bpyramid+wpred+mixed_refs-dct8x8.
</code></pre>

<p>What am I missing here?</p>

<ffmpeg><transcoding>
How do I specify baseline H264 profile using FFmbc?
Darren Greaves
# How do I specify baseline H264 profile using FFmbc?

(Asked by: username_0 on 2011-11-14)

I am using FFmbc (a FFmpeg derivative) to transcode some video files to H264 (in a mov wrapper).
I want to specify baseline profile (to reduce CPU usage) but can't figure out how.
There doesn't seem to be a simple option to specify this - I understand the profile is derived from whatever options I have specified.
However most examples are for FFmpeg and FFmbc rejects them.
The suggestion to use "-flags2 +bpyramid+wpred+mixed_refs-dct8x8" gives the errors:
[NULL @ 0x101093600] [Eval @ 0x7fff5fbfce20] Undefined constant or missing '(' in 'bpyramid'
[NULL @ 0x101093600] Unable to parse option value "bpyramid+wpred+mixed_refs-dct8x8"
[NULL @ 0x101093600] Error setting option flags2 to value +bpyramid+wpred+mixed_refs-dct8x8.

What am I missing here?

**Tags:** ffmpeg, transcoding


---

## 4 answers

### Answer by username_1 on 2011-12-22. Score: 6

Note: This is for recent FFmpeg, not FFmbc, which doesn't use the same option syntax (yet)

You need to use the -profile:v option, which has been introduced in FFmpeg 0.9 (afaik) and is now standard in 1.0.
ffmpeg -i input.mp4 -c:v libx264 -preset fast -profile:v baseline out.mov

Why? -profile was used (and prioritized) for AAC encoding. It's simply ambiguous, therefore you need the stream specfier :v.

> **Comments:**
> **username_2**: that's for ffmpeg, ffmbc hasn't moved to the newer "-vprofile" style syntax yet.  
> **username_1**: You're right. Back when I wrote this FFmpeg was about to change the whole thing and everything was a little confusing. +1 to you.  

---

### Answer by username_2 on 2012-02-07. Score: 4

-profile baseline seems to work for me, using libx264. I use the libx264 presets - for example "slow" gives me the options listed below. there's fast, slow, veryslow and placebo (might be more, can't remember).
username_2$ ffmbc -i test.mov -vcodec libx264 -preset slow -profile baseline -acodec libfaac -ab 96k -crf 19 test.mp4
...
[libx264 @ 0x101858c00] profile Constrained Baseline, level 3.1
[libx264 @ 0x101858c00] 264 - core 120 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=0 ref=5 deblock=1:0:0 analyse=0x1:0x111 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=crf mbtree=1 crf=19.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test.mp4'


---

### Answer by username_3 on 2012-04-16. Score: 0

I also had this issue. I removed the extra space chars present in preset file and it worked for me.


---

### Answer by username_4 on 2019-10-24. Score: 0

To set the baseline profile us the following ffmpeg options. Mobile apps like Neighboors by Ring use baseline profile.

ffmpeg -i in\_video.mp4 -vcodec libx264 -acodec aac -b:a 256k -vf scale=1280:720 -profile:v baseline out\_video.mp4


---

