Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (44)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

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

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (6040)

  • How to merge four videos on one screen with ffmpeg

    28 janvier 2016, par Andrey Prokhorenko

    I have a video test.mp4, and I need to make it appear four times at once on a screen. Here I found a command that makes two videos appear at a time

    ffmpeg -i input0.avi -vf "movie=input1.avi [in1]; [in]pad=640*2:352[in0]; [in0][in1] overlay=640:0 [out]" out.avi

    But it doesn’t work with mp4 videos, and I need four videos at a time. Thank you in advance

  • ffmpeg memory usage, or memory leaks

    26 janvier, par happycoding-boy

    I'v write a simple program to get audio waveform data, which using ffmpeg version 6.1. And program works fine. But I get a problem : when program running at begin, system report using about 6MB memory, but when I call the function and cleanup the resouce alloced, system report about 9MB memory used. In my theory, after cleanup, it should be 6MB again. [I'm sure, I freed the AVPacket when read stream, and AVFrame for decoding.] My question is : Is this normal or not ?

    


    int main(int argc, char *argv[])
{
    // breakpoint here: ~= 6MB
    get_audio_waveform();
    // breakpoint here: ~= 9MB
}


    


    The ffmpeg struct I used :

    


    AVFormatContext*    p_input_fmt_ctx = nullptr;
AVCodecContext*     p_input_cdc_ctx = nullptr;
SwrContext*         p_resampler_ctx = nullptr;
AVAudioFifo*        p_audio_fifo    = nullptr;
uint8_t**           p_converted_input = nullptr;
uint8_t**           p_converted_output = nullptr;


    


    The cleanup func :

    


    void _cleanup()
{
    avformat_close_input(&p_input_fmt_ctx);
    avcodec_free_context(&p_input_cdc_ctx);
    swr_free(&p_resampler_ctx);
    
    if (p_audio_fifo)
    {
        av_audio_fifo_reset(p_audio_fifo);
        av_audio_fifo_free(p_audio_fifo);
        p_audio_fifo = nullptr;
    }
    
    if (p_converted_input)
    {
        av_freep(&p_converted_input[0]);
        free(p_converted_input);
        p_converted_input = nullptr;
    }
    
    if (p_converted_output)
    {
        av_freep(&p_converted_output[0]);
        free(p_converted_output);
        p_converted_output = nullptr;
    }
}


    


    In my opinion,If this function have about 3MB memory leaks6MB. when I run this function 5-times, it should be about 15MB memory leaks.6MB. But when I run this function 5-times. After that, system just reports about 10-11 memory used. I doubt wheather program uses runtime library (i.e. libc or equivalent) and the library allocates some memory for own needs? I do not known which step is wrong! :(

    


  • hls av_read_frame delay reading between segment files

    12 septembre 2016, par Debendra Modi

    I am trying to demux live HLS audio and find delays in the loop for reading frames whenever it starts reading the next segment file.

    The HLS audio segment files are MP3, 1 second target duration. Each 1 second file has 13 frames.

    The live HLS source and our code is started at the same time. avformat_open_input takes about 5 seconds to return, as it waits for 3 segment files as required by HLS standards.

    The av_read_frame loop reads 13 frames from each segment file and then it takes about 1.5 to 2 seconds before it starts reading the next 13 frames from the next segment file. Our interrupt callback is called several times within this duration and we return a 0 to continue reading.

    The playlist has several segment files available for it to read so it is not waiting for the segment file to be available in the playlist.

    Given below is the code snippet and attached is the m3u8.

    static int interrupt_cb(void *start_ticks)
    {
    long starttime = (long)start_ticks;  //the start time ticks is in opaque

       //timeout after 5 seconds of no activity
       if (GetTickCount() - starttime  >7000))
               return 1;
       log("Returning 0");
       return 0;
    }


    static bool hls_demuxer( char* fileName )
    {
       AVDictionary *options = NULL;
       av_dict_set(&options, "analyzeduration", "100000", 0);

       AVFormatContext* formatContext = avformat_alloc_context( );

       formatContext->interrupt_callback.callback = interrupt_cb;
       long startticks = GetTickCount();
       formatContext->interrupt_callback.opaque = (void*) startticks;
       formatContext->flags|=AVFMT_FLAG_NONBLOCK;

       //added the following additional parameters to see if they would help to     speed up reading frames - but in vain

       formatContext->probesize = 2048;
       formatContext->max_delay = 100000; //0.1 secs, default 5 secs
       formatContext->probe_score = 100;
       formatContext->max_analyze_duration = 100000;   //0.1 secs

       if ( avformat_open_input( &formatContext, fileName, NULL, NULL ) !=0 )
       {
           return false;
       }
       av_dict_free(&options);


       av_dump_format(formatContext,0,filename,0);             //reaches here after 4 secs of start. Interrupt callback called several times.  This is OK.

       if (avformat_find_stream_info(formatContext,NULL) != 0)
           return false;

       AVPacket pkt;
       while(!threadstop)
       {  

    startticks = GetTickCount();


    //**THIS IS THE ISSUE** ->reads 13 frames from first segment file.
    // No interrupt callback.  Then before using the next segment file, calls
    //interrupt callback several times (about 1 to 2 secs) before reading next
    //segment file, then reads the next 13 frames.  Playlist has several files
    //available.  This continues between each segment file read, thereby    
    //delaying read for each new segment file in playlist.

    if (av_read_frame(formatContext,&pkt) != 0)        
       return false;                      

           log("Packet read");
       //Do something with packet
           av_packet_unref(&pkt);                      
       }
       return true;    //When the playlist ends, it has 38 files.The demuxer Takes over 30 seconds longer.
    }

    Any suggestions ? Thanks in advance.