Recherche avancée

Médias (91)

Autres articles (37)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

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

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

  • 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;
}


    


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