[FFmpeg-user] libx264 vs android 4.4

Patrick Shirkey pshirkey at boosthardware.com
Thu Jul 10 20:49:49 CEST 2014


Hi,

I'm seeing the following output when trying to use ffmpeg/libx264 with
ffserver on android 4.4. I'm not sure why the preset value is not being
picked up and also how to get around the final message. I have tried
adding flags for bitrate, size, rate.

- I have tested that ffserver is working with "videoCodec flv" on another
stream.

- I'm using the following config for the x264 stream:

<Stream l.h264>
  Format rtp
  Feed feed1.ffm
  VideoCodec libx264
  VideoFrameRate 1
  VideoBitRate 100
  VideoSize 480x800
  NoAudio
  AVOptionVideo flags +global_header
</Stream>

- This is the commandline for ffmpeg:

ffmpeg -r 30 -vcodec rawvideo -f rawvideo -pix_fmt rgb565  -s 800X640 -i
/dev/graphics/fb0 -preset:v fast  http://localhost:8090/feed1.ffm

ffmpeg version N-64597-g4576eff Copyright (c) 2000-2014 the FFmpeg developers
  built on Jul 10 2014 21:10:33 with gcc 4.7 (GCC)
  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
  libavutil      52. 92.100 / 52. 92.100
  libavcodec     55. 69.100 / 55. 69.100
  libavformat    55. 45.100 / 55. 45.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 10.100 /  4. 10.100
  libavresample   1.  3.  0 /  1.  3.  0
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, rawvideo, from '/dev/graphics/fb0':
  Duration: N/A, start: 0.000000, bitrate: 245760 kb/s
    Stream #0:0: Video: rawvideo (RGB[16] / 0x10424752), rgb565le,
800x640, 245760 kb/s, 30 tbr, 30 tbn, 30 tbc
Codec AVOption preset (Set the encoding preset (cf. x264 --fullhelp))
specified for output file #0 (http://localhost:8090/feed1.ffm) has not
been used for any stream. The most likely reason is either wrong type
(e.g. a video option with no video streams) or that it is a private option
of some encoder which was not actually used for any stream.
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x1f370d0] broken ffmpeg default settings detected
[libx264 @ 0x1f370d0] use an encoding preset (e.g. -vpre medium)
[libx264 @ 0x1f370d0] preset usage: -vpre <speed> -vpre <profile>
[libx264 @ 0x1f370d0] speed presets are listed in x264 --help
[libx264 @ 0x1f370d0] profile is optional; x264 defaults to high
Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
  Metadata:
    creation_time   : now
    Stream #0:0: Video: h264, 480x800, q=2-31, 128 kb/s, 30 fps, 1000k
tbn, 1 tbc
    Metadata:
      encoder         : Lavc55.69.100 libx264
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Error while opening encoder for output stream #0:0 - maybe incorrect
parameters such as bit_rate, rate, width or height


--
Patrick Shirkey
Boost Hardware Ltd


More information about the ffmpeg-user mailing list