Recherche avancée

Médias (0)

Mot : - Tags -/publication

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

Autres articles (82)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

Sur d’autres sites (12756)

  • How to display image for particular time in a video using ffmpeg

    18 juin 2013, par Pratik Bhingardeve

    I am trying to created a video from the sequence of images. But i have to display each image with different numbers of seconds. How to do this with FFMPEG.

    Thanks in advance.

  • Understanding FFMPEG Video Encoding

    20 juin 2014, par SetSlapShot

    Got this from the encoding example in ffmpeg. I can somewhat follow the authors example for audio encoding, but I find myself befuddled looking at the C code (I commented in block numbers to help me reference what I’m talking about)...

    static void video_encode_example(const char *filename)
    {
    AVCodec *codec;
    AVCodecContext *c= NULL;
    int i, out_size, size, x, y, outbuf_size;
    FILE *f;
    AVFrame *picture;
    uint8_t *outbuf, *picture_buf;              //BLOCK ONE
    printf("Video encoding\n");

    /* find the mpeg1 video encoder */
    codec = avcodec_find_encoder(CODEC_ID_MPEG1VIDEO);
    if (!codec) {
       fprintf(stderr, "codec not found\n");
       exit(1);                                //BLOCK TWO
    }

    c= avcodec_alloc_context();
    picture= avcodec_alloc_frame();
    /* put sample parameters */
    c->bit_rate = 400000;
    /* resolution must be a multiple of two */
    c->width = 352;
    c->height = 288;
    /* frames per second */
    c->time_base= (AVRational){1,25};
    c->gop_size = 10; /* emit one intra frame every ten frames */
    c->max_b_frames=1;
    c->pix_fmt = PIX_FMT_YUV420P;                   //BLOCK THREE

    /* open it */
    if (avcodec_open(c, codec) < 0) {
       fprintf(stderr, "could not open codec\n");
       exit(1);
    }
    f = fopen(filename, "wb");
    if (!f) {
       fprintf(stderr, "could not open %s\n", filename);
       exit(1);
    }                                               //BLOCK FOUR

    /* alloc image and output buffer */
    outbuf_size = 100000;
    outbuf = malloc(outbuf_size);
    size = c->width * c->height;
    picture_buf = malloc((size * 3) / 2); /* size for YUV 420 */
    picture->data[0] = picture_buf;
    picture->data[1] = picture->data[0] + size;
    picture->data[2] = picture->data[1] + size / 4;
    picture->linesize[0] = c->width;
    picture->linesize[1] = c->width / 2;
    picture->linesize[2] = c->width / 2;              //BLOCK FIVE

    /* encode 1 second of video */
    for(i=0;i<25;i++) {
       fflush(stdout);
       /* prepare a dummy image */
       /* Y */
       for(y=0;yheight;y++) {
           for(x=0;xwidth;x++) {
               picture->data[0][y * picture->linesize[0] + x] = x + y + i * 3;
           }
       }                                            //BLOCK SIX

       /* Cb and Cr */
       for(y=0;yheight/2;y++) {
           for(x=0;xwidth/2;x++) {
               picture->data[1][y * picture->linesize[1] + x] = 128 + y + i * 2;
               picture->data[2][y * picture->linesize[2] + x] = 64 + x + i * 5;
           }
       }                                           //BLOCK SEVEN

       /* encode the image */
       out_size = avcodec_encode_video(c, outbuf, outbuf_size, picture);
       printf("encoding frame %3d (size=%5d)\n", i, out_size);
       fwrite(outbuf, 1, out_size, f);
    }                                              //BLOCK EIGHT

    /* get the delayed frames */
    for(; out_size; i++) {
       fflush(stdout);
       out_size = avcodec_encode_video(c, outbuf, outbuf_size, NULL);
       printf("write frame %3d (size=%5d)\n", i, out_size);
       fwrite(outbuf, 1, out_size, f);
    }                                             //BLOCK NINE

    /* add sequence end code to have a real mpeg file */
    outbuf[0] = 0x00;
    outbuf[1] = 0x00;
    outbuf[2] = 0x01;
    outbuf[3] = 0xb7;
    fwrite(outbuf, 1, 4, f);
    fclose(f);
    free(picture_buf);
    free(outbuf);
    avcodec_close(c);
    av_free(c);
    av_free(picture);
    }                                            //BLOCK TEN

    Here’s what I can get from the authors code block by block...

    BLOCK ONE : Initializing Variables and pointers. I couldn’t find the AVFrame struct yet in the ffmpeg source code so I don’t know what its referencing

    BLOCK TWO : Uses a codec from the file, if not found close.

    BLOCK THREE : Sets sample video parameters. Only thing I don’t really get is gop size. I read about intra frames and I still don’t get what they are.

    BLOCK FOUR : Open the file for writing...

    BLOCK FIVE : Here’s where they really start losing me. Part is probably because I don’t know exactly what AVFrame is, but why do they only use 3/2 of the image size ?

    BLOCK SIX & SEVEN : I don’t understand what they are trying to accomplish with this math.

    BLOCK EIGHT : It looks like the avcodec function does all the work here, not concerned with that for the time being..

    BLOCK NINE : Since it’s outside the 25 frame for loop I assume it gets the leftover frames ?

    BLOCK TEN : Close, free mem, etc...

    I know this is a large block of code to be confused with, any input would be helpful. I got put in over my head at work. Thanks in advance SO.

  • FFMPEG in Java (runtime error)

    4 juillet 2012, par Eric

    I want to write a program that converts video into frames using FFMPEG. When I use it on the Ubuntu terminal, it works fine. But when I try to put it into the Java code, it gives me a runtime error. Did I make a mistake in my code below ?

    import java.util.*;
    import java.awt.*;
    import java.lang.*;
    import java.lang.Runtime;
    import java.io.*;
    import java.io.IOException;

    public class ConvertVideoToImage
    {
       private SingletonServer ss = null;

       public ConvertVideoToImage(SingletonServer ss)
       {
           this.ss = ss;
       }

       public void run()
       {
           convertVideo();
       }

       public void convertVideo()
       {
           try
           {
               Runtime rt = Runtime.getRunTime().exec("ffmpeg" + "-i" +         "display.wmv" + "image%d.jpg");
           }
           catch(Exception e){}
       }

    }

    Edit :

    I have changed the code like you suggested, but it also doesn't work. And when I Googled it, I found out that someone put the full path inside the executable and it became like this :

    Runtime.getRuntime().exec("/home/pc3/Documents/ffmpeg_temp/ffmpeg -i display.wmv image%d.jpg")

    BTW, thanks for the reply. I have another question. Is it possible to make a counter for FFMPEG ? I used this command in the Ubuntu terminal to make it convert a video to 30 frames/1seconds :

    ffmpeg -i display.wmv image%d.jpg

    This will automatically generate numbers like image1.jpg, image2.jpg, to image901.jpg. Is it possible to make a counter for this ? Because I need to count the files and control the number.

    Thanks in advance.