Recherche avancée

Médias (10)

Mot : - Tags -/wav

Autres articles (13)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Taille des images et des logos définissables

    9 février 2011, par

    Dans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
    Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)

Sur d’autres sites (4528)

  • Not able to encode image with ffmpeg

    29 juin 2012, par user1310596

    I am trying to encode one image with the help of ffmpeg library.. Actually i want to encode live video but for now i am starting with encoding an image..
    Here is my code for that..

       av_register_all();
       avcodec_init();
       avcodec_register_all();
       avformat_alloc_context();

       AVCodec *codec;
       AVCodecContext *ctx= NULL;
       int out_size, size, outbuf_size;
       AVFrame *picture;
       uint8_t *outbuf;
       unsigned char *flvdata = malloc(sizeof(unsigned char) * 30);


       outbuf_size = 100000;
       outbuf = malloc(outbuf_size);


       printf("Video encoding\n");

       codec = avcodec_find_encoder(CODEC_ID_FLV1);
       if (!codec) {
               fprintf(stderr, "codec not found\n");
               exit(1);
       }

       ctx= avcodec_alloc_context();
       picture= avcodec_alloc_frame();


       ctx->width = 320;
       ctx->height = 240;
       ctx -> sample_rate = 11025;
       ctx -> time_base.den = 1000;
       ctx -> time_base.num = 23976;
       ctx -> codec_id = CODEC_ID_FLV1;
       ctx -> codec_type = CODEC_TYPE_VIDEO;
       ctx->pix_fmt = PIX_FMT_YUV420P;

       if (avcodec_open(ctx, codec) < 0) {
               fprintf(stderr, "could not open codec\n");
               exit(1);
       }

       outbuf_size = 100000;
       outbuf = malloc(outbuf_size);
       size = ctx->width * ctx->height;

       AVFrame* outpic = avcodec_alloc_frame();
       int nbytes = avpicture_get_size(PIX_FMT_YUV420P, ctx->width, ctx->height);

       uint8_t* outbuffer = (uint8_t*)av_malloc(nbytes);

       fflush(stdout);

       int numBytes = avpicture_get_size(PIX_FMT_YUV420P, ctx->width, ctx->height);

       UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"0.jpg"]];
       CGImageRef newCgImage = [image CGImage];

       CGDataProviderRef dataProvider = CGImageGetDataProvider(newCgImage);
       CFDataRef bitmapData = CGDataProviderCopyData(dataProvider);
       long dataLength = CFDataGetLength(bitmapData);

       uint8_t *buffer = (uint8_t *)av_malloc(dataLength);
       buffer = (uint8_t *)CFDataGetBytePtr(bitmapData);

       for(int i = 0; i < dataLength; i++)
       {
               if((i + 1) % 16 == 1 && i != 1)
                       printf("\n");
               printf("%X\t",buffer[i]); // getting something different than the     actual hex value of the image
       }



       outpic -> pts = 0;        

       avpicture_fill((AVPicture*)picture, buffer, PIX_FMT_RGB8, ctx->width, ctx->height);

       avpicture_fill((AVPicture*)outpic, outbuffer, PIX_FMT_YUV420P, ctx->width, ctx->height);

       struct SwsContext* fooContext = sws_getContext(ctx->width, ctx->height,
                                                              PIX_FMT_RGB8,
                                                              ctx->width, ctx->height,
                                                              PIX_FMT_YUV420P,
                                                              SWS_FAST_BILINEAR, NULL, NULL, NULL);

       sws_scale(fooContext, picture->data, picture->linesize, 0, ctx->height, outpic->data, outpic->linesize);

       printf("abcdefghijklmnop");
       out_size = avcodec_encode_video(ctx, outbuf, outbuf_size, outpic);
       printf("\n\n out_size %d   outbuf_size %d",out_size,outbuf_size);

    so the size of image is 29 kb and the avcodec_encode_video is returning 20143.. So is it correct ? I mean i am encoding so its size should also decrease... And i have opened that image in hex mode and i am getting different data than that is in buffer (as shown in the code). so i think that buffer is not getting correct data. Right ?
    Can anyone please help me with my code ?
    Thank you in advance...

  • How to set time_base when muxing AVI with libavformat ?

    18 mai 2012, par Anastasia

    In my application I receive from a remote server synchronized video
    (mpeg4) and audio (mp3) and mux them to avi file. The video comes
    frame-by-frame, and the audio comes in small chunks, say 200-250 ms.
    Both video frames and audio chunks have timestamps in milliseconds.

    My question is how to set audio time_base and pts correctly ?
    For video I set time_base.num = framerate, time_base.den = 1 ; and
    calculate pts as follows :

     AVRational time_base_1kHz;
     time_base_1kHz.num = 1;
     time_base_1kHz.den = 1000;
     packet.pts = av_rescale_q(timeStamp - baseTimeStamp_, time_base_1kHz, videoStream_->time_base);

    where baseTimeStamp_ is the 1st timestamp of the stream.

    But if I try do similar calculation for audio, I don't get playable
    avi. If I always set to audio AV_NOPTS_VALUE, then avi has playable
    video, but no audio.

    So what are the correct values for audio time_base and pts's ?
    Do I set time_base and pts's for video correctly ?

  • Why does FFMPEG adds up extra bit rate to video ? [migrated]

    5 juin 2012, par user735647

    I use FFMPEG (command line Input) to convert my videos to a specific output format. The problem I am facing is when I try to pass a constant bit rate(700 kbps) to FFMPEG, the result is an output video with a different bit rate(say 1000 kbps). This phenomenon occurs invariably for all videos.Why is this happening ? I need to maintain a constant bit rate. Can anyone help me out.

    My FFMPEG version is 0.5

    The command line parameter which I am passing to FFMPEG is,

    -i {inputfile}
    -b 700k -ab 64k
    -vcodec libx264
    -acodec libfaac -ac 2 -ar 44100
    -y -s 320x240
    {outputfile}

    EDIT :

    I was able to force CBR with a fluctuation of 3% when I used the following parameters.

    ffmpeg -i myfile.avi
    -b 4000k -minrate 4000k
    -maxrate 4000k -bufsize 1835k   out.m2v

    But when I used -maxrate and - minrate along with my parameter set I was not able to force CBR. My parameter set is as follows,

    -i {inputfile}
    -b 1200k -minrate 1200k
    -maxrate 1200k -bufsize 1200k
    -ab 64k -vcodec libx264
    -acodec libfaac -ac 2 -ar 44100
    -y -s 320x240
    {outputfile}

    Why is this happening ?