[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