Recherche avancée

Médias (1)

Mot : - Tags -/lev manovitch

Autres articles (74)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • 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

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (12004)

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

    


  • Unknown Decoder in ffmpeg

    17 mars 2020, par user6782547

    I have a script, that is called from Plex after the recording of a movie. This script just crops the black borders of the movie.

    When I call it directly from the command line, it works flawlessly. But when Plex calls it, it says : "Unknown decoder", even if I call it with the key word "auto" for the decoder.

    There’s another problem, that might give a hint to solve my problem. It also says : "WARNING: library configuration mismatch". (Only when being called from Plex.) This is probably, because I compile ffmpeg from the Debian source package (so that I can add the whole CUDA functionality).
    I had a look at the dynamic linker path, but it is empty on the command line.

    What is so different, when this command is called from Plex, than when I call it manually from the command line ?

    Thanks for any help