[FFmpeg-user] Encoding 3gp6 with MPEG-4 Visual and Simple at L1
curtis at farnhamtech.com
Sat Sep 20 00:23:48 CEST 2014
On Sep 16, 2014, at 7:57 AM, James Darnley <james.darnley at gmail.com> wrote:
> Perhaps everyone here needs to read the docs better.
> While looking at the code to try to understand just what this thing is
> (it isn't metadata and should not be in AVMetadata), I came across the
> private option for mov-like files named "-brand" which is described as
> "Override major brand".
> You should try -brand 3gp4 or 3gp6 or whichever you needed.
Thanks James. Adding "-brand 3gp6” got me what I was looking for, as far as I can tell.
To answer everyone’s questions, I was just aiming to encode my own .3gp videos in the same way that YouTube does. Long story. Anyway, problem solved! For posterity, here’s what I’m using now for YouTube’s “Format 36” which is a 320x180 3GP with an overall bitrate around 200 kbps:
ffmpeg -y -i input-file.mov -vcodec mpeg4 -f 3gp -brand 3gp6 -s 320x180 -vf 'scale=iw*sar:ih,pad=max(iw\,ih*(16/9)):ow/(16/9):(ow-iw)/2:(oh-ih)/2' -qscale:v 21 -acodec libfaac -ar 22050 -ac 1 -qscale:a 70 -threads 0 output.3gp
If anyone’s wondering, that long and messy -vf argument automatically boxes the input to 16:9 aspect.
More information about the ffmpeg-user