Recherche avancée

Médias (21)

Mot : - Tags -/Nine Inch Nails

Autres articles (67)

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

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (10445)

  • Is there any control property to fix video playback speed problem when using ffmpeg to decode in Qt platform ?

    16 février 2019, par SoloWang

    I want to play local video file in Qt platform using ffmpeg to decode.Everything is OK except that play speed is as twice as normal.
    The first thing I think about is that there must be a sampling frequency involved.But to be a new to ffmpeg,I don’t know how to fix this problem.
    Above is my code to read frame,is anyone can tell me what’s wrong with the code ?

    void VideoThread::run()
    {
       m_pInFmtCtx = avformat_alloc_context(); //ini struct
       char path[] = "d:/test.mp4";
       // open specific file
       if(avformat_open_input(&m_pInFmtCtx, *path, NULL, NULL)){
       {
           qDebug()<<"get rtsp failed";
           return;
       }
       else
       {
           qDebug()<<"get rtsp success";
       }


       if(avformat_find_stream_info(m_pInFmtCtx, NULL) < 0)
       {
           qDebug()<<"could not find stream information";
           return;
       }
       int nVideoIndex = -1;
       for(int i = 0; i < m_pInFmtCtx->nb_streams; i++)
       {
           if(m_pInFmtCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
           {
               nVideoIndex = i;
               break;
           }
       }
       if(nVideoIndex == -1)
       {
           qDebug()<<"could not find video stream";
           return;
       }

       qDebug("---------------- File Information ---------------");
       m_pCodecCtx = m_pInFmtCtx->streams[nVideoIndex]->codec;
       m_pCodec = avcodec_find_decoder(m_pCodecCtx->codec_id);
       if(!m_pCodec)
       {
           qDebug()<<"could not find codec";
           return;
       }
       //start Decoder
       if (avcodec_open2(m_pCodecCtx, m_pCodec, NULL) < 0) {
           qDebug("Could not open codec.\n");
           return;
       }


       //malloc space for stroring frame
       m_pFrame     = av_frame_alloc();
       m_pFrameRGB  = av_frame_alloc();
       m_pOutBuf = (uint8_t*)av_malloc(avpicture_get_size(AV_PIX_FMT_RGB32, m_pCodecCtx->width, m_pCodecCtx->height));
       avpicture_fill((AVPicture*)m_pFrameRGB, m_pOutBuf, AV_PIX_FMT_RGB32, m_pCodecCtx->width, m_pCodecCtx->height);

       //for color switch,from YUV to RGB
       struct SwsContext *pImgCtx = sws_getContext(m_pCodecCtx->width, m_pCodecCtx->height, m_pCodecCtx->pix_fmt,
                                                   m_pCodecCtx->width, m_pCodecCtx->height, AV_PIX_FMT_RGB32, SWS_BICUBIC, NULL, NULL, NULL);


       int nSize = m_pCodecCtx->width * m_pCodecCtx->height;
       m_pPacket = (AVPacket *)av_malloc(sizeof(AVPacket));
       if(av_new_packet(m_pPacket, nSize) != 0)
       {
           qDebug()<<"new packet failed";
       }

       //isInterruptionRequested is a flag,determine whether the thread is over
       // read each frame from specific video file
       while (!isInterruptionRequested())
       {
           int nGotPic = 0;
           if(av_read_frame(m_pInFmtCtx, m_pPacket) >= 0)
           {
               if(m_pPacket->stream_index == nVideoIndex)
               {
                   //avcodec_decode_video2()transform from packet to frame
                   if(avcodec_decode_video2(m_pCodecCtx, m_pFrame, &nGotPic, m_pPacket) < 0)
                   {
                       qDebug()<<"decode failed";
                       return;
                   }
                   if(nGotPic)
                   {   // transform to RGB color
                       sws_scale(pImgCtx, (const uint8_t* const*)m_pFrame->data,
                                 m_pFrame->linesize, 0, m_pCodecCtx->height, m_pFrameRGB->data,
                                 m_pFrameRGB->linesize);
                       // save to QImage,for later use
                       QImage *pImage = new QImage((uchar*)m_pOutBuf, m_pCodecCtx->width, m_pCodecCtx->height, QImage::Format_RGB32);
                   }

               }
           }

           av_free_packet(m_pPacket);
           msleep(5);
       }
       exec();
    }
  • Merging videos. multiple overlays and audio in one step

    3 février 2019, par user14567

    I have a process that I run hourly to update a 60 sec weather video.

    I combine a background video with a generated m4a audio track, scrolling text and separate top and bottom overlays.

    I need all of this in an mp4 and in a TLS (m3u8) format.

    Right now I do this 3 ffmpeg consecutive sessions and end up with a rendered 720p mp4.

    Then I run a 4th ffpmeg session to convert the the mp4 to a TLS version (I need both mp4 and m3u8.)

    I am doing this in 4 ffmpeg runs because I haven’t figured out how to combine the filters and do it in less.

    When I try an combine this, I lose either the overlays or the text. I can’t get it all to come out in one session. I’ve tried comma separating within the filters but I haven’t found the right combination.

    Any assistance in showing me how to combine this work and reduce the number of runs would be greatly appreciated.

    This runs on a Centos 7 box with ffmpeg version 3.4.1.

    #
    # Step 1: Combine background video with audio and scrolling text
    #
    ffmpeg -i /video/weather/media/sunnybeach.mp4 \
    -i /video/weather/prod/currentweather.m4a \
    -i /video/weather/media/weather-lower-third1.png \
    -map 2:v:0 -map 1:a:0 -strict -2 \
    -filter_complex  "[0]split[txt][orig];[txt]drawtext=fontfile=/var/www/vhosts/30a.tv/httpdocs/openx/lib/pear/Image/Canvas/Fonts/arial.ttf:fontsize=80:fontcolor=white:x=(w-text_w)/2+20:y=h-70*t:textfile=/video/weather/prod/currentweather.txt:bordercolor=black:borderw=2[txt];[orig]crop=iw:50:0:0[orig];[txt][orig]overlay” \
    -t 60 -c:v libx264 -y -s hd720  -loglevel quiet /video/weather/prod/currentweather.mp4 2>&1 >> /dev/null

    if [ $? != 0 ]; then echo fail step 1; exit 1;fi

    #
    # Step 2: now overlay current lowerthird
    #
    ffmpeg -i /video/weather/prod/currentweather.mp4 \
    -i /video/weather/media/weather-lower-third1.png \
    -strict -2 -filter_complex  "[0:v][1:v]overlay" -c:a copy -y  \
    -loglevel quiet $FKWI/currentweather1.mp4 2>&1 >> /dev/null

    if [ $? != 0 ]; then echo fail step 2; exit 1;fi

    #
    # Step 3: now overlay current topbanner
    #
    ffmpeg -i $FKWI/currentweather1.mp4 \
    -i /video/weather/media/weather-top-banner.png \
    -strict -2 -filter_complex  "[0:v][1:v]overlay" -c:a copy -y  \
    -loglevel quiet $FKWI/currentweather.mp4 2>&1 >> /dev/null

    if [ $? != 0 ]; then echo fail step 3; exit 1;fi

    #
    # Step 4: Now make TLS version
    #

    cd $FKWI/httpdocs/weather
    RES1=`/usr/bin/ffmpeg -i $FKWI/httpdocs/currentweather.mp4 \
    -profile:v baseline -level 3.0 -s 1280x720 \
    -c:a aac -ar 48000 -g 60 -start_number 0 \
    -hls_time 6 -hls_list_size 0 -f hls \
    -hls_base_url "http://$URL.com/weather/" \
    -hls_segment_filename "video%04d.ts" \
    -strict -2   -loglevel quiet "currentweather.m3u8" 2>&1>>/dev/null `

    if [ $? != 0 ]; then echo fail step 4; exit 1;fi

    This code yields both videos fine, but it takes 4 runs and I need it to happen in less runs.

  • avcodec/mips : [loongson] enable MSA optimization for loongson platform.

    17 décembre 2018, par Shiyou Yin
    avcodec/mips : [loongson] enable MSA optimization for loongson platform.
    

    Set initialization order of MSA after MMI to make it work on loongson platform(msa is supported by loongson2k、3a4000 etc.).

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavcodec/mips/blockdsp_init_mips.c
    • [DH] libavcodec/mips/h264chroma_init_mips.c
    • [DH] libavcodec/mips/h264dsp_init_mips.c
    • [DH] libavcodec/mips/h264pred_init_mips.c
    • [DH] libavcodec/mips/h264qpel_init_mips.c
    • [DH] libavcodec/mips/hpeldsp_init_mips.c
    • [DH] libavcodec/mips/idctdsp_init_mips.c
    • [DH] libavcodec/mips/mpegvideo_init_mips.c
    • [DH] libavcodec/mips/pixblockdsp_init_mips.c
    • [DH] libavcodec/mips/vp8dsp_init_mips.c