Recherche avancée

Médias (91)

Autres articles (50)

  • 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

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

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

Sur d’autres sites (8405)

  • How to copy other frame buffer with ffmpeg ?

    23 avril 2023, par wrabbit

    I have a question for frame copy with other position.

    


    I got a 1280640 decoded frame (YUV420) from h264/mp4 and I wanna merge 4 frame to 25601280 frame buffer . as below.

    


    


    The code is like this but does not working.

    


    /* pCodecCtx and pFrame for decoded frame information */
int Encoding2JPEG( AVCodecContext *pCodecCtx, AVFrame *pFrame, int FrameNo, int Quality) {
    int gotFrame;

    /* New Context for JPEG encoding */
    AVCodec *jpeg_codec = NULL;
    AVCodecContext *jpeg_ctx =NULL;
    int ret;
    AVPacket *packet;
    packet = av_packet_alloc();
    if(!packet)
    {
            printf("alloc fail!\n");
            return -1;
    }

    if(frame)
            printf("received frame for encoding %3"PRId64"\n", frame->pts);

    pFrame_gather = av_frame_alloc();
    if(!pFrame_gather)
    {
            printf("Could not allocate gater frame!\n");
            return -1;
    }

    pFrame_gather->format = pCodecCtx->pix_fmt;
    pFrame_gather->width = pCodecCtx->width*2;
    pFrame_gather->height = pCodecCtx->height*2;

    if ( av_frame_get_buffer(pFrame_gather, 0) < 0)
            printf("Could not allocate the gather frame data!\n");

    /* Buffer Clear */
    ptrdiff_t linesize[4] = { frame->linesize[0], 0, 0, 0 };
    if( av_image_fill_black ( pFrame_gather->data, linesize, pCodecCtx->pix_fmt, \
                    AVCOL_RANGE_JPEG , pFrame_gather->width, pFrame_gather->height) != 0 )
            printf("image clear error!\n");

    ret = av_frame_make_writable(pFrame_gather);
    if( ret <0)
                    printf("writeable set fail!\n");

     /* set position of destination */
    int top_band =0;
    int left_band=200;

     const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pCodecCtx->pix_fmt);
     int y_shift;
     int x_shift;
     int max_step[4];

     if (pix_fmt < 0 || pix_fmt >= AV_PIX_FMT_NB)
      return -1;

     y_shift = desc->log2_chroma_h;
     x_shift = desc->log2_chroma_w;
     av_image_fill_max_pixsteps(max_step, NULL, desc);
 
     /* Y Data */
     memcpy( pFrame_gather->data[0] + (top_band * pFrame->linesize[0]) + left_band,\
         frame->data[0] , pCodecCtx->width*pCodecCtx->height);
     /* U Data */
     memcpy ( pFrame_gather->data[1] + ((top_band >> y_shift) * pFrame->linesize[1]) + \
          (left_band >> x_shift), frame->data[1], pCodecCtx->width/2*pCodecCtx->height/2);
     /* V DAta */
     memcpy ( pFrame_gather->data[2] + ((top_band >> y_shift) * pFrame->linesize[2]) \
          + (left_band >> x_shift), frame->data[2], pCodecCtx->width/2*pCodecCtx->height/2);

     /* unref variable .... */
     ....
 }


    


    Upper source code is something wring. It does not working.
How to memory copy with position ?

    


  • Java infinite video stream loop

    30 juin 2021, par Jason Roufael

    i wanna add a loop to make the process go in an infinite loop so the video can keep repeating itself

    


    try {&#xA;var processBuilder = new ProcessBuilder();&#xA;List<string> cmds=new ArrayList&lt;>();&#xA;cmds.add("ffmpeg.exe");&#xA;cmds.add("-i");&#xA;cmds.add("C:\\ffmpeg\\bin\\inpiit.mp4");&#xA;cmds.add("-vcodec");&#xA;cmds.add("libx264");&#xA;cmds.add("-acodec");&#xA;cmds.add("mp2");&#xA;cmds.add("-f");&#xA;cmds.add("mpegts");&#xA;cmds.add("udp://224.5.5.5:1234?pkt_size=1316");&#xA;processBuilder.command(cmds);&#xA;var process = processBuilder.start();&#xA;&#xA;} catch(IOException ex) {&#xA;&#xA;ex.printStackTrace(); &#xA;</string>

    &#xA;

    }

    &#xA;

  • Is there any way to add drawtext filter in video at the last 3 seconds by enable function in ffmpeg

    26 juillet 2021, par Daksh

    I wanna ask that I want to add drawtext filter to the video in last 3 seconds only, may the video of any length like 2 minutes or 20 minutes, whatever. I want it in Python format.

    &#xA;