x264 cpu capabilities
Your ffmpeg
console output/log shows the following message from libx264:
using cpu capabilities: none!
For your device I would expect something like:
using cpu capabilities: ARMv7 NEON
You should re-evaluate how you compiled x264
so it properly supports the capabilities of your CPU. With none
it encodes significantly slower.
- Do not use the
--disable-asm
configure option forx264
. - After you run
./configure
forx264
the console output should showasm: yes
. - Use a recent
x264
. I see many users compiling old versions that may miss out on optimizations. - Then recompile
ffmpeg
so it uses the newx264
. Make sureffmpeg
does not link to the wrongx264
if you have multiple versions.
MediaCodec hardware acceleration
ffmpeg
currently supports hardware assisted H.264 and HEVC decoding via the MediaCodec API in Android which may help decrease the overall processing time. For more info and an up-to-date list of capabilities see FFmpeg Wiki: Hardware Acceleration.
To use it ensure your ffmpeg
is compiled with --enable-jni
and --enable-mediacodec
.