[FFmpeg-user] FFMPEG encoding for H264 Baseline 3 Profile

Jim Worrall coniophora at gmail.com
Wed Aug 3 20:59:41 CEST 2011

On Aug 3, 2011, at 7:30 AM, venuiyer wrote:

> Hello experts,
> I am encoding a video file for H264Baseline 3.0 profile using FFMPEG. Am
> using windows OS for FFMPEG
> Below is the command am using.
> ffmpeg -i <SourceFileName> -f mpegts -acodec aac -ar <AudioSamplingRate> -ab
> <AudioBitRate> -strict experimental  -s <Resolution> -vcodec libx264 -b
> <VideoBitRate> -flags +loop -cmp +chroma -partitions
> +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16
> -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt <VideoBitRate>  -maxrate
> <VideoBitRate>  -minrate <VideoBitRate>  -bufsize 100k -rc_eq
> 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect
> 320:240 -g 30 -r <FrameRate> -strict experimental -async 2
> <Outputfilename>.ts
> Kindly help me with the below queries
> 1. How do I ensure that am encoding for Baseline 3.0 profile with the above
> command?
> 2. Is the command line am using correct one?
I have been using the -profile command in ffmpeg (I used high as an 
argument but presumably baseline would work too).  Then I send commands 
directly to x264 by issuing the following before running ffmpeg:
XOPTS="level=4.1 . . ."
then include the following in the ffmpeg command line:
-x264opts $XOPTS 
I'm not sure why some work through one avenue and some the other, but this 
seems to work.  So you can explicitly set both profile and level.  I've no idea 
what happens if you issue other commands that conflict with the effect of these.

More information about the ffmpeg-user mailing list