Recherche avancée

Médias (91)

Autres articles (22)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (6090)

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