Recherche avancée

Médias (0)

Mot : - Tags -/performance

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

Autres articles (23)

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

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (2994)

  • Revert "swscale : disable ARM code until its build failure with clang/iphone is fixed"

    12 janvier 2014, par Michael Niedermayer
    Revert "swscale : disable ARM code until its build failure with clang/iphone is fixed"
    

    This reverts commit c8c7736c1025bcf5bb27e104a0d0eae749408739.

    • [DH] libswscale/arm/Makefile
    • [DH] libswscale/swscale_unscaled.c
  • ffmpeg4.1.3 built with Android NDK is 4 times bigger than linux gcc

    3 juillet 2020, par ravin.wang

    FFmpeg version : 4.1.3
    
android-ndk-r19c, 44 MB (armeabi-v7a)
    
gcc-7 : 9.7 MB (x86_64)

    



    The configuration is almost the same :

    



    For android-ndk-19c :
    
I didn't link x264, under Linux x86_64, x264 is linked, so in theory Linux X86_64 links more code than the android one.

    



    #!/bin/bash

# set the toolchain
TOOLCHAIN=$NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64
CROSS_PREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-
rm -f $(pwd)/compat/strtod.o
function build_one
{
#configure ffmpeg w/o libx264
./configure \
    --prefix=$PREFIX \
    --disable-everything --disable-programs --disable-doc \
    --enable-ffmpeg --enable-jni \
    --enable-encoder=aac \
    --enable-encoder=mpeg4 \
    --enable-encoder=pcm_u16le --enable-encoder=pcm_s16le \
    --enable-encoder=yuv4 \
    --enable-encoder=rawvideo \
    --enable-encoder=wrapped_avframe \
    --enable-decoder=aac --enable-decoder=aac_at --enable-decoder=aac_fixed \
    --enable-decoder=aac_latm \
    --enable-decoder=ac3 --enable-decoder=ac3_at --enable-decoder=ac3_fixed \
    --enable-decoder=avs \
    --enable-decoder=eac3 \
    --enable-decoder=eac3_at \
    --enable-decoder=h263 \
    --enable-decoder=h264 \
    --enable-decoder=hevc \
    --enable-decoder=mp1 --enable-decoder=mp1_at --enable-decoder=mp1float \
    --enable-decoder=mp2 \
    --enable-decoder=mp2_at \
    --enable-decoder=mp2float \
    --enable-decoder=mp3 --enable-decoder=mp3_at --enable-decoder=mp3float \
    --enable-decoder=vp8 --enable-decoder=vp9 \
    --enable-decoder=mpeg1video \
    --enable-decoder=mpeg2video \
    --enable-decoder=mpeg4 \
    --enable-decoder=mpegvideo \
    --enable-decoder=pcm_u16le --enable-decoder=pcm_s16le \
    --enable-decoder=yuv4 \
    --enable-decoder=rawvideo \
    --enable-decoder=wrapped_avframe \
    --enable-muxer=mpegts \
    --enable-muxer=mp4 \
    --enable-muxer=matroska --enable-muxer=matroska_audio --enable-muxer=webm \
    --enable-muxer=h264 \
    --enable-muxer=hevc \
    --enable-muxer=rawvideo \
    --enable-muxer=adts \
    --enable-muxer=yuv4mpegpipe \
    --enable-demuxer=aac \
    --enable-demuxer=ac3 \
    --enable-demuxer=eac3 \
    --enable-demuxer=m4v \
    --enable-demuxer=matroska \
    --enable-demuxer=mp3 \
    --enable-demuxer=mpegps \
    --enable-demuxer=mpegts \
    --enable-demuxer=mpegvideo \
    --enable-demuxer=h263 \
    --enable-demuxer=h264 \
    --enable-demuxer=hevc \
    --enable-demuxer=mov \
    --enable-demuxer=rawvideo \
    --enable-demuxer=yuv4mpegpipe \
    --enable-parser=aac \
    --enable-parser=aac_latm \
    --enable-parser=ac3 \
    --enable-parser=h263 \
    --enable-parser=h264 \
    --enable-parser=hevc \
    --enable-parser=mpeg4video \
    --enable-parser=mpegaudio \
    --enable-parser=mpegvideo \
    --enable-parser=vp8 \
    --enable-parser=vp9 \
    --enable-protocol=file \
    --enable-bsf=aac_adtstoasc \
    --enable-bsf=h264_mp4toannexb \
    --enable-bsf=hevc_mp4toannexb \
    --enable-bsf=mpeg4_unpack_bframes \
    --enable-filter=scale \
    --disable-zlib --disable-xlib --disable-iconv --disable-alsa \
    --disable-libxcb_shape --disable-libxcb_xfixes --disable-lzma \
    --disable-sdl2 --disable-sndio --disable-bzlib --disable-libxcb \
    --disable-hwaccels \
    --target-os=android \
    --enable-cross-compile \
    --toolchain=clang-usan \
    --cross-prefix=$CROSS_PREFIX \
    --cc=$TOOLCHAIN/bin/armv7a-linux-androideabi28-clang \
    --cxx=$TOOLCHAIN/bin/armv7a-linux-androideabi28-clang++ \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    --sysroot=$TOOLCHAIN/sysroot $ADDITIONAL_CONFIG_FLAG
make clean
make -j4
make install
}

CPU=armeabi-v7a
mkdir -p $(pwd)/android/$CPU
PREFIX=$(pwd)/android/$CPU 
ADDI_CFLAGS=""
ADDI_LDFLAGS="-Wl,-Bsymbolic"
ADDITIONAL_CONFIG_FLAG="--arch=arm"
build_one


    



    After finishing and stripping it, 44MB ffmpeg is generated, it is horrible, but I have no idea for it, I tried to add -Os CFLAGS, but it does not help.

    



    Here is the X86_64 :

    



    #!/bin/bash

configure()
{
    CPU=$1
    HOST=linux
    PREFIX=$(pwd)/$HOST/$CPU 
    ADDI_CFLAGS="-I$(pwd)/../x264-stable/$HOST/$CPU/include"
    ADDI_LDFLAGS="-L$(pwd)/../x264-stable/$HOST/$CPU/lib"
    ADDITIONAL_CONFIG_FLAG=""

    ./configure \
    --prefix=$PREFIX \
    --disable-everything --disable-programs --disable-doc \
    --enable-ffmpeg --enable-libx264 --enable-gpl \
    --enable-encoder=aac \
    --enable-encoder=libx264 \
    --enable-encoder=mpeg4 \
    --enable-encoder=pcm_u16le --enable-encoder=pcm_s16le \
    --enable-encoder=yuv4 \
    --enable-encoder=rawvideo \
    --enable-encoder=wrapped_avframe \
    --enable-decoder=aac \
    --enable-decoder=aac_at \
    --enable-decoder=aac_fixed \
    --enable-decoder=aac_latm \
    --enable-decoder=ac3 --enable-decoder=ac3_at --enable-decoder=ac3_fixed \
    --enable-decoder=avs \
    --enable-decoder=eac3 \
    --enable-decoder=eac3_at \
    --enable-decoder=h263 \
    --enable-decoder=h264 \
    --enable-decoder=hevc \
    --enable-decoder=mp1 --enable-decoder=mp1_at --enable-decoder=mp1float \
    --enable-decoder=mp2 \
    --enable-decoder=mp2_at \
    --enable-decoder=mp2float \
    --enable-decoder=mp3 --enable-decoder=mp3_at --enable-decoder=mp3float \
    --enable-decoder=vp8 --enable-decoder=vp9 \
    --enable-decoder=mpeg1video \
    --enable-decoder=mpeg2video \
    --enable-decoder=mpeg4 \
    --enable-decoder=mpegvideo \
    --enable-decoder=pcm_u16le --enable-decoder=pcm_s16le \
    --enable-decoder=yuv4 \
    --enable-decoder=rawvideo --enable-decoder=wrapped_avframe \
    --enable-muxer=mpegts \
    --enable-muxer=mp4 \
    --enable-muxer=matroska --enable-muxer=matroska_audio --enable-muxer=webm \
    --enable-muxer=h264 \
    --enable-muxer=hevc \
    --enable-muxer=rawvideo \
    --enable-muxer=adts \
    --enable-muxer=yuv4mpegpipe \
    --enable-demuxer=aac \
    --enable-demuxer=ac3 \
    --enable-demuxer=eac3 \
    --enable-demuxer=m4v \
    --enable-demuxer=matroska \
    --enable-demuxer=mp3 \
    --enable-demuxer=mpegps \
    --enable-demuxer=mpegts \
    --enable-demuxer=mpegvideo \
    --enable-demuxer=h263 \
    --enable-demuxer=h264 \
    --enable-demuxer=hevc \
    --enable-demuxer=mov \
    --enable-demuxer=rawvideo \
    --enable-demuxer=yuv4mpegpipe \
    --enable-parser=aac \
    --enable-parser=aac_latm \
    --enable-parser=ac3 \
    --enable-parser=h263 \
    --enable-parser=h264 \
    --enable-parser=hevc \
    --enable-parser=mpeg4video \
    --enable-parser=mpegaudio \
    --enable-parser=mpegvideo \
    --enable-parser=vp8 \
    --enable-parser=vp9 \
    --enable-protocol=file \
    --enable-bsf=aac_adtstoasc \
    --enable-bsf=h264_mp4toannexb \
    --enable-bsf=hevc_mp4toannexb \
    --enable-bsf=mpeg4_unpack_bframes \
    --enable-filter=scale \
    --disable-zlib --disable-xlib --disable-iconv \
    --disable-alsa --disable-libxcb_shape --disable-libxcb_xfixes \
    --disable-lzma --disable-sdl2 --disable-sndio \
    --disable-bzlib --disable-libxcb \
    --disable-hwaccels \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS"
}

build()
{
    make clean
    cpu=$1

    echo "build $cpu"

    configure $cpu
    make -j4
    make install
}

build linux_x86_64



    


  • Iphone Streaming and playing Audio Problem

    20 août 2011, par KayKay

    I am trying to make an app that plays audio stream using ffmpeg, libmms.
    I can open mms server, get stream, and decode audio frame to raw frame using suitable codec.
    However I don't know how to do next.
    I think I must use AudioToolbox/AudioToolbox.h and make audioqueue.
    but however when I give audioqueuebuffer decode buffer's memory and play, Only plays the white noise.
    Here is my code.

    What am i missing ?
    Any comment and hint is very appreciated.
    Thanks very much.

    while(av_read_frame(pFormatCtx, &pkt)>=0)
    {
       int pkt_decoded_len = 0;
       int frame_decoded_len;
       int decode_buff_remain=AVCODEC_MAX_AUDIO_FRAME_SIZE * 5;
       if(pkt.stream_index==audiostream)
       {
           frame_decoded_len=decode_buff_remain;
           int16_t *decode_buff_ptr = decode_buffer;
           int decoded_tot_len=0;
           pkt_decoded_len = avcodec_decode_audio2(pCodecCtx, decode_buff_ptr, &frame_decoded_len,
                                                   pkt.data, pkt.size);
           if (pkt_decoded_len <0) break;
           AudioQueueAllocateBuffer(audioQueue, kBufferSize, &buffers[i]);
           AQOutputCallback(self, audioQueue, buffers[i], pkt_decoded_len);

           if(i == 1){
               AudioQueueSetParameter(audioQueue, kAudioQueueParam_Volume, 1.0);
               AudioQueueStart(audioQueue, NULL);
           }
           i++;
       }
    }


    void AQOutputCallback(void *inData, AudioQueueRef inAQ, AudioQueueBufferRef inBuffer, int copySize)
    {
       mmsDemoViewController *staticApp = (mmsDemoViewController *)inData;
       [staticApp handleBufferCompleteForQueue:inAQ buffer:inBuffer size:copySize];
    }

    - (void)handleBufferCompleteForQueue:(AudioQueueRef)inAQ
                             buffer:(AudioQueueBufferRef)inBuffer
                               size:(int)copySize
    {
       inBuffer->mAudioDataByteSize = inBuffer->mAudioDataBytesCapacity;
       memcpy((char*)inBuffer->mAudioData, (const char*)decode_buffer, copySize);

       AudioQueueEnqueueBuffer(inAQ, inBuffer, 0, NULL);
    }