Recherche avancée

Médias (91)

Autres articles (41)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

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

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

Sur d’autres sites (7516)

  • Allocate AVFrame for sws_scale()

    13 mars 2020, par Slav

    Trying to write program which uses libav to extract raw pixel data ( BMP) from arbitrary video. Everything goes well except sws_scale() failing to convert AVFrame to RGB24.

    I formulated minimal example of it where AVFrame is being created and initialized with 4 different methods found on internet : https://github.com/SlavMFM/libav_bmp_example - all of them fail in different ways. How can I fix it so sws_scale() does the convertion ?

  • Libav FFv1 read_quant_table decoding errors

    16 novembre 2023, par flansel

    I am having trouble encoding and decoding video using the 'ffv1' codec. Interestingly when the width and height are 640 or less, this works correctly, but with any "large" frame size such as 1280x720 I get the follow errors ...

    


    [ffv1 @ 0x5612f4ab2240] read_quant_table error
[ffv1 @ 0x5612f4ab2240] Cannot decode non-keyframe without valid keyframe


    


    Are there any options which need to be set, or am I doing something else incorrectly, I made the example very minimal, I am aware that I am not writing an image to the frame and simply allocating garbage in the buffers among other things.
Thanks in advance.

    


    // minimal example
// ...
#define FRAMES (500)

int main(int argc, char **argv)
{
    AVCodecContext *enc, *dec;
    AVFrame *frame = av_frame_alloc();
    AVFrame *decoded_frame = av_frame_alloc();
    AVPacket *packet = av_packet_alloc();
    AVPacket *padded_packet = av_packet_alloc();

    const AVCodec *enc_codec = avcodec_find_encoder_by_name("ffv1");
    const AVCodec *dec_codec = avcodec_find_decoder_by_name("ffv1");
    enc = avcodec_alloc_context3(enc_codec);
    dec = avcodec_alloc_context3(dec_codec);

    enc->width   = 1280;
    enc->height  = 720;
    enc->pix_fmt = AV_PIX_FMT_YUV420P;
    enc->time_base.num = 1001;
    enc->time_base.den = 60000;

    dec->width  = enc->width;
    dec->height = enc->height;

    avcodec_open2(enc, enc_codec, NULL);
    avcodec_open2(dec, dec_codec, NULL);

    frame->height = enc->height;
    frame->width  = enc->width;
    frame->format = enc->pix_fmt;
    av_frame_get_buffer(frame, 32);
    printf("frame linesz %i,%i,%i\n", frame->linesize[0], frame->linesize[1], frame->linesize[2]);

    for (int i = 0; i < FRAMES; ++i)
    {
        avcodec_send_frame(enc, frame);
        while (!avcodec_receive_packet(enc, packet))
        {
            av_new_packet(padded_packet, packet->size + AV_INPUT_BUFFER_PADDING_SIZE);
            padded_packet->size -= AV_INPUT_BUFFER_PADDING_SIZE;

            memset(padded_packet->data, 0, padded_packet->size);
            memcpy(padded_packet->data, packet->data, packet->size);
            printf("frame %i encoded %i bytes\n", i, padded_packet->size);
            if (!avcodec_send_packet(dec, padded_packet))
            {
                printf("sent bytes to decoder\n");
            }
        }

        while (!avcodec_receive_frame(dec, decoded_frame))
        {
            printf("decoded frame height %i, width %i\n", decoded_frame->height, decoded_frame->width);
        }
        usleep(16000);
    }
    return 0;
}


    


  • Revision 6fb8953c19 : Restrict ref mv search range. Experiment to test speed trade off of reducing th

    5 novembre 2012, par Paul Wilkins

    Changed Paths : Modify /vp9/common/blockd.h Modify /vp9/common/mvref_common.c Restrict ref mv search range. Experiment to test speed trade off of reducing the extent of the ref mv search. Reducing the maximum number of tested candidates to 9 had minimal net effect on quality in any of the tests (...)