Recherche avancée

Médias (91)

Autres articles (28)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

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

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (5443)

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

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

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