Recherche avancée

Médias (1)

Mot : - Tags -/lev manovitch

Autres articles (95)

  • Problèmes fréquents

    10 mars 2010, par

    PHP et safe_mode activé
    Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
    La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Diogene : création de masques spécifiques de formulaires d’édition de contenus

    26 octobre 2010, par

    Diogene est un des plugins ? SPIP activé par défaut (extension) lors de l’initialisation de MediaSPIP.
    A quoi sert ce plugin
    Création de masques de formulaires
    Le plugin Diogène permet de créer des masques de formulaires spécifiques par secteur sur les trois objets spécifiques SPIP que sont : les articles ; les rubriques ; les sites
    Il permet ainsi de définir en fonction d’un secteur particulier, un masque de formulaire par objet, ajoutant ou enlevant ainsi des champs afin de rendre le formulaire (...)

Sur d’autres sites (4155)

  • aarch64 : vp9itxfm : Do separate functions for half/quarter idct16 and idct32

    22 novembre 2016, par Martin Storsjö
    aarch64 : vp9itxfm : Do separate functions for half/quarter idct16 and idct32
    

    This work is sponsored by, and copyright, Google.

    This avoids loading and calculating coefficients that we know will
    be zero, and avoids filling the temp buffer with zeros in places
    where we know the second pass won’t read.

    This gives a pretty substantial speedup for the smaller subpartitions.

    The code size increases from 14740 bytes to 24292 bytes.

    The idct16/32_end macros are moved above the individual functions ; the
    instructions themselves are unchanged, but since new functions are added
    at the same place where the code is moved from, the diff looks rather
    messy.

    Before :
    vp9_inv_dct_dct_16x16_sub1_add_neon : 236.7
    vp9_inv_dct_dct_16x16_sub2_add_neon : 1051.0
    vp9_inv_dct_dct_16x16_sub4_add_neon : 1051.0
    vp9_inv_dct_dct_16x16_sub8_add_neon : 1051.0
    vp9_inv_dct_dct_16x16_sub12_add_neon : 1387.4
    vp9_inv_dct_dct_16x16_sub16_add_neon : 1387.6
    vp9_inv_dct_dct_32x32_sub1_add_neon : 554.1
    vp9_inv_dct_dct_32x32_sub2_add_neon : 5198.5
    vp9_inv_dct_dct_32x32_sub4_add_neon : 5198.6
    vp9_inv_dct_dct_32x32_sub8_add_neon : 5196.3
    vp9_inv_dct_dct_32x32_sub12_add_neon : 6183.4
    vp9_inv_dct_dct_32x32_sub16_add_neon : 6174.3
    vp9_inv_dct_dct_32x32_sub20_add_neon : 7151.4
    vp9_inv_dct_dct_32x32_sub24_add_neon : 7145.3
    vp9_inv_dct_dct_32x32_sub28_add_neon : 8119.3
    vp9_inv_dct_dct_32x32_sub32_add_neon : 8118.7

    After :
    vp9_inv_dct_dct_16x16_sub1_add_neon : 236.7
    vp9_inv_dct_dct_16x16_sub2_add_neon : 640.8
    vp9_inv_dct_dct_16x16_sub4_add_neon : 639.0
    vp9_inv_dct_dct_16x16_sub8_add_neon : 842.0
    vp9_inv_dct_dct_16x16_sub12_add_neon : 1388.3
    vp9_inv_dct_dct_16x16_sub16_add_neon : 1389.3
    vp9_inv_dct_dct_32x32_sub1_add_neon : 554.1
    vp9_inv_dct_dct_32x32_sub2_add_neon : 3685.5
    vp9_inv_dct_dct_32x32_sub4_add_neon : 3685.1
    vp9_inv_dct_dct_32x32_sub8_add_neon : 3684.4
    vp9_inv_dct_dct_32x32_sub12_add_neon : 5312.2
    vp9_inv_dct_dct_32x32_sub16_add_neon : 5315.4
    vp9_inv_dct_dct_32x32_sub20_add_neon : 7154.9
    vp9_inv_dct_dct_32x32_sub24_add_neon : 7154.5
    vp9_inv_dct_dct_32x32_sub28_add_neon : 8126.6
    vp9_inv_dct_dct_32x32_sub32_add_neon : 8127.2

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DBH] libavcodec/aarch64/vp9itxfm_neon.S
  • ffmpeg php get frame / image after half time of the video or after 40 seconds

    6 mars 2016, par sonam Sharma

    hello all i am having this code in my php and i want to get an image after 50% of the duration of the video and also get the duration of the video in a variable i have installed ffmpeg in my php and computer

    the page has following code

    require 'vendor/autoload.php';
           //ececute ffmpeg generate mp4
           exec('ffmpeg -i '.$uploadfile.' -f mp4 -s 896x504 '.$new_flv.'');
           //execute ffmpeg and create thumb
           exec('ffmpeg  -i '.$uploadfile.' -f mjpeg -vframes 71 -s 768x432 -an '.$new_image_path.'');

    i want an image after 50% of the duration of the video and also store the video duration in a variable

    please give me some suggestions i am stuck over here

  • FFmpeg transcoded sound (AAC) stops after half video time

    17 août 2015, par TheSHEEEP

    I have a strange problem in my C/C++ FFmpeg transcoder, which takes an input MP4 (varying input codecs) and produces and output MP4 (x264, baseline & AAC LC @44100 sample rate with libfdk_aac) :

    The resulting mp4 video has fine images (x264) and the audio (AAC LC) works fine as well, but is only played until exactly the half of the video.

    The audio is not slowed down, not stretched and doesn’t stutter. It just stops right in the middle of the video.

    One hint may be that the input file has a sample rate of 22050 and 22050/44100 is 0.5, but I really don’t get why this would make the sound just stop after half the time. I’d expect such an error leading to sound being at the wrong speed. Everything works just fine if I don’t try to enforce 44100 and instead just use the incoming sample_rate.

    Another guess would be that the pts calculation doesn’t work. But the audio sounds just fine (until it stops) and I do exactly the same for the video part, where it works flawlessly. "Exactly", as in the same code, but "audio"-variables replaced with "video"-variables.

    FFmpeg reports no errors during the whole process. I also flush the decoders/encoders/interleaved_writing after all the package reading from the input is done. It works well for the video so I doubt there is much wrong with my general approach.

    Here are the functions of my code (stripped off the error handling & other class stuff) :

    AudioCodecContext Setup

    outContext->_audioCodec = avcodec_find_encoder(outContext->_audioTargetCodecID);
    outContext->_audioStream =
           avformat_new_stream(outContext->_formatContext, outContext->_audioCodec);
    outContext->_audioCodecContext = outContext->_audioStream->codec;
    outContext->_audioCodecContext->channels = 2;
    outContext->_audioCodecContext->channel_layout = av_get_default_channel_layout(2);
    outContext->_audioCodecContext->sample_rate = 44100;
    outContext->_audioCodecContext->sample_fmt = outContext->_audioCodec->sample_fmts[0];
    outContext->_audioCodecContext->bit_rate = 128000;
    outContext->_audioCodecContext->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;
    outContext->_audioCodecContext->time_base =
           (AVRational){1, outContext->_audioCodecContext->sample_rate};
    outContext->_audioStream->time_base = (AVRational){1, outContext->_audioCodecContext->sample_rate};
    int retVal = avcodec_open2(outContext->_audioCodecContext, outContext->_audioCodec, NULL);

    Resampler Setup

    outContext->_audioResamplerContext =
           swr_alloc_set_opts( NULL, outContext->_audioCodecContext->channel_layout,
                               outContext->_audioCodecContext->sample_fmt,
                               outContext->_audioCodecContext->sample_rate,
                               _inputContext._audioCodecContext->channel_layout,
                               _inputContext._audioCodecContext->sample_fmt,
                               _inputContext._audioCodecContext->sample_rate,
                               0, NULL);
    int retVal = swr_init(outContext->_audioResamplerContext);

    Decoding

    decodedBytes = avcodec_decode_audio4(   _inputContext._audioCodecContext,
                                           _inputContext._audioTempFrame,
                                           &amp;p_gotAudioFrame, &amp;_inputContext._currentPacket);

    Converting (only if decoding produced a frame, of course)

    int retVal = swr_convert(   outContext->_audioResamplerContext,
                               outContext->_audioConvertedFrame->data,
                               outContext->_audioConvertedFrame->nb_samples,
                               (const uint8_t**)_inputContext._audioTempFrame->data,
                               _inputContext._audioTempFrame->nb_samples);

    Encoding (only if decoding produced a frame, of course)

    outContext->_audioConvertedFrame->pts =
           av_frame_get_best_effort_timestamp(_inputContext._audioTempFrame);

    // Init the new packet
    av_init_packet(&amp;outContext->_audioPacket);
    outContext->_audioPacket.data = NULL;
    outContext->_audioPacket.size = 0;

    // Encode
    int retVal = avcodec_encode_audio2( outContext->_audioCodecContext,
                                       &amp;outContext->_audioPacket,
                                       outContext->_audioConvertedFrame,
                                       &amp;p_gotPacket);


    // Set pts/dts time stamps for writing interleaved
    av_packet_rescale_ts(   &amp;outContext->_audioPacket,
                           outContext->_audioCodecContext->time_base,
                           outContext->_audioStream->time_base);
    outContext->_audioPacket.stream_index = outContext->_audioStream->index;

    Writing (only if encoding produced a packet, of course)

    int retVal = av_interleaved_write_frame(outContext->_formatContext, &amp;outContext->_audioPacket);

    I am quite out of ideas about what would cause such a behaviour.