Recherche avancée

Médias (0)

Mot : - Tags -/diogene

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (66)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

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

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

Sur d’autres sites (10848)

  • ffmpeg capture output from child window

    3 janvier 2013, par glitchyme

    using xwininfo -all I'm able to see the stats of any window, along with its child windows

    xwininfo: Window id: 0x3c000ba "Electro - The Slag & Prototype Raptor - Crescendo - YouTube - Mozilla Firefox"

     Root window id: 0xa8 (the root window) (has no name)
     Parent window id: 0xc001b8 (has no name)
        2 children:
        0x3c00175 (has no name): ()  1388x876+0+0  +52+24
           5 children:
           0x3d210ab (has no name): ()  854x510+225+197  +277+221
              1 child:
              0x3d210ac (has no name): ()  854x510+0+0  +277+221
                 1 child:
                 0x40404de "plugin-container": ("plugin-container" "Plugin-container")  854x510+0+0  +277+221
                    2 children:
                    0x40404e1 (has no name): ()  854x510+0+0  +277+221
                    0x40404df (has no name): ()  1x1+-1+-1  +276+220
           0x3ddbcf2 (has no name): ()  640x390+225+162  +277+186
              1 child:
              0x3ddbcf3 (has no name): ()  640x390+0+0  +277+186
                 1 child:
                 0x403d545 "plugin-container": ("plugin-container" "Plugin-container")  640x390+0+0  +277+186
                    2 children:
                    0x403d548 (has no name): ()  640x390+0+0  +277+186
                    0x403d546 (has no name): ()  1x1+-1+-1  +276+185
           0x3dac7f9 (has no name): ()  640x390+225+162  +277+186
              1 child:
              0x3dac7fa (has no name): ()  640x390+0+0  +277+186
                 1 child:
                 0x4039d8b "plugin-container": ("plugin-container" "Plugin-container")  640x390+0+0  +277+186
                    2 children:
                    0x4039d8e (has no name): ()  640x390+0+0  +277+186
                    0x4039d8c (has no name): ()  1x1+-1+-1  +276+185
           0x3c3f939 (has no name): ()  640x390+225+197  +277+221
              1 child:
              0x3c3f93a (has no name): ()  640x390+0+0  +277+221
                 1 child:
                 0x4011918 "plugin-container": ("plugin-container" "Plugin-container")  640x390+0+0  +277+221
                    2 children:
                    0x401191b (has no name): ()  640x390+0+0  +277+221
                    0x4011919 (has no name): ()  1x1+-1+-1  +276+220
           0x3c0d1dc (has no name): ()  1x1+0+97  +52+121
              1 child:
              0x3c0d1dd (has no name): ()  1x1+0+0  +52+121
                 1 child:
                 0x4002c1e "plugin-container": ("plugin-container" "Plugin-container")  1x1+0+0  +52+121
                    2 children:
                    0x4002c40 (has no name): ()  1x1+0+0  +52+121
                    0x4002c1f (has no name): ()  1x1+-1+-1  +51+120
        0x3c000bb (has no name): ()  1x1+-1+-1  +51+23

     Absolute upper-left X:  52
     Absolute upper-left Y:  24
     Relative upper-left X:  0
     Relative upper-left Y:  0
     Width: 1388
     Height: 876
     Depth: 24
     Visual: 0x23
     Visual Class: TrueColor
     Border width: 0
     Class: InputOutput
     Colormap: 0x20 (installed)
     Bit Gravity State: NorthWestGravity
     Window Gravity State: NorthWestGravity
     Backing Store State: NotUseful
     Save Under State: no
     Map State: IsViewable
     Override Redirect State: no
     Corners:  +52+24  -0+24  -0-0  ç0
     -geometry 1388x876-0-0

     Bit gravity: NorthWestGravity
     Window gravity: NorthWestGravity
     Backing-store hint: NotUseful
     Backing-planes to be preserved: 0xffffffff
     Backing pixel: 0
     Save-unders: No

     Someone wants these events:
         KeyPress
         KeyRelease
         ButtonPress
         ButtonRelease
         EnterWindow
         LeaveWindow
         PointerMotion
         Exposure
         VisibilityChange
         StructureNotify
         FocusChange
         PropertyChange
     Do not propagate these events:
     Override redirection?: No

     Window manager hints:
         Client accepts input or input focus: Yes
         Initial state is Normal State
         Displayed on desktop 0
         Window type:
             Normal
         Window state:
             Maximized Vert
             Maximized Horz
         Process id: 4087 on host jb
         Frame extents: 0, 0, 0, 0

     Normal window size hints:
         Program supplied minimum size: 18 by 97
         Program supplied maximum size: 1073741824 by 1073741824
         Program supplied window gravity: NorthWestGravity
     No zoom window size hints defined

     No window shape defined
     No border shape defined

    However, if I try capturing from the screen given the size and offset of the child window, then I risk losing data when another window floats ontop of it, I switch to another tab while recording, I resize the child window, or move the child window. Instead, I'd like to use ffmpeg to capture from specifically that child window.

    Ideas ? Tips ? Maybe some other hacks to accomplish this ? Thanks :)

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

    


  • Anomalie #4849 (Nouveau) : Lisibilité du tableau des statistiques

    12 juillet 2021, par JLuc -

    #2693 a été fermé suite à la correction du code, mais la présentation du tableau de résultat n’a pas évolué et pour le comprendre, il a fallu que j’étudie le code. Du coup j’ai compris qu’il y a un petit problème de conception que je signale ici, ainsi que le manque de clarté dans un énoncé.

    La colonne de gauche présente 2 listes à la suite.
    Ces 2 listes sont séparées par un intertitre centré "..." qui indique qu’il y a une forme d’interruption dans la continuité d’une même liste.
    Or ce n’est pas le cas puisque l’analyse du code révèle que :
    - la première liste présente les 30 articles les plus populaires
    - la 2eme liste présente la popularité des 10 articles les plus récents (classés du plus récent au plus ancien)
    L’ordonnancement étant totalement différent, il s’agit bien de 2 listes qui devraient être perçues comme totalement différentes...
    MAIS
    - il y a quand même une interférence entre ces 2 listes puisque les articles présents dans la première (les articles populaires) sont exclus de la seconde.
    - il n’y a qu’un seul titre pour ces 2 listes, qui reflète l’ambigüité du mélange (malheureusement sans l’éclairer) : « Afficher les visites pour les articles les plus populaires et pour les derniers articles publiés : « Afficher les visites pour les articles les plus populaires et pour les derniers articles publiés : »
    Mais ce n’est pas possible, de même qu’il n’est pas possible de lister dans une même liste des voitures triées par vitesse maximale et des pommes triées par teneur en sucre.

    Donc il faudrait
    - avoir un titre différent pour chacune de ces listes
    - à mon avis aussi retirer le doublon qui rend difficile la lecture de la 2eme liste car autant il est simple de dire "c’est la popularité des articles les plus récents" (et intéressant d’avoir une telle liste), autant il est complexe d’expliquer et de comprendre "C’est la popularité des articles les plus récents sauf s’ils font partie des 30 plus populaires du site" (et difficile à utiliser une telle information circonluée).
    - ne pas avoir de séparateur "[...]" entre ces 2 listes. Ce ne sera pas utile avec le 2eme intertitre.

    Par ailleurs le texte explicatif "Comment lire ce tableau" en bas de la colonne de droite contient une explication de ce qu’est la "popularité de l’article : (une estimation du nombre de visites quotidiennes qu’il recevra si le rythme actuel de consultation se maintient)". L’emploi du futur + l’hypothèse "si le rythme actuel de consultation se maintient" donnent des pistes incomplètes et ne permettent pas de comprendre ce que c’est.
    - Spontanément j’avais retenu le futur et compris que c’était le nombre total final de visite de cet article, à supposer que sa fréquentation s’épuise mais sur quelle durée ? ça ne voulait rien dire.
    - Maintenant je comprend que c’est une estimation du nombre de visite quotidienne à partir d’une "moyenne instantannée" de fréquentation. Mais sur quelle durée se fait cette moyenne instantanée ? La fréquentation estimée se fait elle aussi sur la base d’une moyenne instantanée pour les articles ayant plus d’une journée d’âge ou bien c’est la fréquentation de la veille qui est prise dans ce cas ? Ça ne veut pas dire grand chose encore...
    En bref : ça en dit trop ou pas assez. On peut en dire moins avec simplement "une estimation du nombre de visites quotidiennes". Mais pour en dire plus et être plus précis... faudrait donner les infos manquantes.