Recherche avancée

Médias (1)

Mot : - Tags -/iphone

Autres articles (105)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Problèmes fréquents

    10 mars 2010, par

    PHP et safe_mode activé
    Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
    La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site

  • Qu’est ce qu’un éditorial

    21 juin 2013, par

    Ecrivez votre de point de vue dans un article. Celui-ci sera rangé dans une rubrique prévue à cet effet.
    Un éditorial est un article de type texte uniquement. Il a pour objectif de ranger les points de vue dans une rubrique dédiée. Un seul éditorial est placé à la une en page d’accueil. Pour consulter les précédents, consultez la rubrique dédiée.
    Vous pouvez personnaliser le formulaire de création d’un éditorial.
    Formulaire de création d’un éditorial Dans le cas d’un document de type éditorial, les (...)

Sur d’autres sites (10891)

  • Bitmap images to WEBM video encoding

    21 novembre 2013, par Ankush

    I am trying to encode bitmap images to webm video,but generated video is not playable
    Here is code I am using,code works fine for H624.
    While encoding console windows shows : [libvpx @ 009b2f60] v1.2.0
    there is no webm string in produced video file. Any clue ? ( I am newbie for FFMPEG API )

    void create_from_bmp()
    {
    CFile file[5];  
    BYTE *szTxt[5];  

    int nWidth = 0;  
    int nHeight= 0;  

    int nDataLen=0;  

    int nLen;  

    CString csFileName;  
    for (int fileI = 1; fileI <= 5; fileI ++)  
    {
     csFileName.Format("e:\\pics\\%d.bmp",fileI);  
     file[fileI - 1].Open(csFileName,CFile::modeRead | CFile::typeBinary);  
     nLen = file[fileI - 1].GetLength();  

     szTxt[fileI -1] = new BYTE[nLen];  
     file[fileI - 1].Read(szTxt[fileI - 1], nLen);  
     file[fileI - 1].Close();  

     //BMP bmi;//BITMAPINFO bmi;  
     //int nHeadLen = sizeof(BMP);  
     BITMAPFILEHEADER bmpFHeader;  
     BITMAPINFOHEADER bmpIHeader;  
     memcpy(&bmpFHeader,szTxt[fileI -1],sizeof(BITMAPFILEHEADER));  

     int nHeadLen = bmpFHeader.bfOffBits - sizeof(BITMAPFILEHEADER);  
     memcpy(&bmpIHeader,szTxt[fileI - 1]+sizeof(BITMAPFILEHEADER),nHeadLen);  

     nWidth = bmpIHeader.biWidth;// 464;// bmi.bmpInfo.bmiHeader.biWidth;// ;  
     nHeight = bmpIHeader.biHeight;//362;// bmi.bmpInfo.bmiHeader.biHeight;// ;  

     szTxt[fileI - 1] += bmpFHeader.bfOffBits;  
     nDataLen = nLen-bmpFHeader.bfOffBits;  
    }  

    av_register_all();  
    avcodec_register_all();  
    AVFrame *m_pRGBFrame =  new AVFrame[1];  //RGB    
    AVFrame *m_pYUVFrame = new AVFrame[1];;  //YUV
    AVCodecContext *c= NULL;  
    AVCodecContext *in_c= NULL;  
    AVCodec *pCodecH264;
    uint8_t * yuv_buff;//  

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

    c= avcodec_alloc_context3(pCodecH264);  
    c->bit_rate = 3000000;// put sample parameters  
    c->width =nWidth;//  
    c->height = nHeight;//  

    // frames per second  
    AVRational rate;  
    rate.num = 1;  
    rate.den = 5;  //5 frames per sec
    c->time_base= rate;//(AVRational){1,25};  
    c->gop_size = 10; // emit one intra frame every ten frames   //emit one iframe per sec
    c->max_b_frames=0;  //
    c->thread_count = 1;  
    c->pix_fmt = PIX_FMT_YUV420P;//PIX_FMT_RGB24;  
    c->codec_id=CODEC_ID_VP8;

    //av_opt_set(c->priv_data, /*"preset"*/"libvpx-1080p.ffpreset", /*"slow"*/NULL, 0);  
    if(avcodec_open2(c,pCodecH264,NULL)<0)  
     printf("Cant open codec");

    int size = c->width * c->height;  

    yuv_buff = (uint8_t *) malloc((size * 3) / 2); // size for YUV 420    

    uint8_t * rgb_buff = new uint8_t[nDataLen];  

    int outbuf_size=400000;  
    uint8_t * outbuf= (uint8_t*)malloc(outbuf_size);  
    int u_size = 0;  
    FILE *f=NULL;  
    char * filename = "e:\\pics\\myData.h264";  
    f = fopen(filename, "wb");  
    if (!f)  
    {  
     printf( "could not open %s\n", filename);  
     exit(1);  
    }  

    //SwsContext  
    SwsContext * scxt = sws_getContext(c->width,c->height,PIX_FMT_BGR24,c->width,c->height,PIX_FMT_YUV420P,SWS_POINT,NULL,NULL,NULL);  

    AVPacket avpkt;  

    //AVFrame *pTFrame=new AVFrame  
    for (int i=0;i<60;++i)  
    {  
     //AVFrame *m_pYUVFrame = new AVFrame[1];  

     int index = (i / 5) % 5;  
     memcpy(rgb_buff,szTxt[index],nDataLen);  

     avpicture_fill((AVPicture*)m_pRGBFrame, (uint8_t*)rgb_buff, PIX_FMT_RGB24, nWidth, nHeight);  

     avpicture_fill((AVPicture*)m_pYUVFrame, (uint8_t*)yuv_buff, PIX_FMT_YUV420P, nWidth, nHeight);  

     m_pRGBFrame->data[0]  += m_pRGBFrame->linesize[0] * (nHeight - 1);  
     m_pRGBFrame->linesize[0] *= -1;                    
     m_pRGBFrame->data[1]  += m_pRGBFrame->linesize[1] * (nHeight / 2 - 1);  
     m_pRGBFrame->linesize[1] *= -1;  
     m_pRGBFrame->data[2]  += m_pRGBFrame->linesize[2] * (nHeight / 2 - 1);  
     m_pRGBFrame->linesize[2] *= -1;  


     sws_scale(scxt,m_pRGBFrame->data,m_pRGBFrame->linesize,0,c->height,m_pYUVFrame->data,m_pYUVFrame->linesize);  

     int got_packet_ptr = 0;  
     av_init_packet(&avpkt);  
     avpkt.data = outbuf;  
     avpkt.size = outbuf_size;  
     u_size = avcodec_encode_video2(c, &avpkt, m_pYUVFrame, &got_packet_ptr);  
     if (u_size == 0)  
     {  
      fwrite(avpkt.data, 1, avpkt.size, f);  
     }  
    }

    fclose(f);  
    delete []m_pRGBFrame;  
    delete []m_pYUVFrame;  
    delete []rgb_buff;  
    free(outbuf);  
    avcodec_close(c);  
    av_free(c);  
    }

    I want to use this code to record screen by encoding screenshots. what fps,gop size or other parameters i can use to reduce size of video.

  • Revision 5c808ba13a : Add max burst bitrate control. Applies an upper limit on burst bitrate for any

    10 janvier 2014, par Paul Wilkins

    Changed Paths :
     Modify /vp9/encoder/vp9_firstpass.c


     Modify /vp9/encoder/vp9_onyx_if.c


     Modify /vp9/encoder/vp9_onyx_int.h


     Modify /vp9/encoder/vp9_ratectrl.c



    Add max burst bitrate control.

    Applies an upper limit on burst bitrate for any
    frame. This is to insure that typical encodes for YT
    do not produce frames that are so large that they
    risk stalling HW implementations. Such frames
    could also cause playback problems in SW.

    For now the limit is set at 250 bits per MB for 1080P
    and larger (with the 1080P limit used for smaller frames).

    Setting maxQ, constant quality mode or targeting a
    very high bandwidth will have precedence over this limit.

    Change-Id : Ie6f776c38b06ac7cec043d034085f4b79ee46a38

  • Revision 4282955ee1 : Skip intra mode tests depending on inter residuals This commit allows encoder t

    29 août 2014, par Jingning Han

    Changed Paths :
     Modify /vp9/encoder/vp9_rdopt.c


     Modify /vp9/encoder/vp9_speed_features.c


     Modify /vp9/encoder/vp9_speed_features.h



    Skip intra mode tests depending on inter residuals

    This commit allows encoder to skip intra coding mode test, when
    the known inter residual is less than the source variance. It
    reduces the runtime of speed 3 for test clips :
    bus cif 1000 kbps : 8587 ms -> 8260 ms, 3.8% speed-up
    pedestrian 1080p 2000 kbps : 161381 ms -> 155241 ms, 3.7% speed-up.

    The compression performance is down by
    derf -0.36%
    stdhd -0.25%

    Change-Id : I75ce1e035b4da2153cb1ac14111d1a07c05a735d