[FFmpeg-user] libx264 vs android 4.4

Patrick Shirkey pshirkey at boosthardware.com
Fri Jul 11 10:13:33 CEST 2014


On Fri, July 11, 2014 4:55 pm, Carl Eugen Hoyos wrote:
> Patrick Shirkey <pshirkey <at> boosthardware.com> writes:
>
>> ffmpeg -f rawvideo -i /dev/graphics/fb0
>
> This looks plain wrong.
> ffmpeg cannot warn about this, it cannot know
> that /dev/... is a device (and not a file).
>

I was starting from this post:

http://ffmpeg.gusari.org/viewtopic.php?f=12&t=604#p676

The commandline works if I do not use libx264 for the stream codec.


> Careful with your other input options, I haven't used
> the FFmpeg framebuffer input device but the
> documentation indicates that you should neither set
> codec nor pix_fmt.
> I am surprised that you should set the input frame
> rate, this may indicate a bug.
>

I have removed those commands and tried the following:

/system/bin/ffmpeg  -f rawvideo  -s 10x10 -i /dev/graphics/fb0 -preset:v
fast http://localhost:8090/feed1.ffm

/system/bin/ffmpeg  -f rawvideo  -s 10x10 -i /dev/graphics/fb0 -preset:v
fast  -r 1 -s 480x800 -b 100 http://localhost:8090/feed1.ffm


>> 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.
>
> This would indicate that something is wrong with your
> command line.
> It works fine here, what version of x264 did you
> compile?
>

I checked out the most recent git:

 # x264 --version
x264 0.142.2431 a5831aa
built on Jul  9 2014, gcc: 4.7
configuration: --bit-depth=8 --chroma-format=all
x264 license: GPL version 2 or later


>> No pixel format specified, yuv444p for H.264
>> encoding chosen. Use -pix_fmt yuv420p for
>> compatibility with outdated media players.
>
> This is no problem for FFmpeg but I suspect you want
> to read this carefully (and test with your desktop
> computer).
>

I tried using that flag too with the same result.

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: 30 kb/s
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 10x10, 30
kb/s, 25 tbr, 25 tbn, 25 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.
[libx264 @ 0x196c1b0] broken ffmpeg default settings detected
[libx264 @ 0x196c1b0] use an encoding preset (e.g. -vpre medium)
[libx264 @ 0x196c1b0] preset usage: -vpre <speed> -vpre <profile>
[libx264 @ 0x196c1b0] speed presets are listed in x264 --help
[libx264 @ 0x196c1b0] 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, 100 kb/s, 25 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