Recherche avancée

Médias (0)

Mot : - Tags -/diogene

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

Autres articles (36)

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

  • 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

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

Sur d’autres sites (4436)

  • Can't open encoder when use libavcodec

    1er novembre 2013, par liuyanghejerry

    I'm using libavcodec, version 9.7, to write a simple demo, almost exactly like example in official example.

    However, I can't open encoder. Also, av_opt_set(context->priv_data, "preset", "slow", 0) always leads to crush.

    This is my code :

    // other code...
    int ret = 0;
    avcodec_register_all();
    AVCodec* codec = NULL;
    AVCodecContext* context = NULL;
    AVFrame* frame = NULL;
    uint8_t endcode[] = { 0, 0, 1, 0xb7 };
    codec = avcodec_find_encoder(AV_CODEC_ID_H264);
    if(!codec){
       qDebug()<<"cannot find encoder";
       return;
    }
    qDebug()<<"encoder found";

    context = avcodec_alloc_context3(codec);
    if(!context){
       qDebug()<<"cannot alloc context";
       return;
    }
    qDebug()<<"context allocted";

    context->bit_rate = 400000;
    /* resolution must be a multiple of two */
    context->width = 352;
    context->height = 288;
    /* frames per second */
    context->time_base= (AVRational){1,25};
    context->gop_size = 10; /* emit one intra frame every ten frames */
    context->max_b_frames=1;
    context->pix_fmt = AV_PIX_FMT_YUV420P;
    qDebug()<<"context init";

    // av_opt_set(context->priv_data, "preset", "slow", 0); // this will crush
    AVDictionary *d = NULL;
    av_dict_set(&d, "preset", "ultrafast",0); // this won't

    ret = avcodec_open2(context, codec, &d);
    if ( ret < 0) {
       qDebug()<<"cannot open codec"</ other code...

    This outputs :

    encoder found

    context allocted

    context init

    cannot open codec -22

    [libx264 @ 0340B340] [IMGUTILS @ 0028FC34] Picture size 0x10 is invalid

    [libx264 @ 0340B340] ignoring invalid width/height values

    [libx264 @ 0340B340] Specified pix_fmt is not supported

    I don't think the width/height is invalid and format there either. I have no idea what's wrong here.

    Any help. plz ?

  • how to open a live stream like"p2p ://207.238.82.38:9916/51aea8370002dc6ce83e43c11c6234f6"

    6 mars 2017, par disco.liu

    I have a android player app which use ijkplayer as core engine.of course the native is supported by ffmepg.Now i want to support p2p protocol(like p2p ://207.238.82.38:9916/51aea8370002dc6ce83e43c11c6234f6 ) in my app.Who has a good idea ? ths

  • Capture JPEG frame from avi file using ffmpeg library. How to open captured files ?

    30 novembre 2013, par ios198

    This is the code I found from the ffmpeg tutorial website :

    #include <libavcodec></libavcodec>avcodec.h>
    #include <libavformat></libavformat>avformat.h>
    #include <libswscale></libswscale>swscale.h>
    #include
    void SaveFrame(AVFrame *pFrame, int width, int height, int iFrame) {
     FILE *pFile;
     char szFilename[32];
     int  y;

     // Open file
     sprintf(szFilename, "frame%d.ppm", iFrame); // szFilenam = frame4.ppm
     pFile=fopen(szFilename, "wb");
     if (pFile == NULL) {
      return;
       }
      //Write header
     fprintf(pFile, "P6\n%d %d\n255\n", width, height);

     // Write pixel data
     for(y=0; ydata[0]+y*pFrame->linesize[0], 1, width*3, pFile);

     // Close file
     fclose(pFile);
    }

    int main(int argc, char **argv[])
    {
       AVFormatContext *pFormatCtx = NULL;
       int             i, videoStream;
       AVCodecContext  *pCodecCtx = NULL;
       AVCodec         *pCodec = NULL;
       AVFrame         *pFrame = NULL;
       AVFrame         *pFrameRGB = NULL;
       AVPacket        packet;
       int             frameFinished;
       int             numBytes;
       uint8_t         *buffer = NULL;

       AVDictionary    *optionsDict = NULL;
       struct SwsContext      *sws_ctx = NULL;


       // Register all formats and codecs
       av_register_all();

       // Open video file
       if(avformat_open_input(&amp;pFormatCtx, "/root/dhquan/AVI/turning_pages.avi", NULL, NULL)!=0)
           return -1; // couldn&#39;t open file

       // Retrieve stream information
       if(avformat_find_stream_info(pFormatCtx,NULL)&lt;0)
           return -1; // couldn&#39;t find stream information
                      // This function populates pFormatCtx->streams with the proper

       // dump information about file onto standard error
       av_dump_format(pFormatCtx, 0, "/root/dhquan/AVI/turning_pages.avi", 0);

       // Find the first video stream
       videoStream = -1;
       for(i=0;inb_streams;i++)
           if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO){
               videoStream=i;
               break;
           }
           if(videoStream==-1)
               return -1; // didn&#39;t find a video stream

       // Get a pointer to the codec context for the video stream
           pCodecCtx= pFormatCtx->streams[videoStream]->codec;

       // Find the decoder for the video stream
           pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
           if(pCodec==NULL){
               fprintf(stderr,"Unsupported codec!\n");
               return -1;
           }

       // Open Codec
           if(avcodec_open2(pCodecCtx, pCodec, &amp;optionsDict)&lt;0)
               return -1; // Could not open codec

       // Allocate video frame
           pFrame = avcodec_alloc_frame();

       // Allocate an AVFrame structure
            pFrameRGB=avcodec_alloc_frame();
           if(pFrameRGB==NULL)
               return -1;
       // Determine required buffer size and allocate buffer
            numBytes=avpicture_get_size(PIX_FMT_RGB24, pCodecCtx->width,
                     pCodecCtx->height);
            buffer=(uint8_t *)av_malloc(numBytes*sizeof(uint8_t));

            sws_ctx =
            sws_getContext
       (
           pCodecCtx->width,
           pCodecCtx->height,
           pCodecCtx->pix_fmt,
           pCodecCtx->width,
           pCodecCtx->height,
           PIX_FMT_RGB24,
           SWS_BILINEAR,
           NULL,
           NULL,
           NULL
       );

     // Assign appropriate parts of buffer to image planes in pFrameRGB
     // Note that pFrameRGB is an AVFrame, but AVFrame is a superset
     // of AVPicture
     avpicture_fill((AVPicture *)pFrameRGB, buffer, PIX_FMT_RGB24,
            pCodecCtx->width, pCodecCtx->height);

     // Read frames and save first five frames to disk
     i=0;
     while(av_read_frame(pFormatCtx, &amp;packet)>=0) {
       // Is this a packet from the video stream?
       if(packet.stream_index==videoStream) {
         // Decode video frame
         avcodec_decode_video2(pCodecCtx, pFrame, &amp;frameFinished,
                  &amp;packet);

         // Did we get a video frame?
         if(frameFinished) {
       // Convert the image from its native format to RGB
           sws_scale
           (
               sws_ctx,
               (uint8_t const * const *)pFrame->data,
               pFrame->linesize,
               0,
               pCodecCtx->height,
               pFrameRGB->data,
               pFrameRGB->linesize
           );

       // Save the frame to disk
       if(++i&lt;=5)
         SaveFrame(pFrameRGB, pCodecCtx->width, pCodecCtx->height,
               i);
         }
       }

       // Free the packet that was allocated by av_read_frame
       av_free_packet(&amp;packet);
     }

     // Free the RGB image
     av_free(buffer);
     av_free(pFrameRGB);

     // Free the YUV frame
     av_free(pFrame);

     // Close the codec
     avcodec_close(pCodecCtx);

     // Close the video file
     avformat_close_input(&amp;pFormatCtx);

     return 0;
     //getch();
    }

    In line :
    sprintf(szFilename, "frame%d.ppm", iFrame) ;

    I changed into frame%d.jpg. It creates .jpg file in my folder. But I can't read it. How to open this file ? Please help me.