Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (35)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (6469)

  • FFMEG dumping a RTSP streaming works on Windows but not in Ubuntu

    8 août 2016, par cuentafalsa7

    I have a camera with a RTSP server. When I try to save the streaming, using FFMPEG in Windows works ; in Ubuntu, FFMPEG it doesn’t.

    The command, in Windows is :

    ffmpeg.exe -i "rtsp://192.168.1.10:1236/?videoapi=mc&h264=1000-20-1280-960" -r 20 test.mp4

    In Linux :

    ffmpeg -i "rtsp://192.168.1.10:1236/?videoapi=mc&h264=1000-20-1280-960" -r 20 test.mp4

    The output in Linux is :

    $ ffmpeg  -i "rtsp://192.168.1.10:1236/?videoapi=mr&h264=1000-20-1280-960" -r 20 test.mp4
    ffmpeg version 2.8.6-1ubuntu2 Copyright (c) 2000-2016 the FFmpeg developers                                                                                                                                                                                                    
     built with gcc 5.3.1 (Ubuntu 5.3.1-11ubuntu1) 20160311                                                                                                                                                                                                                      
     configuration: --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv                                                                                                                                                                                                                                            
     libavutil      54. 31.100 / 54. 31.100                                                                                                                                                                                                                                      
     libavcodec     56. 60.100 / 56. 60.100                                                                                                                                                                                                                                      
     libavformat    56. 40.101 / 56. 40.101                                                                                                                                                                                                                                      
     libavdevice    56.  4.100 / 56.  4.100                                                                                                                                                                                                                                      
     libavfilter     5. 40.101 /  5. 40.101                                                                                                                                                                                                                                      
     libavresample   2.  1.  0 /  2.  1.  0                                                                                                                                                                                                                                      
     libswscale      3.  1.101 /  3.  1.101                                                                                                                                                                                                                                      
     libswresample   1.  2.101 /  1.  2.101                                                                                                                                                                                                                                      
     libpostproc    53.  3.100 / 53.  3.100                                                                                                                                                                                                                                      
    [rtsp @ 0x1f18340] UDP timeout, retrying with TCP                                                                                                                                                                                                                              
    [rtsp @ 0x1f18340] Nonmatching transport in server reply                                                                                                                                                                                                                      
    [rtsp @ 0x1f18340] Could not find codec parameters for stream 0 (Video: h264, none): unspecified size                                                                                                                                                                          
    Consider increasing the value for the 'analyzeduration' and 'probesize' options                                                                                                                                                                                                
    rtsp://192.168.1.10:1236/?videoapi=mr&h264=1000-20-1280-960: could not find codec parameters                                                                                                                                                                                  
    Input #0, rtsp, from 'rtsp://192.168.1.10:1236/?videoapi=mr&h264=1000-20-1280-960':                                                                                                                                                                                          
     Metadata:                                                                                                                                                                                                                                                                    
       title           : Unnamed                                                                                                                                                                                                                                                  
       comment         : N/A                                                                                                                                                                                                                                                      
     Duration: N/A, bitrate: N/A                                                                                                                                                                                                                                                  
       Stream #0:0: Video: h264, none, 90k tbr, 90k tbn, 180k tbc                                                                                                                                                                                                                
    Output #0, mp4, to 'test.mp4':                                                                                                                                                                                                                                                
    Output file #0 does not contain any stream              

    The ffmpeg.exe output is :

    >ffmpeg.exe
    ffmpeg version N-81300-gce2217b Copyright (c) 2000-2016 the FFmpeg developers
     built with gcc 5.4.0 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-lib
    ebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfree
    type --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-lib
    openjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame
    --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-
    libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
     libavutil      55. 28.100 / 55. 28.100
     libavcodec     57. 51.100 / 57. 51.100
     libavformat    57. 46.100 / 57. 46.100
     libavdevice    57.  0.102 / 57.  0.102
     libavfilter     6. 50.100 /  6. 50.100
     libswscale      4.  1.100 /  4.  1.100
     libswresample   2.  1.100 /  2.  1.100
     libpostproc    54.  0.100 / 54.  0.100
    Hyper fast Audio and Video encoder
    usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

    Use -h to get full help or, even better, run 'man ffmpeg'

    The ffmpeg output in Ubuntu is :

    $ ffmpeg
    ffmpeg version 2.8.6-1ubuntu2 Copyright (c) 2000-2016 the FFmpeg developers                                                                                                                                                                                                    
     built with gcc 5.3.1 (Ubuntu 5.3.1-11ubuntu1) 20160311                                                                                                                                                                                                                      
     configuration: --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv                                                                                                                                                                                                                                            
     libavutil      54. 31.100 / 54. 31.100                                                                                                                                                                                                                                      
     libavcodec     56. 60.100 / 56. 60.100                                                                                                                                                                                                                                      
     libavformat    56. 40.101 / 56. 40.101                                                                                                                                                                                                                                      
     libavdevice    56.  4.100 / 56.  4.100                                                                                                                                                                                                                                      
     libavfilter     5. 40.101 /  5. 40.101                                                                                                                                                                                                                                      
     libavresample   2.  1.  0 /  2.  1.  0                                                                                                                                                                                                                                      
     libswscale      3.  1.101 /  3.  1.101                                                                                                                                                                                                                                      
     libswresample   1.  2.101 /  1.  2.101                                                                                                                                                                                                                                      
     libpostproc    53.  3.100 / 53.  3.100                                                                                                                                                                                                                                      
    Hyper fast Audio and Video encoder                                                                                                                                                                                                                                            
    usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...                                                                                                                                                                                        

    Use -h to get full help or, even better, run 'man ffmpeg'  

    I’m using Windows 7 64 bits and Ubuntu 16.04.

    I have tried to increase the suggested values but didn’t work either.
    Any idea, except switching to Windows ?

  • ffmpeg libz.so dependency

    26 février 2014, par malaprop malaprop

    we are trying to install ffmpeg on our RH linux servers.

    Trouble is that it works on one not on the other and we have no idea why. The working and the non working server have the same config information :

    ffmpeg version 0.10.2 Copyright (c) 2000-2012 the FFmpeg developers
    built on Apr 19 2012 14:00:25 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
    configuration : —enable-gpl —enable-version3 —enable-shared —enable-nonfree —enable-postproc —enable-libfaac —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libtheora —enable-libvorbis —enable-libvpx —enable-libx264 —enable-libxvid —enable-x11grab —extra-cflags=-I/usr/local/include —extra-ldflags=-L/usr/local/lib
    libavutil 51. 35.100 / 51. 35.100
    libavcodec 53. 61.100 / 53. 61.100
    libavformat 53. 32.100 / 53. 32.100
    libavdevice 53. 4.100 / 53. 4.100
    libavfilter 2. 61.100 / 2. 61.100
    libswscale 2. 1.100 / 2. 1.100
    libswresample 0. 6.100 / 0. 6.100
    libpostproc 52. 0.100 / 52. 0.100
    Hyper fast Audio and Video encoder

    The error we are getting is :

    ffmpeg version 0.10.2 Copyright (c) 2000-2012 the FFmpeg developers
    built on Apr 19 2012 14:00:25 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
    configuration : —enable-gpl —enable-version3 —enable-shared —enable-nonfree —enable-postproc —enable-libfaac —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libtheora —enable-libvorbis —enable-libvpx —enable-libx264 —enable-libxvid —enable-x11grab —extra-cflags=-I/usr/local/include —extra-ldflags=-L/usr/local/lib
    libavutil 51. 35.100 / 51. 35.100
    libavcodec 53. 61.100 / 53. 61.100
    libavformat 53. 32.100 / 53. 32.100
    libavdevice 53. 4.100 / 53. 4.100
    libavfilter 2. 61.100 / 2. 61.100
    libswscale 2. 1.100 / 2. 1.100
    libswresample 0. 6.100 / 0. 6.100
    libpostproc 52. 0.100 / 52. 0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '4598_Testvideo_MP4-H264-6MBit_AAC-44KHz-192KBit_720p.mp4' :
    Metadata :
    major_brand : mp42
    minor_version : 0
    compatible_brands : mp42mp41
    creation_time : 2012-01-25 10:58:21
    Duration : 00:02:13.56, start : 0.000000, bitrate : 5472 kb/s
    Stream #0:0(eng) : Video : h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 5280 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
    Metadata :
    creation_time : 2012-01-25 10:58:21
    handler_name : Mainconcept MP4 Video Media Handler
    Stream #0:1(eng) : Audio : aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 189 kb/s
    Metadata :
    creation_time : 2012-01-25 10:58:21
    handler_name : Mainconcept MP4 Sound Media Handler
    [buffer @ 0x3160ea0] w:1280 h:720 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param :
    [scale @ 0x31629a0] w:1280 h:720 fmt:yuv420p -> w:480 h:270 fmt:yuv420p flags:0x4
    [libvpx @ 0x314ab40] v0.9.6
    [libvpx @ 0x314ab40] Failed to initialize encoder : ABI version mismatch
    Output #0, webm, to 'outputvideo.webm' :
    Metadata :
    major_brand : mp42
    minor_version : 0
    compatible_brands : mp42mp41
    creation_time : 2012-01-25 10:58:21
    Stream #0:0(eng) : Video : vp8, yuv420p, 480x270 [SAR 1:1 DAR 16:9], q=-1—1, 2500 kb/s, 90k tbn, 25 tbc
    Metadata :
    creation_time : 2012-01-25 10:58:21
    handler_name : Mainconcept MP4 Video Media Handler
    Stream #0:1(eng) : Audio : none, 44100 Hz, stereo, s16, 128 kb/s
    Metadata :
    creation_time : 2012-01-25 10:58:21
    handler_name : Mainconcept MP4 Sound Media Handler
    Stream mapping :
    Stream #0:0 -> #0:0 (h264 -> libvpx)
    Stream #0:1 -> #0:1 (aac -> libvorbis)
    Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    I've looked at the dependent libraries using ldd and did find one differenct. the library libz.so was not listet in the system that doesn't work. ie

    /lib64/ld-linux-x86-64.so.2 (0x00000035a9000000)
    libavcodec.so.53 => /usr/local/lib/libavcodec.so.53 (0x00002ae5189a8000)
    libavdevice.so.53 => /usr/local/lib/libavdevice.so.53 (0x00002ae518204000)
    libavfilter.so.2 => /usr/local/lib/libavfilter.so.2 (0x00002ae51840e000)
    libavformat.so.53 => /usr/local/lib/libavformat.so.53 (0x00002ae51869c000)
    libavutil.so.51 => /usr/local/lib/libavutil.so.51 (0x00002ae519e17000)
    libc.so.6 => /lib64/libc.so.6 (0x00000035a9400000)
    libfaac.so.0 => /usr/lib64/libfaac.so.0 (0x0000003407800000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000035ac000000)
    libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0 (0x0000003407000000)
    libm.so.6 => /lib64/libm.so.6 (0x00000035aa000000)
    libogg.so.0 => /usr/local/lib/libogg.so.0 (0x00002ae51b35b000)
    libopencore-amrnb.so.0 => /usr/lib64/libopencore-amrnb.so.0 (0x0000003409800000)
    libopencore-amrwb.so.0 => /usr/lib64/libopencore-amrwb.so.0 (0x0000003407c00000)
    libpostproc.so.52 => /usr/local/lib/libpostproc.so.52 (0x00002ae5197ba000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00000035a9c00000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000035aa400000)
    libswresample.so.0 => /usr/local/lib/libswresample.so.0 (0x00002ae5199c6000)
    libswscale.so.2 => /usr/local/lib/libswscale.so.2 (0x00002ae519bce000)
    libtheoradec.so.1 => /usr/local/lib/libtheoradec.so.1 (0x00002ae51b141000)
    libtheoraenc.so.1 => /usr/local/lib/libtheoraenc.so.1 (0x00002ae51af05000)
    libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00002ae51a8fe000)
    libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00002ae51acd9000)
    libvpx.so.0 => /usr/lib64/libvpx.so.0 (0x00002ae51a687000)
    libx264.so.120 => /usr/local/lib/libx264.so.120 (0x00002ae51a320000)
    libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4 (0x00002ae51a03a000)
    linux-vdso.so.1 => (0x00007ffff63f6000)

    as opposed to

    /lib64/ld-linux-x86-64.so.2 (0x0000003074c00000)
    libavcodec.so.53 => /usr/local/lib/libavcodec.so.53 (0x00002b2038eeb000)
    libavdevice.so.53 => /usr/local/lib/libavdevice.so.53 (0x00002b2038746000)
    libavfilter.so.2 => /usr/local/lib/libavfilter.so.2 (0x00002b2038950000)
    libavformat.so.53 => /usr/local/lib/libavformat.so.53 (0x00002b2038bdf000)
    libavutil.so.51 => /usr/local/lib/libavutil.so.51 (0x00002b203a368000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003075000000)
    libfaac.so.0 => /usr/lib64/libfaac.so.0 (0x00002b203bcef000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003003400000)
    libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0 (0x000000310ae00000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003075c00000)
    libogg.so.0 => /usr/lib64/libogg.so.0 (0x00002b203bf01000)
    libopencore-amrnb.so.0 => /usr/lib64/libopencore-amrnb.so.0 (0x00002b203bac1000)
    libopencore-amrwb.so.0 => /usr/lib64/libopencore-amrwb.so.0 (0x00002b203b8ab000)
    libpostproc.so.52 => /usr/local/lib/libpostproc.so.52 (0x00002b2039d0b000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003075800000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x000000360ea00000)
    libswresample.so.0 => /usr/local/lib/libswresample.so.0 (0x00002b2039f18000)
    libswscale.so.2 => /usr/local/lib/libswscale.so.2 (0x00002b203a11f000)
    libtheoradec.so.1 => /usr/local/lib/libtheoradec.so.1 (0x00002b203b693000)
    libtheoraenc.so.1 => /usr/local/lib/libtheoraenc.so.1 (0x00002b203b457000)
    libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2 (0x00002b203ae50000)
    libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00002b203b22a000)
    libvpx.so.0 => /usr/lib64/libvpx.so.0 (0x00002b203abd9000)
    libx264.so.120 => /usr/local/lib/libx264.so.120 (0x00002b203a871000)`enter code here`
    libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4 (0x00002b203a58c000)
    libz.so.1 => /lib64/libz.so.1 (0x0000003076000000)
    linux-vdso.so.1 => (0x00007fff6adfd000)

    I wanted to ask whether this has something to do with the problem. before i try to figure out how come the libz.so appears i nthe one list and not the other.

    btw the ld.so.conf files are identical.

  • so Confused, why my build of libffmpeg.so > 17M ?

    24 février 2012, par ghost

    I did build ffmpeg for Android in winxp and scientific linux , ffmpeg is in dolphin player — an open source video player (http://code.google.com/p/dolphin-player/), and i just build the ffmpeg, its seems like the same as in rockplayer 1.7.0, they all use build_andriod.sh below, it worked in both winxp and linux,
    and all successfully got bin/ffmpeg (less than 5MB), but libffmpeg.so ( > 17MB), when put libffmpeg.so in dolphin-player libs , player can't work, the size 17MB is too large, the original libffmpeg.so in olphin-player libs is less than 5MB, please give some advice.

    #!/bin/bash

    ######################################################
    # FFmpeg builds script for Android+ARM platform
    #
    # This script is released under term of
    #   CDDL (http://www.opensource.org/licenses/cddl1)
    # Wrote by pinxue (~@gmail.com) from RockPlayer.com
    #                                   2010-8 ~ 2011-4
    ######################################################

    ######################################################
    # Usage:
    #   put this script in top of FFmpeg source tree
    #   ./build_android
    #
    # It generates binary for following architectures:
    #     ARMv6
    #     ARMv6+VFP
    #     ARMv7+VFM-ïd16 (Tegra2)
    #     ARMv7+Neon (Cortex-A8)
    #
    # Customizing:
    # 1. Feel free to change ./configure parameters for more features
    # 2. To adapt other ARM variants
    #       set $CPU and $OPTIMIZE_CFLAGS
    #       call build_one
    ######################################################

    export TMPDIR=D:/tmp/android
    export NDK=D:/android-ndk-r4

    #PLATFORM=$NDK/build/platforms/android-8/arch-arm/
    PLATFORM=$NDK/build/platforms/android-8/arch-arm
    #PREBUILT=$NDK/build/prebuilt/darwin-x86/arm-eabi-4.4.0
    PREBUILT=$NDK/build/prebuilt/windows/arm-eabi-4.4.0

    function build_one
    {

    # -fasm : required. Android header file uses asm keyword instead of __asm__ , but most of c dialect (like ansi,c99,gnu99) implies -fno-asm.
    #   ~/android/android-ndk-r4/build/platforms/android-5/arch-arm//usr/include/asm/byteorder.h: In function '___arch__swab32':
    #   ~/android/android-ndk-r4/build/platforms/android-5/arch-arm//usr/include/asm/byteorder.h:25: error: expected ')' before ':' token

    # -fno-short-enums : optimized.  Else FFmpeg obj will generate a huge number of warning for variable-size enums,
    #   though we may suppress them by --no-enum-size-warning, it would be better to avoid it.
    #   .../ld: warning: cmdutils.o uses variable-size enums yet the output is to use 32-bit enums; use of enum values across objects may fail

    # --extra-libs="-lgcc" : required. Else cannot solve some runtime function symbols
    #   ... undefined reference to `__aeabi_f2uiz'

    # --enable-protocols : required. Without this option, the file open always fails mysteriously.
    #   FFmpeg's av_open_input_file will invoke file format probing functions, but because most of useful demuxers has flag of zero
    #   which cause them are ignored during file format probling and fall to url stream parsing,
    #   if protocols are disabled, the file:// url cannot be opened as well.

    # $PREBUILT/bin/arm-eabi-ar d libavcodec/libavcodec.a inverse.o : required.
    #   FFmpeg includes two copies of inverse.c both in libavutil and libavcodec for performance consideration (not sure the benifit yet)
    #   Without this step, final ld of generating libffmpeg.so will fail silently, if invoke ld through gcc, gcc will collect more reasonable error message.

    # -llog: debug only, FFmpeg itself doesn't require it at all.
    #   With this option, we may simply includes "utils/Log.h" and use LOGx() to observe FFmpeg's behavior
    #   PS, it seems the toolchain implies -DNDEBUG somewhere, it would be safer to use following syntax
    #    #ifdef NDEBUG
    #        #undef NDEBUG
    #        #define HAVE_NDEBUG
    #    #endif
    #    #include "utils/Log.h"
    #    #ifdef HAVE_NDEBUG
    #        #define NDEBUG
    #        #undef HAVE_NDEBUG
    #    #endif

    # --whole-archive : required. Else ld generate a small .so file (about 15k)

    # --no-stdlib : required. Android doesn't use standard c runtime but invited its own wheal (bionic libc) because of license consideration.

    # space before \ of configure lines: required for some options. Else next line will be merged into previous lines's content and cause problem.
    #   Especially the --extra-cflags, the next line will pass to gcc in this case and configure will say gcc cannot create executable.

    # many options mentioned by articles over internet are implied by -O2 or -O3 already, need not repeat at all.

    # two or three common optimization cflags are omitted because not sure about the trade off yet. invoke NDK build system with V=1 to find them.

    # -Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x mentioned by almost every articles over internet, but it is not required to specify at all.

    # -Dipv6mr_interface=ipv6mr_ifindex : required. Android inet header doesn't use ipv6mr_interface which is required by rfc, seems it generate this user space header file directly from kernel header file, but Linux kernel has decided to keep its own name for ever and ask user space header to use rfc name.

    # HAVE_SYS_UIO_H : required. Else:
    # In file included from ~/android/android-ndk-r4/build/platforms/android-5/arch-arm//usr/include/linux/socket.h:29,
    #                 from ~/android/android-ndk-r4/build/platforms/android-5/arch-arm//usr/include/sys/socket.h:33,
    #                 from libavformat/network.h:35,
    #                 from libavformat/utils.c:46:
    #~/android/android-ndk-r4/build/platforms/android-5/arch-arm//usr/include/linux/uio.h:19: error: redefinition of 'struct iovec'
    #

    # --disable-doc : required because of strange bug of toolchain.
    #

    #
    #--extra-ldflags=-Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtbegin.o $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtend.o -lc -lm -ldl"
    #

    ./configure --target-os=linux \
       --prefix=$PREFIX \
       --enable-cross-compile \
       --extra-libs="-lgcc" \
       --arch=arm \
       --cc=$PREBUILT/bin/arm-eabi-gcc \
       --cross-prefix=$PREBUILT/bin/arm-eabi- \
       --nm=$PREBUILT/bin/arm-eabi-nm \
       --sysroot=$PLATFORM \
      --extra-cflags=" -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums  -fno-strict-aliasing -finline-limit=300 $OPTIMIZE_CFLAGS " \
       --disable-shared \
       --enable-static \
       --extra-ldflags="-Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib  -nostdlib -lc -lm -ldl -llog" \
       --enable-parsers \
       --disable-encoders  \
       --enable-decoders \
       --disable-muxers \
       --enable-demuxers \
       --enable-swscale  \
       --disable-ffplay \
       --disable-ffprobe \
       --disable-ffserver \
       --enable-network \
       --enable-indevs \
       --disable-bsfs \
       --disable-filters \
       --enable-protocols  \
       --enable-asm \
       --disable-doc \
       $ADDITIONAL_CONFIGURE_FLAG

    ##make clean
    make  -j4 install


    $PREBUILT/bin/arm-eabi-ar d libavcodec/libavcodec.a inverse.o

    $PREBUILT/bin/arm-eabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib  -soname libffmpeg.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a  -lc -lm -lz -ldl -llog  --warn-once  --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-eabi/4.4.0/libgcc.a

    }


    #arm v6
    CPU=armv6
    OPTIMIZE_CFLAGS="-marm -march=$CPU"
    PREFIX=./android/$CPU
    ADDITIONAL_CONFIGURE_FLAG=
    build_one

    #arm v7vfpv3
    CPU=armv7-a
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=$CPU "
    PREFIX=./android/$CPU
    ADDITIONAL_CONFIGURE_FLAG=
    build_one

    #arm v7vfp
    CPU=armv7-a
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
    PREFIX=./android/$CPU-vfp
    ADDITIONAL_CONFIGURE_FLAG=
    build_one

    #arm v7n
    CPU=armv7-a
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=neon -marm -march=$CPU -mtune=cortex-a8"
    PREFIX=./android/$CPU-neon
    ADDITIONAL_CONFIGURE_FLAG=--enable-neon
    build_one

    #arm v6+vfp
    CPU=armv6
    OPTIMIZE_CFLAGS="-DCMP_HAVE_VFP -mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU"
    PREFIX=./android/${CPU}_vfp
    ADDITIONAL_CONFIGURE_FLAG=
    build_one