Recherche avancée

Médias (91)

Autres articles (56)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • Activation de l’inscription des visiteurs

    12 avril 2011, par

    Il est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
    Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
    Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (9479)

  • 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

    


  • 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);
    }
  • 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.