Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (75)

  • Submit enhancements and plugins

    13 avril 2011

    If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
    You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.

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

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (6270)

  • Why does ffmpeg.exe not always terminate ?

    17 décembre 2012, par Joe

    I have a script in php that shells out to ffmpeg using exec() - it creates an mp4 out of an image and an mp3.

    This is the command I am executing :

    "C:\\Program Files\\ffmpeg\\bin\\ffmpeg.exe" -loop 1 -r 0.1 -i image.jpg -i mp3.mp3 -c:v libx264 -preset ultrafast -crf 18 -tune stillimage -c:a copy -filter:v "[in] scale=-1:720, pad=1280:720:640-iw/2 [out]" -shortest out.mp4 -report

    For the vast majority of the time, it works fine, takes about 5 seconds and then ends. However, every now and again the ffmpeg.exe process 'hangs' using 100% CPU and will stay there until manually 'killed'.

    ffmpeg.exe doesn't seem to be doing anything, the .mp4 it has created is incomplete and not getting any bigger, the log file is not changing and the modification times on all the files are not changing. I do not know why it is using 100% CPU.

    I can take the same image and mp3 and run it through again and it will work fine.

    I have the -report switch on and there doesn't appear to be anything in the log file which indicates why it has failed and not terminated. Here are the last lines of the (934 line) log file, it seems to have stopped after frame 10 for some reason :

    [libx264 @ 0000000001E37D10] frame=   6 QP=18.00 NAL=2 Slice:P Poc:12  I:0    P:0    SKIP:3600 size=11 bytes
    [libx264 @ 0000000001E37D10] frame=   7 QP=18.00 NAL=2 Slice:P Poc:14  I:0    P:0    SKIP:3600 size=11 bytes`
    [libx264 @ 0000000001E37D10] frame=   8 QP=18.00 NAL=2 Slice:P Poc:16  I:0    P:0    SKIP:3600 size=11 bytes
    [libx264 @ 0000000001E37D10] frame=   9 QP=18.00 NAL=2 Slice:P Poc:18  I:0    P:0    SKIP:3600 size=11 bytes
    [libx264 @ 0000000001E37D10] frame=  10 QP=18.00 NAL=2 Slice:P Poc:20  I:0    P:0    SKIP:3600 size=11 bytes`

    I've tried inspecting a hung ffmpeg.exe using Process Explorer, but as it is a background process, I can't seem to be able to find anything meaningful, but maybe I am missing something here - is there a way to bring the background process to the foreground ?

    Any ideas would be much appreciated :-)

  • How to add a title slide to a video ?

    5 septembre 2013, par Anand Chitipothu

    I'm trying to add a title slide to a video.

    I've the title image and I created a mp4 out of it using :

    ffmpeg -loop 1 -shortest -f image2 -i slide.png -i silence.wav -c:v libx264 -c:a libmp3lame -tune stillimage  -strict experimental -t ${INTRO_LENGTH} slide.mp4

    And then I joined the slide using :

    ffmpeg -i slide.mp4 slide.mpg
    ffmpeg -i video.mp4 video.mpg
    cat slide.mpg video.mpg > video-with-slides.mpg
    ffmpeg -i video-with-slides.mpg video-with-slides.mp4

    But the final output file is way larger than the input video (6X or more). Is there any simpler/better way to add a title slide to a video ?

  • h264 ffmpeg : How to initialize ffmpeg to decode NALs created with x264

    14 décembre 2014, par Raul Calvo

    I have encoded some frames using x264, using x264_encoder_encode and after that I have created AVPackets using a function like this :

    bool PacketizeNals( uint8_t* a_pNalBuffer, int a_nNalBufferSize, AVPacket* a_pPacket )
    {
       if ( !a_pPacket )
    return false;
       a_pPacket->data = a_pNalBuffer;
       a_pPacket->size = a_nNalBufferSize;
       a_pPacket->stream_index = 0;
       a_pPacket->flags = AV_PKT_FLAG_KEY;

       a_pPacket->pts = int64_t(0x8000000000000000);
       a_pPacket->dts = int64_t(0x8000000000000000);
    }

    I call this function like this :

    x264_nal_t* nals;
    int num_nals = encode_frame(pic, &nals);
    for (int i = 0; i < num_nals; i++)
    {
       AVPacket* pPacket = ( AVPacket* )av_malloc( sizeof( AVPacket ) );
       av_init_packet( pPacket );
       if ( PacketizeNals( nals[i].p_payload, nals[i].i_payload, pPacket ) )
       {
           packets.push_back( pPacket );
       }
    }

    Now what I want to do is to decode these AVPackets using avcodec_decode_video2. I think the problem is that I haven’t initialized properly the decoder because to encode I used "ultrafast" profile and "zerolatency" tune ( x264 ) and to decode I don’t know how to specify to ffmpeg these options.
    In some examples I have read people initialize the decoder using the file where the video is stored, but in this case I have directly the AVPackets.
    What I’m doing to try to decode is :

    avcodec_init();  
    avcodec_register_all();  
    AVCodec* pCodec;  
    pCodec=avcodec_find_decoder(CODEC_ID_H264);  
    AVCodecContext* pCodecContext;  
    pCodecContext=avcodec_alloc_context();  
    avcodec_open(pCodecContext,pCodec);  
    pCodecContext->width = 320;
    pCodecContext->height = 200;
    pCodecContext->extradata = NULL;
    unsigned int nNumPackets = packets.size();
    int frameFinished = 0;
    for ( auto it = packets.begin(); it != packets.end(); it++ )
    {
       AVFrame* pFrame;
       pFrame = avcodec_alloc_frame();
       AVPacket* pPacket = *it;
       int iReturn = avcodec_decode_video2( pCodecContext, pFrame, &frameFinished, pPacket );
    }

    But in iReturn always is -1.

    Can anyone help me ? Sorry if my knowledge in this area es low, I’m new.

    Thanks.