Recherche avancée

Médias (91)

Autres articles (40)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (6979)

  • How to compute the number of extra samples added by LAME or FFMPEG

    24 janvier 2018, par actuallyaswin

    I am attempting to build a MP3 decoder / parser in Python which supports files encoded by LAME or FFMPEG.

    My encoding shell script is shown here :

    #!/bin/bash
    for i in wav/*.wav; do
       i=${i##*/};
       lame --nores --strictly-enforce-ISO -t --cbr -b 64 -h "wav/${i}" "mpeg/lame/${i%.wav}.mp3";
       ffmpeg -i "wav/${i}" -codec:a libmp3lame -qscale:a 2 "mpeg/ffmpeg/${i%.wav}.mp3";
    done

    This scripts reads WAVE files located in ./wav/ and produces a controlled-bitrate MP3 of 64kbps in my ./mp3/lame/ directory, and a variable-bitrate MP3 of quality 2 in my ./mp3/ffmpeg/.

    I have written a Python script that iterates through both resultant MP3s, counting the number of frames and samples. Both the LAME and FFMPEG results are equivalent (in terms of frames and samples), but their binary files are different.

    The LAME/FFMPEG sample count was done by iterating through the binary MP3 files, locating and parsing the frame header, then using the MP3 spec to determine the number of samples per frame.

    • Number of MP3 data-frames : 112 (ignoring the Xing/Info first frame)
    • Number of output frames : 112*576 = 64512

    Here is a comparison of the sample count for a single 4-second input file :

    • Input WAV # of samples = 62996
    • Output LAME/FFMPEG # of samples = 64512
    • Difference = 1516

    I understand that according to the LAME FAQ file, resultant MP3 files are zero padded in the front and back to make sure the inverse MDCT is performed properly, but also because the windows overlap.

    What I can’t ascertain from the above FAQ, or from any previous StackOverflow post, is how to compute the number of artificially added samples. If I can be sure that all 1516 of these samples are zeros, and I can be sure of their position in the bytestream, I’d like to be able to confidently toss them out. Since there are 1516 "extra" samples and there are 576 samples per frame for a V2LIII encoding, then there must be more than two (but less than three) erroneous MPEG frames here.

    Is anyone here savvy enough with MPEG encoding/decoding to know how many samples are added, and in which frames those samples will be in ? In other words, will the first frame and last frame always contain blank data, or are there more frames ?

  • Building ffmpeg 3.3 with android-ndk-r14b

    23 mai 2017, par Priyo Chatterjee

    Changes made in configure file of ffmpeg :

    SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
    LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
    SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
    SLIB_INSTALL_LINKS='$(SLIBNAME)'

    build_configure.sh

    #!/bin/bash
     ######################################################
    # 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
    ######################################################
    NDK=$HOME/Fame/android-ndk-r14b
    PLATFORM=$NDK/platforms/android-9/arch-arm/
    TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
    function build_one
    {
    ./configure --target-os=linux \
     --prefix=$PREFIX \
     --enable-cross-compile \
     --arch=arm \
     --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
     --cross-prefix=$PREBUILT/bin/arm-linux-androideabi-4.9 \
     --nm=$PREBUILT/bin/arm-linux-androideabi-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 \
     --disable-everything \
     --enable-demuxer=mov \
     --enable-demuxer=h264 \
     --disable-ffplay \
     --enable-protocol=file \
     --enable-avformat \
     --enable-avcodec \
     --enable-decoder=rawvideo \
     --enable-decoder=mjpeg \
     --enable-decoder=h263 \
     --enable-decoder=h265 \
     --enable-decoder=mpeg4 \
     --enable-decoder=h264 \
     --enable-parser=h264 \
     --enable-parser=h265
     --enabled-network \
     --enable-zlib \
     --disable-avfilter \
     --disable-avdevice \
     --disable-yasm \
     --disable-ffmpeg
     --disable-ffprobe
     --disable-ffserver
     $ADDITIONAL_CONFIGURE_FLAG

    make clean
    make  -j4 install
    $PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
    $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib \
    -soname libffmpeg.so -nostdlib,noexecstack -Bsymbolic \
    --whole-archive --no-undefined \
    -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavformat/libavformat.a \
    libavutil/libavutil.a libswscale/libswscale.a \
    $PLATFORM/usr/lib/libc.so $PLATFORM/usr/lib/libm.so \
    $PLATFORM/usr/lib/libz.so \
    $PLATFORM/usr/lib/libdl.so $PLATFORM/usr/lib/liblog.so \
    --dynamic-linker=/system/bin/linker \
    $PREBUILT/lib/gcc/arm-linux-androideabi/4.9/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
    #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

    Error in the console I am getting :
    ./build_android.sh

    ./configure : 466 : ./configure : cannot create ffbuild/config.log : Directory nonexistent
    ./configure : 466 : ./configure : cannot create ffbuild/config.log : Directory nonexistent
    /bin/arm-linux-androideabi-gcc is unable to create an executable file.
    C compiler test failed.

  • avfilter/avf_showcwt : improve analysis

    21 juillet 2023, par Paul B Mahol
    avfilter/avf_showcwt : improve analysis
    

    Make inverse FFT step always power of 2 in size.

    • [DH] libavfilter/avf_showcwt.c