Recherche avancée

Médias (91)

Autres articles (62)

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

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (13123)

  • Cannot display a decoded video frame on Raylib

    20 décembre 2024, par gabriel_tiso

    I'm trying to explore libav and raylib just to understand how audio and video work, and also to learn how to build nice interfaces using the raylib project. I've implemented a simple struct capable of decoding audio and video frames. When a video frame appears, I convert it to the RGBA format, which packs the values into 32bpp. This is the setup :

    


        if (av_image_alloc((uint8_t **)media->dst_frame->data,
                       media->dst_frame->linesize, media->ctxs[0]->width,
                       media->ctxs[0]->height, AV_PIX_FMT_RGBA, 1) < 0) {
        fprintf(stderr, "Failed to setup dest image\n");
        return -1;
    }

    media->sws_ctx = sws_getContext(
        media->ctxs[0]->width, media->ctxs[0]->height, media->ctxs[0]->pix_fmt,
        media->ctxs[0]->width, media->ctxs[0]->height, AV_PIX_FMT_RGBA,
        SWS_BILINEAR, NULL, NULL, 0);

    // Later on, in the decode function:
    int ret = sws_scale(media->sws_ctx, media->frame->data,
                            media->frame->linesize, 0, media->frame->height,
                            media->dst_frame->data, media->dst_frame->linesize);



    


    In the main file, I init raylib, and setup the necessary steps to load the texture (here I'm trying to fetch the first video frame in order to show the user a preview of the video, later on I plan to reset the stream to allow a correct playback routine). I think the format of the image is right.

    


        Image previewImage =
        GenImageColor(videoArea.width, videoArea.height, BLACK);
    // I assume this makes the formats compatible
    ImageFormat(&previewImage, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8);

    Texture2D videoTexture = LoadTextureFromImage(previewImage);
    UnloadImage(previewImage);


    


    
        if (!state->has_media) {
            DrawText("Drop a video file here!", videoArea.x + 10,
                     videoArea.y + 10, 20, GRAY);
        } else {
            if (state->first_frame) {
                do {
                    decode_packet(state->media);
                } while (!is_frame_video(state->media));

                UpdateTexture(videoTexture, state->media->dst_frame->data[0]);

                state->first_frame = 0;
            }
        }

        DrawTexture(videoTexture, videoArea.x, videoArea.y, WHITE);


    


    Anyway, this is what I get when a mp4 file is dropped :
raylib window

    


    It seems like an alignment issue maybe ? Can someone point me in the right direction in order to correctly solve this problem ?

    


  • avcodec : add avcodec_get_supported_config()

    3 avril 2024, par Niklas Haas
    avcodec : add avcodec_get_supported_config()
    

    This replaces the myriad of existing lists in AVCodec by a unified API
    call, allowing us to (ultimately) trim down the sizeof(AVCodec) quite
    substantially, while also making this more trivially extensible.

    In addition to the already covered lists, add two new entries for color
    space and color range, mirroring the newly added negotiable fields in
    libavfilter.

    Once the deprecation period passes for the existing public fields, the
    rough plan is to move the commonly used fields (such as
    pix_fmt/sample_fmt) into FFCodec, possibly as a union of audio and video
    configuration types, and then implement the rarely used fields with
    custom callbacks.

    • [DH] doc/APIchanges
    • [DH] libavcodec/avcodec.c
    • [DH] libavcodec/avcodec.h
    • [DH] libavcodec/codec.h
    • [DH] libavcodec/codec_internal.h
    • [DH] libavcodec/version.h
  • MAINTAINERS : update myself for dvdvideo, rcwtdec, rcwtenc

    26 septembre 2024, par Marth64
    MAINTAINERS : update myself for dvdvideo, rcwtdec, rcwtenc
    

    I plan to look after and test them for the forseeable future.
    I am not a committer but do care for these muxers/demuxers.

    Signed-off-by : Marth64 <marth64@proxyid.net>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] MAINTAINERS