Recherche avancée

Médias (91)

Autres articles (28)

  • 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 (...)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • MediaSPIP en mode privé (Intranet)

    17 septembre 2013, par

    À partir de la version 0.3, un canal de MediaSPIP peut devenir privé, bloqué à toute personne non identifiée grâce au plugin "Intranet/extranet".
    Le plugin Intranet/extranet, lorsqu’il est activé, permet de bloquer l’accès au canal à tout visiteur non identifié, l’empêchant d’accéder au contenu en le redirigeant systématiquement vers le formulaire d’identification.
    Ce système peut être particulièrement utile pour certaines utilisations comme : Atelier de travail avec des enfants dont le contenu ne doit pas (...)

Sur d’autres sites (5853)

  • 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 ?

  • 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 !

  • FFmpeg / Create video / Add caption (timestamp) of each jpg file to generate mp4

    17 août 2012, par low

    I've got some pictures, as screenshot-1.jpg, ..., screenshot-345.jpg, cycle of automatic capture from my computer (cycle of 30 seconds). I use FFmpeg to generate a video mp4 format, but, I want to add on the video the timestamp of each jpg file.

    This is my command line of FFmpeg :

    ffmpeg.exe -f image2 -r 4 -i screenshot-%0d.jpg -b 512000 -s 3840x1200 -sameq video.mp4

    In this case, I can show the date/time during de video play.

    Thanks.
    Low