Recherche avancée

Médias (0)

Mot : - Tags -/latitude

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

Autres articles (57)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (8432)

  • Undefined Reference - ffmpeg on android ndk

    28 décembre 2012, par Gabriel Simões

    I´ve spent many hours trying to figure out why I still get "undefined reference" when trying to link to ffmpeg.
    I´ve already read most if not all posts and sites about the subject, so I think I´m missing something little here and I hope you can help me.

    What I have :

    I´m using windows 7 + cygwin + crystax r4.
    I´ve compiled FFMPEG using RockPlayer's ffmpeg source plus some modifications I did (only to include / exclude demuxes, decoders, encoders, ...)
    After compiling, I get :

    • a new folder named armv5te, which includes :
    • a folder named "include" with all folders for each libs' .h
    • a folder named "lib" which includes all libs' .a
    • a shared library named libffmpeg.so (checked soname and it is libffmpeg)

    The shared library isn´t also placed on project/lib/armeabi/libffmpeg.so

    After compiling I tried to compile my project and link it. While my .cpp compiles ok, I get many undefined references.

    here is my build script :

    NDK=/cygdrive/c/Gabriel/Desenvolvimento/SDKs/Android/android-ndk-r4-crystax
    PLATFORM=$NDK/build/platforms/android-8/arch-arm/
    PREBUILT=$NDK/build/prebuilt/windows/arm-eabi-4.4.0


    function build_one
    {

    ./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=" -O2 -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" \
       --disable-stripping \
       --disable-debug \
       --disable-symver \
       --disable-ffprobe \
       --disable-devices \
       --disable-avfilter \
       --disable-swscale \
       --disable-ffplay \
       --disable-ffserver \
       --disable-network \
           (many more ...)
       --enable-asm \
       $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 v5
    CPU=armv5te
    OPTIMIZE_CFLAGS="-marm -march=$CPU"
    PREFIX=./android/$CPU
    ADDITIONAL_CONFIGURE_FLAG=
    build_one

    Here is my android.mk :

    LOCAL_PATH := $(call my-dir)

    #declare the prebuilt library
    include $(CLEAR_VARS)
    LOCAL_MODULE := ffmpeg-prebuilt
    LOCAL_SRC_FILES := $(LOCAL_PATH)/ffmpeg/android/armv5te/libffmpeg.so
    LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/ffmpeg/android/armv5te/include
    LOCAL_PRELINK_MODULE := true
    include $(PREBUILT_SHARED_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE    := audiocodec
    LOCAL_SRC_FILES := ffmpeg_audio.cpp
    LOCAL_SHARED_LIBRARY := libffmpeg
    LOCAL_C_INCLUDES := $(LOCAL_PATH)/ffmpeg/android/armv5te/include
    LOCAL_LDLIBS    := -llog -ljnigraphics -lz -lm $(LOCAL_PATH)/ffmpeg/android/armv5te/libffmpeg.so
    include $(BUILD_SHARED_LIBRARY)

    The result :

    Compile++ thumb: audiocodec <= /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFM
    PEG/jni/ffmpeg_audio.cpp
    SharedLibrary  : libaudiocodec.so
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/obj/local/armeabi/objs/audi
    ocodec/ffmpeg_audio.o: In function `Java_gabriel_audioslower_pro_ffmpegDecoder_r
    eadSamples':
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:172: u
    ndefined reference to `avcodec_decode_audio3(AVCodecContext*, short*, int*, AVPa
    cket*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:178: u
    ndefined reference to `av_read_frame(AVFormatContext*, AVPacket*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/obj/local/armeabi/objs/audi
    ocodec/ffmpeg_audio.o: In function `Java_gabriel_audioslower_pro_ffmpegDecoder_s
    eekToPosMS':
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:147: u
    ndefined reference to `av_rescale_q(long long, AVRational, AVRational)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:150: u
    ndefined reference to `av_seek_frame(AVFormatContext*, int, long long, int)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:151: u
    ndefined reference to `avcodec_flush_buffers(AVCodecContext*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:152: u
    ndefined reference to `av_read_frame(AVFormatContext*, AVPacket*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/obj/local/armeabi/objs/audi
    ocodec/ffmpeg_audio.o: In function `Java_gabriel_audioslower_pro_ffmpegDecoder_c
    loseFile':
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:82: un
    defined reference to `avcodec_close(AVCodecContext*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:83: un
    defined reference to `av_free(void*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:84: un
    defined reference to `av_close_input_file(AVFormatContext*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/obj/local/armeabi/objs/audi
    ocodec/ffmpeg_audio.o: In function `Java_gabriel_audioslower_pro_ffmpegDecoder_o
    penAudioFile':
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:37: un
    defined reference to `av_open_input_file(AVFormatContext**, char const*, AVInput
    Format*, int, AVFormatParameters*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:44: un
    defined reference to `av_find_stream_info(AVFormatContext*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:52: un
    defined reference to `avcodec_find_decoder(CodecID)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:60: un
    defined reference to `avcodec_open(AVCodecContext*, AVCodec*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:67: un
    defined reference to `av_malloc(unsigned int)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:70: un
    defined reference to `av_read_frame(AVFormatContext*, AVPacket*)'
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/obj/local/armeabi/objs/audi
    ocodec/ffmpeg_audio.o: In function `JNI_OnLoad':
    /cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/jni/ffmpeg_audio.cpp:25: un
    defined reference to `av_register_all()'
    collect2: ld returned 1 exit status
    make: *** [/cygdrive/c/Gabriel/Desenvolvimento/Workspace/FFMPEG/obj/local/armeab
    i/libaudiocodec.so] Error 1

    Something interesting is that some functions from ffmpeg, as av_register_all(), do now show up on the list of undefined references.

    Any ideas on what I can do to fix it ? I´ve spent 3 days trying to make things work ..
    Thanks !

  • Mixing a FLV audio stream with a WAV background track, and converting to MP3 with SoX and FFmpeg

    7 septembre 2012, par tubbo

    I'm building a Flash-based recording application for a contracted web site. It streams the recorded voice (via SWF) to a Red5 server, then uses a combination of FFmpeg and SoX to compile the vocal audio with a lower-in-volume background music track. This all has to happen on-demand, that is, when a user "saves" his or her vocal recording.

    Here is an example command I will be running. Names have been changed to protect the innocent. The filenames describe their role in the final file :

    sox --combine mix -p --no-show-progress --norm "|ffmpeg -i /usr/share/red5/webapps/audiorecorder/stream/SPOKEN_VOICE.flv -t wav pipe:1" /var/www/ufiles/music/BACKGROUND_MUSIC.wav - | ffmpeg -i pipe:1 /var/www/ufiles/recordings/COMPILED_AUDIO_RECORDING.mp3

    When I run this command in the shell, this is what happens :

    $ sox --combine mix -p --no-show-progress --norm "|ffmpeg -i audioStream_1321399534128_21.flv -ar 44100 -ac 2 -t wav pipe:1" wrong.wav - | ffmpeg -i pipe:1 ~/www/trauma101.com/compiled.mp3
    ffmpeg version N-34884-g7575980, Copyright (c) 2000-2011 the FFmpeg developers
     built on Nov 15 2011 14:06:49 with gcc 4.4.5
     configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-x11grab --enable-libspeex
     libavutil    51. 25. 0 / 51. 25. 0
     libavcodec   53. 34. 0 / 53. 34. 0
     libavformat  53. 20. 0 / 53. 20. 0
     libavdevice  53.  4. 0 / 53.  4. 0
     libavfilter   2. 48. 1 /  2. 48. 1
     libswscale    2.  1. 0 /  2.  1. 0
     libpostproc  51.  2. 0 / 51.  2. 0
    ffmpeg version N-34884-g7575980, Copyright (c) 2000-2011 the FFmpeg developers
     built on Nov 15 2011 14:06:49 with gcc 4.4.5
     configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-x11grab --enable-libspeex
     libavutil    51. 25. 0 / 51. 25. 0
     libavcodec   53. 34. 0 / 53. 34. 0
     libavformat  53. 20. 0 / 53. 20. 0
     libavdevice  53.  4. 0 / 53.  4. 0
     libavfilter   2. 48. 1 /  2. 48. 1
     libswscale    2.  1. 0 /  2.  1. 0
     libpostproc  51.  2. 0 / 51.  2. 0
    [libspeex @ 0x1e36b20] Missing Speex header, assuming defaults.
    Input #0, flv, from 'audioStream_1321399534128_21.flv':
     Metadata:
       novideocodec    : 0
       server          : Red5 Server 1.0.0 RC2 Rev: 4295
       creationdate    : Tue Nov 15 15:25:41 PST 2011
       canSeekToEnd    : true
     Duration: 00:00:06.77, start: 0.000000, bitrate: 43 kb/s
       Stream #0:0: Audio: speex, 16000 Hz, 1 channels, s16
    Invalid duration specification for t: wav
    sox FAIL formats: can't open input pipe `|ffmpeg -i audioStream_1321399534128_21.flv -ar 44100 -ac 2 -t wav pipe:1': premature EOF

    I think the issue is stemming from the conversion from FLV to WAV in FFmpeg, and since it's being piped in it causes the whole process to fail. I always get that duration warning, but when FFmpeg outputs to a .wav file and the SoX command is run separately, I can still get a WAV from SoX and convert that to MP3 manually. I'd like to do all this in one line, piping the data between applications.

    What do I do ?

  • Creating thumbnails with FFmpeg

    3 janvier 2012, par Calin-Andrei Burloiu

    I am using FFmpeg to extract thumbnails from specific positions of video files.

    I found on the web two approaches to do this :

    1. With -ss (seek) parameter before -i (input) parameter :

      ffmpeg -y -ss $SEEK_POINT -i input.ogv -vcodec mjpeg -vframes 1 -an -s 120x90 -f rawvideo output.jpg

    2. With -ss (seek) parameter after -i (input) parameter :

      ffmpeg -y -i input.ogv -vcodec mjpeg -ss $SEEK_POINT -vframes 1 -an -s 120x90 -f rawvideo output.jpg

    The first method generates a bad thumbnail with gray spots, but works very fast. The error returned is [theora @ 0x8097240] vp3: first frame not a keyframe.

    The second method always works but show an error which cause the extraction to take a lot of time. This amount of time is not fixed and it depends on the seek point as I noticed. Sometimes it takes a few seconds and other times several minutes to extract a thumbnail. I get the error Buffering several frames is not supported. Please consume all available frames before adding a new one. in the following output :

    Input #0, ogg, from 'input.ogv':
     Duration: 00:21:52.76, start: 0.000000, bitrate: 844 kb/s
       Stream #0.0: Video: theora, yuv420p, 800x600 [PAR 4:3 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
       Stream #0.1: Audio: vorbis, 44100 Hz, stereo, s16, 192 kb/s
       Metadata:
         ENCODER         : Lavf52.102.0
    Incompatible pixel format 'yuv420p' for codec 'mjpeg', auto-selecting format 'yuvj420p'                                                                        
    [buffer @ 0x9250840] w:800 h:600 pixfmt:yuv420p                                
    [scale @ 0x92508a0] w:800 h:600 fmt:yuv420p -> w:120 h:90 fmt:yuvj420p flags:0x4
    Output #0, rawvideo, to 'output.jpg':
     Metadata:
       encoder         : Lavf53.2.0
       Stream #0.0: Video: mjpeg, yuvj420p, 120x90 [PAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream mapping:
     Stream #0.0 -> #0.0
    Press ctrl-c to stop encoding
    [buffer @ 0x9250840] Buffering several frames is not supported. Please consume all available frames before adding a new one.                                    
    frame=    0 fps=  0 q=0.0 size=       0kB time=10000000000.00 bitrate=   0.0kbit
    Last message repeated 15448 times
    frame=    1 fps=  0 q=3.4 Lsize=       3kB time=0.04 bitrate= 598.8kbits/s    
    video:3kB audio:0kB global headers:0kB muxing overhead 0.000000%

    How can I extract thumbnails without any problems using FFmpeg from a custom position of a video regardless of the input format ?