Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

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

Autres articles (41)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Installation en mode standalone

    4 février 2011, par

    L’installation de la distribution MediaSPIP se fait en plusieurs étapes : la récupération des fichiers nécessaires. À ce moment là deux méthodes sont possibles : en installant l’archive ZIP contenant l’ensemble de la distribution ; via SVN en récupérant les sources de chaque modules séparément ; la préconfiguration ; l’installation définitive ;
    [mediaspip_zip]Installation de l’archive ZIP de MediaSPIP
    Ce mode d’installation est la méthode la plus simple afin d’installer l’ensemble de la distribution (...)

Sur d’autres sites (3052)

  • Long Overdue MediaWiki Upgrade

    5 février 2014, par Multimedia Mike — General

    What do I do ? What I do ? This library book is 42 years overdue !
    I admit that it’s mine, yet I can’t pay the fine,
    Should I turn it in or should I hide it again ?
    What do I do ? What do I do ?

    I internalized the forgoing paean to the perils of procrastination by Shel Silverstein in my formative years. It’s probably why I’ve never paid a single cent in late fees in my entire life.

    However, I have been woefully negligent as the steward of the MediaWiki software that drives the world famous MultimediaWiki, the internet’s central repository of obscure technical knowledge related to multimedia. It is currently running of version 1.6 software. The latest version is 1.22.

    The Story So Far
    According to my records, I first set up the wiki late in 2005. I don’t know which MediaWiki release I was using at the time. I probably conducted a few upgrades in the early days, but that went by the wayside perhaps in 2007. My web host stopped allowing shell access and the MediaWiki upgrade process pretty much requires running a PHP script from a command line. Upgrade time came around and I put off the project. Weeks turned into months turned into years until, according to some notes, the wiki abruptly stopped working in July, 2011. Suddenly, there were PHP errors about “Namespace” being a reserved word.

    While I finally laid out a plan to upgrade the wiki after all these years, I eventually found that the problem had been caused when my webhost upgraded from PHP 5.2 -> 5.3. I also learned of a small number of code changes that caused the problem to go away, thus kicking the can down the road once more.

    Then a new problem showed up last week. I think it might be related to a new version of PHP again. This time, a few other things on my site broke, and I learned that my webhost now allows me to select a PHP version to use (with the version then set to “auto”, which didn’t yield much information). Rolling back to an earlier version of PHP might have solved the problem easily.

    But NO ! I made the determination that this goes no further. I want this wiki upgraded.

    The Arduous Upgrade Path
    There are 2 general upgrade paths I can think of :

    1. Upgrade in place on the server
    2. Upgrade offline and put the site back on the server

    Approach #1 is problematic since I don’t have direct shell access, though I considered using something like PHP Shell. Approach #2 involves getting the entire set of wiki files and a backup of the MySQL tables. This is workable since I keep automated backups of these items anyway.

    In fairly short order, I was able to set up a working copy of the MultimediaWiki hosted on a local Linux machine. Now what’s the move ? The MediaWiki software I’m running is 1.6.10. The very latest, as of this upgrade project is 1.22.2. I suppose it’s way too much to hope that the software will upgrade cleanly from 1.6.x straight to 1.22.x, but I guess it’s worth a shot…

    HA ! No chance. Okay, next idea is to march through the various versions and upgrade each in turn. MediaWiki has all their historic releases online, all the way back to the 1.3 lineage. I decided that the latest of each lineage should upgrade cleanly from anything in the previous version of lineage. E.g., 1.6.10 should upgrade cleanly to 1.7.3 (last in the 1.7 series). This seemed to be a workable strategy. So I downloaded the latest of each series, unpacked, and copied all the wiki files over the working installation and ran ‘php update.php’ in the maintenance/ directory.

    The process is tedious and not without its obstacles. I consider this penance for my years of wiki neglect. First, I run into the “PHP Parse error : syntax error, unexpected T_NAMESPACE, expecting T_STRING” issue, the same that I saw years ago after the webhost transitioned from PHP 5.2 -> 5.3. I could solve this by editing assorted files and changing “Namespace” -> “MWNamespace” (which is what MediaWiki did by version 1.13). But I would prefer not to.

    Instead, I downloaded the source for PHP 5.2 and compiled it in a separate directory, then called ‘/path/to/php/5.2/bin/php update.php’. Problem solved.

    The next problem is that a bunch of the database update scripts are specifying “Type=InnoDB”. This isn’t supported by modern MySQL databases. Now, it’s “Engine=InnoDB”. A quick search & replace at the command line fixes this for 1.6.x… and 1.7.x… and 1.8 through 1.12. Finally, at 1.13, it was no longer necessary. As a bonus, at 1.13, I was able to test the installation since Namespace had been renamed to MWNamespace. I would later learn that the table type modifications probably could have been simplified in by changing “$wgDBmysql4 = true ;” to “$wgDBmysql5 = true ;” somewhere in LocalSettings.php.

    Command line upgrading worked smoothly up through 1.18 series when I got a new syntax error :

    <br />
    PHP Fatal error:  Call to a member function addMessages() on a non-object in /mnt/sdb1/archive/wiki/extensions/Cite.php on line 68<br />

    Best I could do was comment out that line. I hope that doesn’t break anything important.

    In the home stretch, the very last transition (1.21 -> 1.22) failed :

    PHP Fatal error :  Cannot redeclare wfProfileIn() (previously declared in 
    /mnt/sdb1/archive/wiki/includes/profiler/Profiler.php:33) in 
    /mnt/sdb1/archive/wiki/includes/ProfilerStub.php on line 25
    

    Apparently, this problem arises occasionally since 1.18. I found a way around it thanks to this page : Deleted the file StartProfiler.php. Who am I to argue ?

    Upon completing the transition to 1.22, the wiki doesn’t look correct– the pictures aren’t showing up. The solution was to fix the temporary directory via LocalSettings.php.

    Back To Production
    Okay, it all works again ! Locally, that is. How to get it back to the server ? My first idea was that, knowing that this upgrade process can succeed, try stepping through the upgrade process again, but tell the update.php scripts to access the database tables on multimedia.cx. This seemed to be working for awhile, even though the database update phase often took 4-5 minutes. However, the transition from 1.8.5 -> 1.9.6 took 75 minutes and then timed out. According to my notes, “This isn’t going to work.”

    The new process :

    1. Dump the database tables from the local database.
    2. Create a new database remotely (melanson_wiki_ng).
    3. Dump the database table into melanson_wiki_ng.
    4. Move the index.php file out of the wiki files directory temporarily (or rename).
    5. Modify the LocalSettings.php to talk to the new database.
    6. Perform a lftp mirror operation in order to send all the files up to the server.
    7. Send the index.php file and hope beyond hope that everything magically works.

    And that’s the story of how the updated MultimediaWiki came back online. Despite the database dump file being over 110 MB, it only tool MySQL 1m45s to transmit it all to the remote server (let’s hear it for the ‘–compress’ option). For comparison, inserting the tables back into a fresh local database took 1m07s.

    When the MultimediaWiki was first live again, it loaded, but ever so slowly. This is when I finally looked into optimization and found that I was lacking any caching. So as a bonus, the MultimediaWiki should be much faster now.

    Going Forward
    For all I know, I did everything described here in the hardest way possible. But at least I got it done. Unless I learn of a better process, future upgrades will probably look similar to this.

    Additionally, I should probably take some time to figure out what new features are part of the standard MediaWiki distribution nowadays.

  • avcodec_find_decoder for FFMpeg 2.1 is not working with Android

    18 mars 2014, par Fabien Henon

    I ported FFMpeg 2.1 to Android with NDK and I wrote a JNI function to initialize a video.

    Here is the code of this C function :

    JNIEXPORT int JNICALL Java_com_media_ffmpeg_FFMpeg_naInit(JNIEnv *pEnv, jobject pObj, jstring pfilename) {
       gVideoFileName = (char *) (*pEnv)->GetStringUTFChars(pEnv, pfilename, NULL);
       __android_log_print(ANDROID_LOG_INFO, TAG, "Init %s\n", gVideoFileName);

       avcodec_register_all();
       __android_log_print(ANDROID_LOG_INFO, TAG, "avcodec_register_all\n");

       av_register_all();
       __android_log_print(ANDROID_LOG_INFO, TAG, "av_register_all\n");

       VideoState *vs;
       __android_log_print(ANDROID_LOG_INFO, TAG, "VideoState var\n");

       vs = malloc(sizeof (VideoState));
       memset(vs, 0, sizeof(VideoState));
       __android_log_print(ANDROID_LOG_INFO, TAG, "malloc\n");

       gvs = vs;
       __android_log_print(ANDROID_LOG_INFO, TAG, "VideoState\n");

       //open the video file
       avformat_open_input(&amp;vs->pFormatCtx, gVideoFileName, NULL, NULL);
       __android_log_print(ANDROID_LOG_INFO, TAG, "open_input\n");

       //retrieve stream info
       avformat_find_stream_info(vs->pFormatCtx, NULL);
       __android_log_print(ANDROID_LOG_INFO, TAG, "find_stream_info\n");

       //find the video stream
       AVCodecContext *pcodecctx;
       //find the first video stream
       vs->videoStreamIdx = -1;
       __android_log_print(ANDROID_LOG_INFO, TAG, "before loop\n");

       AVCodec *pcodec;

       vs->videoStreamIdx =  av_find_best_stream(vs->pFormatCtx, AVMEDIA_TYPE_VIDEO, -1, -1, &amp;pcodec, 0);
       __android_log_print(ANDROID_LOG_INFO, TAG, "after loop. %d\n", vs->videoStreamIdx);

       //get the decoder from the video stream
       pcodecctx = vs->pFormatCtx->streams[vs->videoStreamIdx]->codec;
       __android_log_print(ANDROID_LOG_INFO, TAG, "stream selected %d, %d\n", pcodecctx != NULL ? 1 : 0, pcodecctx->codec_id);

       pcodec = avcodec_find_decoder(pcodecctx->codec_id);
       __android_log_print(ANDROID_LOG_INFO, TAG, "find_decoder\n");

       //open the codec
       avcodec_open2(pcodecctx, pcodec, NULL);
       __android_log_print(ANDROID_LOG_INFO, TAG, "open2\n");

       return 0;
    }

    When I execute this function from my Java code the log find_decoder (after the call to the function avcodec_find_decoder) is never displayed.

    Everything is correct : pointers have correct values and pcodecctx->codec_id has a value equal to 28.
    But when avcodec_find_decoder there is nothing more, like a crash and I have no more log.

    Did I do something wrong when using and initializing FFMpeg ?

    PS : before that instead of a call to malloc, then memset I had a call to av_mallocz but I also had a crash at this point, and replacing this call by malloc and memset fixed the crash.

    EDIT

    I built FFMpeg using this script :

    #!/bin/bash
    NDK=/Users/me/android-ndk
    SYSROOT=$NDK/platforms/android-8/arch-arm/
    TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64
    function build_one
    {
    ./configure \
    --prefix=$PREFIX \
    --disable-shared \
    --enable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --target-os=linux \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
    make clean
    make
    make install
    }
    CPU=arm
    PREFIX=$(pwd)/android/$CPU
    ADDI_CFLAGS="-marm"
    build_one

    EDIT 2

    Here is the output for the configuration of the build of the library

    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
    install prefix            /Users/fabienhenon/android-ndk/sources/ffmpeg/android/arm
    source path               .
    C compiler                /Users/fabienhenon/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc
    C library                 bionic
    host C compiler           gcc
    host C library            
    ARCH                      arm (armv5te)
    big-endian                no
    runtime cpu detection     yes
    ARMv5TE enabled           yes
    ARMv6 enabled             yes
    ARMv6T2 enabled           yes
    VFP enabled               yes
    NEON enabled              yes
    THUMB enabled             no
    debug symbols             yes
    strip symbols             yes
    optimize for size         no
    optimizations             yes
    static                    yes
    shared                    no
    postprocessing support    no
    new filter support        yes
    network support           yes
    threading support         pthreads
    safe bitstream reader     yes
    SDL support               no
    opencl enabled            no
    libzvbi enabled           no
    texi2html enabled         no
    perl enabled              yes
    pod2man enabled           yes
    makeinfo enabled          yes

    External libraries:
    zlib

    Enabled decoders:
    aac         bmp         iac
    aac_latm        bmv_audio       idcin
    aasc            bmv_video       idf
    ac3         brender_pix     iff_byterun1
    adpcm_4xm       c93         iff_ilbm
    adpcm_adx       cavs            imc
    adpcm_afc       cdgraphics      indeo2
    adpcm_ct        cdxl            indeo3
    adpcm_dtk       cinepak         indeo4
    adpcm_ea        cljr            indeo5
    adpcm_ea_maxis_xa   cllc            interplay_dpcm
    adpcm_ea_r1     comfortnoise        interplay_video
    adpcm_ea_r2     cook            jacosub
    adpcm_ea_r3     cpia            jpeg2000
    adpcm_ea_xas        cscd            jpegls
    adpcm_g722      cyuv            jv
    adpcm_g726      dca         kgv1
    adpcm_g726le        dfa         kmvc
    adpcm_ima_amv       dirac           lagarith
    adpcm_ima_apc       dnxhd           loco
    adpcm_ima_dk3       dpx         mace3
    adpcm_ima_dk4       dsicinaudio     mace6
    adpcm_ima_ea_eacs   dsicinvideo     mdec
    adpcm_ima_ea_sead   dvbsub          metasound
    adpcm_ima_iss       dvdsub          microdvd
    adpcm_ima_oki       dvvideo         mimic
    adpcm_ima_qt        dxa         mjpeg
    adpcm_ima_rad       dxtory          mjpegb
    adpcm_ima_smjpeg    eac3            mlp
    adpcm_ima_wav       eacmv           mmvideo
    adpcm_ima_ws        eamad           motionpixels
    adpcm_ms        eatgq           movtext
    adpcm_sbpro_2       eatgv           mp1
    adpcm_sbpro_3       eatqi           mp1float
    adpcm_sbpro_4       eightbps        mp2
    adpcm_swf       eightsvx_exp        mp2float
    adpcm_thp       eightsvx_fib        mp3
    adpcm_xa        escape124       mp3adu
    adpcm_yamaha        escape130       mp3adufloat
    aic         evrc            mp3float
    alac            exr         mp3on4
    als         ffv1            mp3on4float
    amrnb           ffvhuff         mpc7
    amrwb           ffwavesynth     mpc8
    amv         flac            mpeg1video
    anm         flashsv         mpeg2video
    ansi            flashsv2        mpeg4
    ape         flic            mpegvideo
    ass         flv         mpl2
    asv1            fourxm          msa1
    asv2            fraps           msmpeg4v1
    atrac1          frwu            msmpeg4v2
    atrac3          g2m         msmpeg4v3
    aura            g723_1          msrle
    aura2           g729            mss1
    avrn            gif         mss2
    avrp            gsm         msvideo1
    avs         gsm_ms          mszh
    avui            h261            mts2
    ayuv            h263            mvc1
    bethsoftvid     h263i           mvc2
    bfi         h263p           mxpeg
    bink            h264            nellymoser
    binkaudio_dct       hevc            nuv
    binkaudio_rdft      hnm4_video      paf_audio
    bintext         huffyuv         paf_video
    pam         realtext        v308
    pbm         rl2         v408
    pcm_alaw        roq         v410
    pcm_bluray      roq_dpcm        vb
    pcm_dvd         rpza            vble
    pcm_f32be       rv10            vc1
    pcm_f32le       rv20            vc1image
    pcm_f64be       rv30            vcr1
    pcm_f64le       rv40            vima
    pcm_lxf         s302m           vmdaudio
    pcm_mulaw       sami            vmdvideo
    pcm_s16be       sanm            vmnc
    pcm_s16be_planar    sgi         vorbis
    pcm_s16le       sgirle          vp3
    pcm_s16le_planar    shorten         vp5
    pcm_s24be       sipr            vp6
    pcm_s24daud     smackaud        vp6a
    pcm_s24le       smacker         vp6f
    pcm_s24le_planar    smc         vp8
    pcm_s32be       smvjpeg         vp9
    pcm_s32le       snow            vplayer
    pcm_s32le_planar    sol_dpcm        vqa
    pcm_s8          sonic           wavpack
    pcm_s8_planar       sp5x            webp
    pcm_u16be       srt         webvtt
    pcm_u16le       ssa         wmalossless
    pcm_u24be       subrip          wmapro
    pcm_u24le       subviewer       wmav1
    pcm_u32be       subviewer1      wmav2
    pcm_u32le       sunrast         wmavoice
    pcm_u8          svq1            wmv1
    pcm_zork        svq3            wmv2
    pcx         tak         wmv3
    pgm         targa           wmv3image
    pgmyuv          targa_y216      wnv1
    pgssub          text            ws_snd1
    pictor          theora          xan_dpcm
    pjs         thp         xan_wc3
    png         tiertexseqvideo     xan_wc4
    ppm         tiff            xbin
    prores          tmv         xbm
    prores_lgpl     truehd          xface
    ptx         truemotion1     xl
    qcelp           truemotion2     xsub
    qdm2            truespeech      xwd
    qdraw           tscc            y41p
    qpeg            tscc2           yop
    qtrle           tta         yuv4
    r10k            twinvq          zero12v
    r210            txd         zerocodec
    ra_144          ulti            zlib
    ra_288          utvideo         zmbv
    ralf            v210
    rawvideo        v210x

    Enabled encoders:
    a64multi        ljpeg           prores
    a64multi5       mjpeg           prores_aw
    aac         movtext         prores_ks
    ac3         mp2         qtrle
    ac3_fixed       mp2fixed        r10k
    adpcm_adx       mpeg1video      r210
    adpcm_g722      mpeg2video      ra_144
    adpcm_g726      mpeg4           rawvideo
    adpcm_ima_qt        msmpeg4v2       roq
    adpcm_ima_wav       msmpeg4v3       roq_dpcm
    adpcm_ms        msvideo1        rv10
    adpcm_swf       nellymoser      rv20
    adpcm_yamaha        pam         s302m
    alac            pbm         sgi
    amv         pcm_alaw        snow
    ass         pcm_f32be       sonic
    asv1            pcm_f32le       sonic_ls
    asv2            pcm_f64be       srt
    avrp            pcm_f64le       ssa
    avui            pcm_mulaw       subrip
    ayuv            pcm_s16be       sunrast
    bmp         pcm_s16be_planar    svq1
    cljr            pcm_s16le       targa
    comfortnoise        pcm_s16le_planar    tiff
    dca         pcm_s24be       tta
    dnxhd           pcm_s24daud     utvideo
    dpx         pcm_s24le       v210
    dvbsub          pcm_s24le_planar    v308
    dvdsub          pcm_s32be       v408
    dvvideo         pcm_s32le       v410
    eac3            pcm_s32le_planar    vorbis
    ffv1            pcm_s8          wavpack
    ffvhuff         pcm_s8_planar       wmav1
    flac            pcm_u16be       wmav2
    flashsv         pcm_u16le       wmv1
    flashsv2        pcm_u24be       wmv2
    flv         pcm_u24le       xbm
    g723_1          pcm_u32be       xface
    gif         pcm_u32le       xsub
    h261            pcm_u8          xwd
    h263            pcx         y41p
    h263p           pgm         yuv4
    huffyuv         pgmyuv          zlib
    jpeg2000        png         zmbv
    jpegls          ppm

    Enabled hwaccels:

    Enabled parsers:
    aac         dvd_nav         mpegvideo
    aac_latm        dvdsub          png
    ac3         flac            pnm
    adx         gsm         rv30
    bmp         h261            rv40
    cavsvideo       h263            tak
    cook            h264            vc1
    dca         hevc            vorbis
    dirac           mjpeg           vp3
    dnxhd           mlp         vp8
    dpx         mpeg4video      vp9
    dvbsub          mpegaudio

    Enabled demuxers:
    aac         hevc            pcm_s32le
    ac3         hls         pcm_s8
    act         hnm         pcm_u16be
    adf         ico         pcm_u16le
    adp         idcin           pcm_u24be
    adx         idf         pcm_u24le
    aea         iff         pcm_u32be
    afc         ilbc            pcm_u32le
    aiff            image2          pcm_u8
    amr         image2pipe      pjs
    anm         ingenient       pmp
    apc         ipmovie         pva
    ape         ircam           pvf
    aqtitle         iss         qcp
    asf         iv8         r3d
    ass         ivf         rawvideo
    ast         jacosub         realtext
    au          jv          redspark
    avi         latm            rl2
    avr         lmlm4           rm
    avs         loas            roq
    bethsoftvid     lvf         rpl
    bfi         lxf         rsd
    bink            m4v         rso
    bintext         matroska        rtp
    bit         mgsts           rtsp
    bmv         microdvd        sami
    boa         mjpeg           sap
    brstm           mlp         sbg
    c93         mm          sdp
    caf         mmf         segafilm
    cavsvideo       mov         shorten
    cdg         mp3         siff
    cdxl            mpc         smacker
    concat          mpc8            smjpeg
    data            mpegps          smush
    daud            mpegts          sol
    dfa         mpegtsraw       sox
    dirac           mpegvideo       spdif
    dnxhd           mpl2            srt
    dsicin          mpsub           str
    dts         msnwc_tcp       subviewer
    dtshd           mtv         subviewer1
    dv          mv          swf
    dxa         mvi         tak
    ea          mxf         tedcaptions
    ea_cdata        mxg         thp
    eac3            nc          tiertexseq
    epaf            nistsphere      tmv
    ffm         nsv         truehd
    ffmetadata      nut         tta
    filmstrip       nuv         tty
    flac            ogg         txd
    flic            oma         vc1
    flv         paf         vc1t
    fourxm          pcm_alaw        vivo
    frm         pcm_f32be       vmd
    g722            pcm_f32le       vobsub
    g723_1          pcm_f64be       voc
    g729            pcm_f64le       vplayer
    gif         pcm_mulaw       vqf
    gsm         pcm_s16be       w64
    gxf         pcm_s16le       wav
    h261            pcm_s24be       wc3
    h263            pcm_s24le       webvtt
    h264            pcm_s32be       wsaud
    wsvqa           xa          xwma
    wtv         xbin            yop
    wv          xmv         yuv4mpegpipe

    Enabled muxers:
    a64         image2pipe      pcm_s24be
    ac3         ipod            pcm_s24le
    adts            ircam           pcm_s32be
    adx         ismv            pcm_s32le
    aiff            ivf         pcm_s8
    amr         jacosub         pcm_u16be
    asf         latm            pcm_u16le
    asf_stream      m4v         pcm_u24be
    ass         matroska        pcm_u24le
    ast         matroska_audio      pcm_u32be
    au          md5         pcm_u32le
    avi         microdvd        pcm_u8
    avm2            mjpeg           psp
    bit         mkvtimestamp_v2     rawvideo
    caf         mlp         rm
    cavsvideo       mmf         roq
    crc         mov         rso
    data            mp2         rtp
    daud            mp3         rtsp
    dirac           mp4         sap
    dnxhd           mpeg1system     segment
    dts         mpeg1vcd        smjpeg
    dv          mpeg1video      smoothstreaming
    eac3            mpeg2dvd        sox
    f4v         mpeg2svcd       spdif
    ffm         mpeg2video      speex
    ffmetadata      mpeg2vob        srt
    filmstrip       mpegts          stream_segment
    flac            mpjpeg          swf
    flv         mxf         tee
    framecrc        mxf_d10         tg2
    framemd5        null            tgp
    g722            nut         truehd
    g723_1          ogg         vc1
    gif         oma         vc1t
    gxf         opus            voc
    h261            pcm_alaw        w64
    h263            pcm_f32be       wav
    h264            pcm_f32le       webm
    hds         pcm_f64be       webvtt
    hls         pcm_f64le       wtv
    ico         pcm_mulaw       wv
    ilbc            pcm_s16be       yuv4mpegpipe
    image2          pcm_s16le

    Enabled protocols:
    cache           hls         rtmpt
    concat          http            rtp
    crypto          httpproxy       srtp
    data            md5         tcp
    ffrtmphttp      mmsh            udp
    file            mmst            unix
    ftp         pipe
    gopher          rtmp

    Enabled filters:
    aconvert        colorchannelmixer   null
    adelay          compand         nullsink
    aecho           concat          nullsrc
    aeval           copy            overlay
    aevalsrc        crop            pad
    afade           curves          pan
    aformat         dctdnoiz        perms
    ainterleave     decimate        pixdesctest
    allpass         deshake         psnr
    alphaextract        drawbox         removelogo
    alphamerge      drawgrid        replaygain
    amerge          earwax          rgbtestsrc
    amix            edgedetect      rotate
    amovie          elbg            scale
    anull           equalizer       select
    anullsink       extractplanes       sendcmd
    anullsrc        fade            separatefields
    apad            field           setdar
    aperms          fieldmatch      setfield
    aphaser         fieldorder      setpts
    aresample       format          setsar
    aselect         fps         settb
    asendcmd        framestep       showinfo
    asetnsamples        gradfun         showspectrum
    asetpts         haldclut        showwaves
    asetrate        haldclutsrc     silencedetect
    asettb          hflip           sine
    ashowinfo       highpass        smptebars
    asplit          histogram       smptehdbars
    astats          hue         split
    astreamsync     idet            swapuv
    atempo          il          telecine
    atrim           interleave      testsrc
    avectorscope        join            thumbnail
    bandpass        life            tile
    bandreject      lowpass         transpose
    bass            lut         treble
    bbox            lut3d           trim
    biquad          lutrgb          unsharp
    blackdetect     lutyuv          vflip
    blend           mandelbrot      vignette
    cellauto        mergeplanes     volume
    channelmap      movie           volumedetect
    channelsplit        negate          w3fdif
    color           noformat
    colorbalance        noise

    Enabled bsfs:
    aac_adtstoasc       imx_dump_header     mp3_header_decompress
    chomp           mjpeg2jpeg      noise
    dump_extradata      mjpega_dump_header  remove_extradata
    h264_mp4toannexb    mov2textsub     text2movsub

    Enabled indevs:
    dv1394          lavfi
    fbdev           v4l2

    Enabled outdevs:
    fbdev           v4l2

    License: LGPL version 2.1 or later
  • Building FFmpeg for Android to use command line arguments

    28 juin 2013, par Zargoon

    I am trying to build the FFmpeg library to use in my android app with the NDK. The reason for this is because I am using the native video capture feature in android because I really don't want to write my own video recorder. However, the native video capture only allows for either high-quality encoding, or low quality encoding. I want something in between, and I believe that the solution is to use the FFmpeg library to re-encode the high quality video to be lighter.

    So far I have been able to build the FFmpeg library according to this guide : http://www.roman10.net/how-to-build-ffmpeg-for-android/ and which a few tweaks I have been able to get it to work.

    However, everything that I've found seems to be about writing your own encoder, which seems like overkill to me. All that I really want to do is send a string in command line format to the main() function of FFmpeg and re-encode my video. However, I can't seem to figure out how I build FFmpeg to give me access to the main method. I found this post : Compile ffmpeg.c and call its main() via JNI which links to a project doing what I want more of less, but for the life of me I cannot figure out what is going on. It also seems like he is compiling more than I want, and I would really like to keep my application as light weight as possible.

    Some additional direction would be extremely helpful. Thank you.