Recherche avancée

Médias (0)

Mot : - Tags -/tags

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

Autres articles (60)

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

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • 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

Sur d’autres sites (13733)

  • FFMpeg RGB32 to NV12 using SWScale

    28 avril 2016, par KevinA

    I’m trying to convert RGB32 frames to NV12 Frames to feed into an encoder.

    m_iWidthIn = 1920;
    m_iHeightIn = 1080;
    m_iWidthOut = (((iWidthIn  + 31) >> 5) << 5) //32bit align
    m_heightOut = (((iHeightIn + 31) >> 5) << 5) //32bit align
    m_outputPixelFormat = AV_PIX_FMT_NV12;

    // allocate and fill buffers

    m_sws = ::sws_getContext(m_iWidthIn, m_iHeightIn, AV_PIX_FMT_RGB32, m_iWidthOut, m_iHeightOut, m_outputPixelFormat, SWS_FAST_BILINEAR, nullptr, nullptr, nullptr);
    AVFrame* frameOut = av_frame_alloc();
    frameOut->height = m_iHeightOut;
    frameOut->width = m_iWidthOut;
    frameOut->format = m_outputPixelFormat;
    av_frame_get_buffer(frameOut, 32);
    int linesize[1] = { m_iWidthIn * 4 };
    uint8_t * data[1] = { m_inputBuffer  };
    if (m_bFlip)
    {
       data[0] += linesize[0] * (m_iHeightIn - 1);
       linesize[0] = -linesize[0];
    }
    ::sws_scale(m_sws, data, linesize, 0, m_iHeightIn, frameOut->data, frameOut->linesize);
    ::av_image_copy_to_buffer(pOutputBuffer, lDataLen, frameOut->data, frameOut->linesize, m_outputPixelFormat, m_iWidthOut, m_iHeightOut, 32);

    If I make m_outputPixelFormat AV_PIX_FMT_RGB32 and use a DMO colorspace converter, the video comes out correctly. However if I change it to NV12, I end up with a slanted video with missing data at the bottom.
    I know this is caused by me copying the data incorrectly out of the buffer, but I’m unsure what I’m doing incorrectly.

  • FFMpeg muxing h264 to mp4 resultant file is not running

    11 mars 2016, par M.Taha

    I am writing code to mux h264 file into mp4 by using latest FFMPEG 3.0. Muxing is working but the resultant mp4 file is not showing vedio, only the time is running when i play the resultant mp4 file. Kindly try to help to solve this. Please tell me what i am missing. Here is my code :

    int main()
    {  
       avcodec_register_all();

       av_register_all();

       // define AVOutputFormat
       AVOutputFormat *avoutputFormat = NULL;
       avoutputFormat = av_guess_format("mp4", NULL, NULL);
       if (!avoutputFormat) {
       fprintf(stderr, "Could not find suitable output format\n");
       return 1;
       }

       AVFormatContext *avoutFmtCtx = NULL;
       /*Below initialize AVFormatContext.*/
       avformat_alloc_output_context2(&avoutFmtCtx, avoutputFormat, NULL, NULL);

       avoutFmtCtx->oformat = avoutputFormat;
       sprintf_s(avoutFmtCtx->filename, "%s", "Out.mp4");  /*Filling output file name..*/

       if (avoutputFormat->video_codec == AV_CODEC_ID_NONE)
       printf("\n Unsupported format...");

       AVStream * avoutStrm = avformat_new_stream(avoutFmtCtx, 0);

       if (!avoutStrm) {
       _tcprintf(_T("FFMPEG: Could not alloc video stream\n"));        
       }

       AVCodecContext *c = avoutStrm->codec;
       c->codec_id     = avoutputFormat->video_codec;
       c->codec_type   = AVMEDIA_TYPE_VIDEO;
       c->bit_rate     = 2000*1000;
       c->width        = 1920;
       c->height       = 1080;
       AVRational avr;
       avr.den = 30;
       avr.num = 1;

       avoutStrm->time_base = c->time_base = av_add_q(avoutStrm->codec->time_base, avr);

       // Some formats want stream headers to be separate
       if(avoutFmtCtx->oformat->flags & AVFMT_GLOBALHEADER)
       c->flags |= CODEC_FLAG_GLOBAL_HEADER;

       // Open the output container file
       if (avio_open(&avoutFmtCtx->pb, avoutFmtCtx->filename, AVIO_FLAG_WRITE) < 0)
       {
       _tcprintf(_T("FFMPEG: Could not open '%s'\n"), avoutFmtCtx->filename);      
       }

       m_pExtDataBuffer = (uint8_t*)av_malloc(1000 + 1000);
       if(!m_pExtDataBuffer) {
       _tcprintf(_T("FFMPEG: could not allocate required buffer\n"));

       }

       uint8_t SPSbuf[1000];
       uint8_t PPSbuf[1000];
       memcpy(m_pExtDataBuffer, SPSbuf, 1000);            
       memcpy(m_pExtDataBuffer + 1000, PPSbuf, 1000);  

       /* Codec "extradata" conveys the H.264 stream SPS and PPS info (MPEG2: sequence header is housed in SPS buffer, PPS buffer is empty)*/
       c->extradata        = m_pExtDataBuffer;
       c->extradata_size   = 1000 + 1000;

       if(avformat_write_header(avoutFmtCtx,NULL)) {
       _tcprintf(_T("FFMPEG: avformat_write_header error!\n"));

       }

       /* Here do writing data in loop...*/
       int m_nProcessedFramesNum = 0;

       while(1)
       {
       ++m_nProcessedFramesNum;
       AVPacket pkt;
       av_init_packet(&pkt);

       AVCodecContext *c = avoutStrm->codec;
       avoutStrm->pts.val = m_nProcessedFramesNum;
       pkt.stream_index    = avoutStrm->index;

       pkt.data            = /*Filling h.264 data from here... This is valid h264 data*/
       pkt.size            = /*Filling valid h264 data size here...*/
       av_new_packet(&pkt,pkt.size);
       pkt.pts = m_nProcessedFramesNum*512;
       pkt.dts = m_nProcessedFramesNum*512;
       pkt.duration = 512;

       // Write the compressed frame in the media file
       if (av_interleaved_write_frame(avoutFmtCtx, &pkt)) {
       _tcprintf(_T("FFMPEG: Error while writing video frame\n"));        
       }/*End of loop.*/

       av_free_packet(&pkt);      

       }  
       av_write_trailer(avoutFmtCtx);
       avio_close(avoutFmtCtx->pb);
       avformat_free_context(avoutFmtCtx);
    }
  • Low processing for conversation of .MOV file to .mp4 using ffmpeg [closed]

    4 janvier 2021, par zain rauf

    I am using the below CMD for converting .mov file to .mp4 with following resolution options

    


    ffmpeg -y -i 'Aws s3 video link of .mov file' -vcodec h264 -acodec acc -vf scale=1080:1920,setsar=1:1 -q:a 10 -q:v 3 -preset ultrafast -r 25 -f mp4 -c:a copy tmp/filename-resize.mp4

    


    Issue is that it works very slow when i am using input file as a AWS s3 video link