[FFmpeg-user] libx264 vs android 4.4

Patrick Shirkey pshirkey at boosthardware.com
Wed Jul 16 15:26:12 CEST 2014

On Wed, July 16, 2014 10:56 pm, Carl Eugen Hoyos wrote:
> Patrick Shirkey <pshirkey <at> boosthardware.com> writes:
>> ffmpeg -f fbdev -r 1 -i /dev/graphics/fb0 -vcodec libx264
>> -f h264 -preset:v slow -pix_fmt yuv420p
>> http://localhost:8090/feed1.ffm
> I don't know your use case but I wonder if a faster
> preset with a higher frame rate wouldn't be more
> useful.

faster presets and higher frame rates give me less time to play with.

ex. With "veryfast" the number of frames that are streamed is 18 compared
to 58 with "slow"

> (I haven't used ffm for a long time but are you sure
> that -f h286 feed.ffm works? Maybe you meant -f h264
> feed.h264? Which makes the -f h264 superfluous.)

Using :8090/feed.ffm works fine if I don't use libx264

If I remove the -f h264 the stream won't run (see previous messages for
the full out put)

Error while opening encoder for output stream #0:0 - maybe incorrect
parameters such as bit_rate, rate, width or height

>>   configuration: --arch=arm --target-os=linux --enable-cross-compile
>> --cross-prefix=/4.4/prebuilts/gcc/linux-x86/arm/
>> arm-linux-androideabi-4.7/bin/arm-linux-androideabi-
>> --sysroot=/4.4/prebuilts/ndk/current/platforms/android-18/arch-arm
>> --enable-gpl --enable-avresample --enable-libx264 --enable-ffplay
>> --extra-cflags='-fno-builtin-sin -fno-builtin-sinf -I/4.4/external/x264'
>> --extra-ldflags=-L/4.4/external/x264
> As said --enable-ffplay has no effect (and it does not
> tell you if it didn't work), so please remove it.
> I don't think you want to use --enable-avresample.
> You wrote in an earlier email:
>> [--cpu] doesn't appear to have any affect for
>> this build.
> Do you mean the output is bitexact with and without
> the --cpu option? Or that you did some performance
> tests and couldn't reproduce a difference?
> It cannot make a difference for the usecase above
> (that only depends on libx264 compilation / speed)
> but generally, I thought the --cpu option is useful
> for arm.

I have recompiled with --cpu=cortex-a8 and dropped --enable-avresample

It doesn't appear to make any obvious difference. The stream still stops
after 58 frames using preset "slow" and cpuload is the same.

The main issue for me is identifying the cause of the stoppage. It is
always 58 frames.

Patrick Shirkey
Boost Hardware Ltd

More information about the ffmpeg-user mailing list