Recherche avancée

Médias (0)

Mot : - Tags -/presse-papier

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

Autres articles (102)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

Sur d’autres sites (15645)

  • Building ffmpeg on Windows from Chromium - make : *** No rule to make target 'libavcodec\avcodec-57.dll'. Stop

    14 septembre 2016, par Catalin Fratila

    I am trying to compile ffmpeg on a Windows machine, using mingw64 and msys2.

    But when I run : "build_ffmpeg.py win ia32" (same result with x64), I get :

    /c/libchromiumcontent/src/third_party/ffmpeg/chromium/scripts
    $ ./build_ffmpeg.py win ia32
    install prefix            /usr/local
    source path               /c/libchromiumcontent/src/third_party/ffmpeg
    C compiler                gcc
    C library                 mingw64
    ARCH                      x86 (generic)
    big-endian                no
    runtime cpu detection     yes
    yasm                      yes
    MMX enabled               yes
    MMXEXT enabled            yes
    3DNow! enabled            yes
    3DNow! extended enabled   yes
    SSE enabled               yes
    SSSE3 enabled             yes
    AESNI enabled             yes
    AVX enabled               yes
    XOP enabled               yes
    FMA3 enabled              yes
    FMA4 enabled              yes
    i686 features enabled     yes
    CMOV is fast              yes
    EBX available             yes
    EBP available             yes
    debug symbols             yes
    strip symbols             yes
    optimize for size         no
    optimizations             yes
    static                    yes
    shared                    no
    postprocessing support    no
    new filter support        no
    network support           no
    threading support         w32threads
    safe bitstream reader     yes
    SDL support               no
    opencl enabled            no
    texi2html enabled         no
    perl enabled              no
    pod2man enabled           no
    makeinfo enabled          no
    makeinfo supports HTML    no

    Enabled programs:

    External libraries:

    Enabled decoders:
    pcm_alaw                  pcm_f32le                 pcm_mulaw                 pcm_s16be                 pcm_s16le                 pcm_s24be                 pcm_s24le                 pcm_s32le                 pcm_u8                    vorbis

    Enabled encoders:

    Enabled hwaccels:

    Enabled parsers:
    opus                      vorbis

    Enabled demuxers:
    matroska                  ogg                       wav

    Enabled muxers:

    Enabled protocols:

    Enabled filters:

    Enabled bsfs:

    Enabled indevs:

    Enabled outdevs:

    License: LGPL version 2.1 or later
    Creating config.mak, config.h, and doc/config.texi...
    make: *** No rule to make target 'libavcodec\avcodec-57.dll'.  Stop.
    System information:
    Host OS       : win
    Target OS     : win
    Host arch     : x64
    Target arch   : ia32
    Parallel jobs : 4

    Chromium configure/build:
    Running ['sh.exe', 'C:\\libchromiumcontent\\src\\third_party\\ffmpeg\\configure', '--disable-everything', '--disable-all', '--disable-doc', '--disable-htmlpages', '--disable-manpages', '--disable-podpages', '--disable-txtpages', '--disable-static', '--enable-avcodec', '--enable-avformat', '--enable-avutil', '--enable-fft', '--enable-rdft', '--enable-static', '--disable-bzlib', '--disable-error-resilience', '--disable-iconv', '--disable-lzo', '--disable-network', '--disable-schannel', '--disable-sdl', '--disable-symver', '--disable-xlib', '--disable-zlib', '--disable-securetransport', '--disable-d3d11va', '--disable-dxva2', '--disable-vaapi', '--disable-vda', '--disable-vdpau', '--disable-videotoolbox', '--enable-decoder=vorbis', '--enable-decoder=pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le', '--enable-decoder=pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw', '--enable-demuxer=ogg,matroska,wav', '--enable-parser=opus,vorbis', '--optflags="-O2"', '--enable-decoder=theora,vp8', '--enable-parser=vp3,vp8', '--toolchain=msvc', '--cpu=opteron', '--enable-yasm', '--extra-cflags=-IC:\\libchromiumcontent\\src\\third_party\\ffmpeg\\chromium/include/win', '--target-os=mingw32', '--enable-memalign-hack', '--cc=gcc-sjlj']
    Running ['make', '-j4', 'libavcodec\\avcodec-57.dll', 'libavformat\\avformat-57.dll', 'libavutil\\avutil-55.dll']
    Traceback (most recent call last):
     File "./build_ffmpeg.py", line 631, in <module>
       sys.exit(main(sys.argv[1:]))
     File "./build_ffmpeg.py", line 596, in main
       configure_args)
     File "./build_ffmpeg.py", line 588, in do_build_ffmpeg
       options.config_only, branding, configure_flags)
     File "./build_ffmpeg.py", line 217, in BuildFFmpeg
       ['make', '-j%d' % parallel_jobs] + libraries, cwd=config_dir)
     File "./build_ffmpeg.py", line 92, in PrintAndCheckCall
       subprocess.check_call(argv, *args, **kwargs)
     File "C:\Python27\lib\subprocess.py", line 541, in check_call
       raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['make', '-j4', 'libavcodec\\avcodec-57.dll', 'libavformat\\avformat-57.dll', 'libavutil\\avutil-55.dll']' returned non-zero exit status 2
    </module>

    Has anyone seen this issue before ? Have all the pre-requisites from here : https://trac.ffmpeg.org/wiki/CompilationGuide/MinGW

    Thanks.

  • ffmpeg how to ignore initial empty audio frames when decoding to loop a sound

    1er décembre 2020, par cs guy

    I am trying to loop a ogg sound file. The goal is to make a loopable audio interface for my mobile app.

    &#xA;

    I decode the given ogg file into a buffer and that buffer is sent to audio card for playing. All good until it the audio finishes (end of file). When it finishes I use av_seek_frame(avFormatContext, streamInfoIndex, 0, AVSEEK_FLAG_FRAME); to basically loop back to beginning. And continue decoding into writing to the same buffer. At first sight I thought this would give me perfect loops. One problem I had was, the decoder in the end gives me extra empty frames. So I ignored them by keeping track of how many samples are decoded :

    &#xA;

    durationInMillis = avFormatContext->duration * 1000;&#xA;numOfTotalSamples =&#xA;                (uint64_t) avFormatContext->duration *&#xA;                (uint64_t) pLocalCodecParameters->sample_rate *&#xA;                (uint64_t) pLocalCodecParameters->channels /&#xA;                (uint64_t) AV_TIME_BASE;&#xA;

    &#xA;

    When the threshold is reached I ignore the frames sent by the codec. I thought this was it and ran some test. I recorded 5 minutes of my app and in the end I compared the results in FL studio by customly adding the same sound clip several times to match the length of my audio recording :

    &#xA;

    Here it is after 5 minutes :

    &#xA;

    enter image description here

    &#xA;

    In the first loops the difference is very low I thought it was working and I used this for several days until I tested this on 5 minute recording. As the looping approached to 5 minutes mark the difference got very huge. My code is not looping the audio correctly. I suspect that the codec is adding 1 or 2 empty frames at the very beginning in each loop caused by av_seek_frame knowing that a frame can contain up several audio samples. These probably accumulate and cause the mismatch.

    &#xA;

    My question is : how can I drop the empty frames that is sent by codec while decoding so that I can create a perfect loop of the audio ?

    &#xA;

    My code is below here. Please be aware that I deleted lots of if checks that was inteded for safety to make it more readable in the code below, these removed checks are always false so it doesnt matter for the reader.

    &#xA;

    helper.cpp

    &#xA;

    int32_t&#xA;outputAudioFrame(AVCodecContext *avCodecContext, AVFrame *avResampledDecFrame, int32_t &amp;ret,&#xA;                 LockFreeQueue<float> *&amp;buffer, int8_t *&amp;mediaLoadPointer,&#xA;                 AVFrame *avDecoderFrame, SwrContext *swrContext,&#xA;                 std::atomic_bool *&amp;signalExitFuture,&#xA;                 uint64_t &amp;currentNumSamples, uint64_t &amp;numOfTotalSamples) {&#xA;    // resampling is done here but its boiler code so I removed it.&#xA;    auto *floatArrPtr = (float *) (avResampledDecFrame->data[0]);&#xA;&#xA;    int32_t numOfSamples = avResampledDecFrame->nb_samples * avResampledDecFrame->channels;&#xA;&#xA;    for (int32_t i = 0; i &lt; numOfSamples; i&#x2B;&#x2B;) {&#xA;        if (currentNumSamples == numOfTotalSamples) {&#xA;            break;&#xA;        }&#xA;&#xA;        buffer->push(*floatArrPtr);&#xA;        currentNumSamples&#x2B;&#x2B;;&#xA;        floatArrPtr&#x2B;&#x2B;;&#xA;    }&#xA;&#xA;    return 0;&#xA;}&#xA;&#xA;&#xA;&#xA;int32_t decode(int32_t &amp;ret, AVCodecContext *avCodecContext, AVPacket *avPacket,&#xA;               LockFreeQueue<float> *&amp;buffer,&#xA;               AVFrame *avDecoderFrame,&#xA;               AVFrame *avResampledDecFrame,&#xA;               std::atomic_bool *&amp;signalExitFuture,&#xA;               int8_t *&amp;mediaLoadPointer, SwrContext *swrContext,&#xA;               uint64_t &amp;currentNumSamples, uint64_t &amp;numOfTotalSamples) {&#xA;   &#xA;    ret = avcodec_send_packet(avCodecContext, avPacket);&#xA;    if (ret &lt; 0) {&#xA;        LOGE("decode: Error submitting a packet for decoding %s", av_err2str(ret));&#xA;        return ret;&#xA;    }&#xA;&#xA;    // get all the available frames from the decoder&#xA;    while (ret >= 0) {&#xA;&#xA;        // submit the packet to the decoder&#xA;        ret = avcodec_receive_frame(avCodecContext, avDecoderFrame);&#xA;        if (ret &lt; 0) {&#xA;            // those two return values are special and mean there is no output&#xA;            // frame available, but there were no errors during decoding&#xA;            if (ret == AVERROR_EOF || ret == AVERROR(EAGAIN)) {&#xA;                //LOGD("avcodec_receive_frame returned special %s", av_err2str(ret));&#xA;                return 0;&#xA;            }&#xA;&#xA;            LOGE("avcodec_receive_frame Error during decoding %s", av_err2str(ret));&#xA;            return ret;&#xA;        }&#xA;&#xA;        ret = outputAudioFrame(avCodecContext, avResampledDecFrame, ret, buffer,&#xA;                               mediaLoadPointer, avDecoderFrame, swrContext, signalExitFuture,&#xA;                               currentNumSamples, numOfTotalSamples);&#xA;&#xA;        av_frame_unref(avDecoderFrame);&#xA;        av_frame_unref(avResampledDecFrame);&#xA;&#xA;        if (ret &lt; 0)&#xA;            return ret;&#xA;    }&#xA;&#xA;    return 0;&#xA;}&#xA;</float></float>

    &#xA;

    Main.cpp

    &#xA;

    while (!*signalExitFuture) {&#xA;            while ((ret = av_read_frame(avFormatContext, avPacket)) >= 0) {&#xA;&#xA;                ret = decode(ret, avCodecContext, avPacket, buffer, avDecoderFrame,&#xA;                             avResampledDecFrame, signalExitFuture,&#xA;                             mediaLoadPointer, swrContext,&#xA;                             currentNumSamples, numOfTotalSamples);&#xA;&#xA;                // The packet must be freed with av_packet_unref() when it is no longer needed.&#xA;                av_packet_unref(avPacket);&#xA;&#xA;                if (ret &lt; 0) {&#xA;                    LOGE("Error! %s", av_err2str(ret));&#xA;&#xA;                    goto cleanup;&#xA;                }&#xA;            }&#xA;&#xA;            if (ret == AVERROR_EOF) {&#xA;&#xA;                ret = av_seek_frame(avFormatContext, streamInfoIndex, 0, AVSEEK_FLAG_FRAME);&#xA;&#xA;                currentNumSamples = 0;&#xA;                avcodec_flush_buffers(avCodecContext);&#xA;            }&#xA;        }&#xA;

    &#xA;

  • Alfresco fails to create video thumbnail

    17 octobre 2019, par Deckard

    As error log says : Empty input file ... It turned out that the source image for ImageMagick is zero sized. (/data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_source_8718262212685093199.jpg). When I manually replace the source image to normal image and execute the command again, there’s no error.

    command:    /data/was/alfresco/common/bin/convert /data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_source_8718262212685093199.jpg[0] -auto-orient -resize "100x100>" -strip -quiet /data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_target_7652060684136589026.png

    So I think the source image is maybe made by FFMPEG by capturing some frame of the video.
    And the FFMPEG somehow failed to do it. Not sure my guess is right...

    But my FFMPEG works good as ffmpeg -version shows proper version info. And FFMPEG is run by root and the Alfresco daemon instance is run by root. It seems that there’s nothing wrong.

    Please review it. Here’s the whole Alfresco-share log :

    Caused by: org.alfresco.service.cmr.repository.ContentIOException: 09160037 Content conversion failed:
      reader: ContentAccessor[ contentUrl=store:///data/was/alfresco/tomcat/temp/Alfresco/ComplextTransformer_intermediate_mp4_262176879279399174.jpg, mimetype=image/jpeg, size=0, encoding=UTF-8, locale=en_US]
      writer: ContentAccessor[ contentUrl=store:///data/was/alfresco/tomcat/temp/Alfresco/FailoverTransformer_intermediate_ComplexContentTransformer_5223852355212570043.png, mimetype=image/png, size=0, encoding=UTF-8, locale=en_US]
      options: {use=doclib, contentReaderNodeRef=null, contentWriterNodeRef=null, sourceContentProperty=null, imageAutoOrient=true, targetContentProperty=null, commandOptions=, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], includeEmbedded=null}
      limits: {timeoutMs=120000, pageLimit=1}
           at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:350)
           at org.alfresco.repo.content.transform.ComplexContentTransformer.transformInternal(ComplexContentTransformer.java:492)
           at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:272)
           ... 32 more
    Caused by: org.alfresco.service.cmr.repository.ContentIOException: 09160036 Failed to perform ImageMagick transformation:
    Execution result:
      os:         Linux
      command:    /data/was/alfresco/common/bin/convert /data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_source_8718262212685093199.jpg[0] -auto-orient -resize "100x100>" -strip -quiet /data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_target_7652060684136589026.png
      succeeded:  false
      exit code:  1
      out:
      err:        .convert.bin: Empty input file `/data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_source_8718262212685093199.jpg' @ error/jpeg.c/JPEGErrorHandler/331.
    .convert.bin: NoImageForProperty "%w" @ warning/property
           at org.alfresco.repo.content.transform.magick.ImageMagickContentTransformerWorker.transformInternal(ImageMagickContentTransformerWorker.java:205)
           at org.alfresco.repo.content.transform.magick.AbstractImageMagickContentTransformerWorker.transform(AbstractImageMagickContentTransformerWorker.java:284)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:79)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
           at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
           at com.sun.proxy.$Proxy28.transform(Unknown Source)
           at org.alfresco.repo.content.transform.ProxyContentTransformer.transformInternal(ProxyContentTransformer.java:107)
           at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:272)
           ... 34 more

    In alfresco-global.properties : ffmpeg.exe=/usr/local/bin/ffmpeg/ffmpeg

    * Update As Robert suggested, TransFormer log level changed to debug.
    But the log is too long to paste here. There’s 30,000 characters limit of body in SO which github doesn’t have.
    So please refer to github issue, I pasted the log there.
    https://github.com/Alfresco/share/issues/127