[FFmpeg-user] Building for ARM
Wernam Wer
wernam at hotmail.com
Thu May 12 13:53:37 CEST 2011
Hi all,
I'm building ffmpeg for an ARM with Linux headers 2.6 to send video frames over RTP, ffmpeg only have to packet these frames and send it. I need to optimize the space so I use the minimal configuration.
I have compile the revision 26400 with this configuration and works fine:
./configure --enable-cross-compile --cross-prefix=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu- --target-os=linux --cc=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-gcc --host-cc=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-gcc --cpu=armv5te --arch=arm --enable-static --disable-asm --enable-armv5te --disable-stripping --disable-debug --disable-encoders --disable-decoders --disable-parsers --disable-ffplay --disable-ffserver --disable-devices --disable-bsfs --disable-muxers --enable-parser=mpeg4video --enable-muxer=rtp --enable-parser=aac --disable-filters --disable-demuxers --enable-demuxer=m4v --extra-libs=-static --extra-cflags=--static --disable-ffprobe
I use with this command (with this output):
# ffmpeg -vcodec copy -i pipe -an -f rtp rtp://224.52.52.22:7004 -sameq -v 0 < /dev/null &
[3] 178
# FFmpeg version SVN-r26400, Copyright (c) 2000-2011 the FFmpeg developers
built on Jan 18 2011 09:48:17 with gcc 4.1.2
configuration: --enable-cross-compile --cross-prefix=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu- --target-os=linux --cc=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-gcc --host-cc=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-gcc --cpu=armv5te --arch=arm --enable-static --disable-asm --enable-armv5te --disable-stripping --disable-debug --disable-encoders --disable-decoders --disable-parsers --disable-ffplay --disable-ffserver --disable-devices --disable-bsfs --disable-muxers --enable-parser=mpeg4video --enable-muxer=rtp --enable-parser=aac --disable-filters --disable-demuxers --enable-demuxer=m4v --extra-libs=-static --extra-cflags=--static
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 1 / 0.16. 1
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.93. 0 / 52.93. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.74. 0 / 1.74. 0
libswscale 0.12. 0 / 0.12. 0
puntero a frame (fis): 0xc2780004
[m4v @ 0x3538a0] max_analyze_duration reached
[m4v @ 0x3538a0] Estimating duration from bitrate, this may be inaccurate
Input #0, m4v, from 'pipe':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: [0][0][0][0] / 0x0000, 352x288 [PAR 1:1 DAR 11:9], 25 fps, 25 tbr, 1200k tbn, 25 tbc
Output #0, rtp, to 'rtp://224.52.52.22:7004':
Metadata:
encoder : Lavf52.93.0
Stream #0.0: Video: [0][0][0][0] / 0x0000, 352x288 [PAR 1:1 DAR 11:9], q=2-31, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 224.52.52.22
t=0 0
a=tool:libavformat 52.93.0
m=video 7004 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=1; config=000001B003000001B50900000100000001200086C400668582120A31
Press [q] to stop encoding
If I try to use the version 0.6.3, I can compile it fine, but it doesn't work, i get this output:
# ./ffmpeg.last -vcodec copy -i pipe -an -f rtp rtp://224.52.52.22:7004 -sameq -re
FFmpeg version 0.6.3, Copyright (c) 2000-2010 the FFmpeg developers
built on May 12 2011 13:00:49 with gcc 4.1.2
configuration: --enable-cross-compile --cross-prefix=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu- --target-os=linux --cc=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-gcc --host-cc=../../Cross/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-gcc --cpu=armv5te --arch=arm --enable-static --disable-asm --enable-armv5te --disable-stripping --disable-debug --disable-encoders --disable-decoders --disable-parsers --disable-ffplay --disable-ffserver --disable-devices --disable-bsfs --disable-muxers --enable-parser=mpeg4video --enable-muxer=rtp --enable-parser=aac --disable-filters --disable-demuxers --enable-demuxer=m4v --extra-libs=-static --extra-cflags=--static --disable-ffprobe
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.11. 0 / 0.11. 0
[m4v @ 0x30e360]max_analyze_duration reached
[m4v @ 0x30e360]Estimating duration from bitrate, this may be inaccurate
Input #0, m4v, from 'pipe':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: 0x0000, 352x288 [PAR 1:1 DAR 11:9], 25 fps, 25 tbr, 1200k tbn, 25 tbc
And doesn't sent anything.
My question is I how can I debug it or if I'm doing anything wrong.
I also try to use the last version or the 0.7.rc1 but both doesn't compile, I get this error:
/home/john/ffmpeg/ffmpeg-0.7-rc1/libavformat/libavformat.a(utils.o): In function `.L2670':
utils.c:(.text+0x928c): undefined reference to `ff_find_pix_fmt'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1
Thanks for the answers.
Wernam
More information about the ffmpeg-user
mailing list