Recherche avancée

Médias (91)

Autres articles (106)

  • 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

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

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

Sur d’autres sites (11434)

  • FFMpeg C++ How to create a filter with multiple outputs ?

    11 septembre 2020, par GoodSimon

    For example, we have one AVFrame with a size of 128x128 pixels and the task is to split the AVFrame into 4 parts (4 separate AVFrame). To do this, I fill the graph with filters using the avfilter_graph_parse2(...) function, and then call avfilter_graph_config(...).

    


    Let's start. Let's cut out the top left corner. To crop a frame, we need to use the crop filter, which means we initialize the AVFilterGraph graph with the line :

    


    buffer = width = 128: height = 128: pix_fmt = 2: time_base = 1/25, pixel_aspect = 128/64 [pad_in];
[pad_in] crop = w = 64: h = 64: x = 0: y = 0, buffersink;


    


    Everything works great ! Now let's try to make several outputs :

    


    buffer = width = 128: height = 128: pix_fmt = 2: time_base = 1/25, pixel_aspect = 128/64 [pad_in];
[pad_in] crop = w = 64: h = 64: x = 0: y = 0, buffersink;
[pad_in] crop = w = 64: h = 64: x = 64: y = 0, buffersink;
[pad_in] crop = w = 64: h = 64: x = 0: y = 64, buffersink;
[pad_in] crop = w = 64: h = 64: x = 64: y = 64, buffersink


    


    As you can see, we have one buffer for the input image, 4 crop filters for cutting each piece, and 4 buffersink filters for the output images. The call avfilter_graph_parse2(...) returns 0, which is good, but avfilter_graph_config() returns the error code -22 == AVERROR(EINVAL) and the message is output to the console : Input pad "default" with type video of the filter instance "Parsed_crop_3" of crop not connected to any source.

    


    I am asking for your help in creating a filter with multiple outputs.

    


  • FFmpeg encoding through h264_qsv : pts < dts

    29 décembre 2023, par Mario

    I'm modifying a portion of code that encodes input frames in an output mp4 file via the h264 software encoder which works quite well. Most of the code comes from https://ffmpeg.org/doxygen/6.0/mux_8c-example.html.

    &#xA;

    I changed the "working" code to use the h264_qsv hardware accelerated encoder. After a lot of work the new code produces h264 encoded frames. For testing purpose I can write them with

    &#xA;

    &#xA;

    fwrite(pkt->data, pkt->size, 1, fout)

    &#xA;

    &#xA;

    and mpv displays frames correctly (with some warnings).

    &#xA;

    When I use regular :

    &#xA;

    &#xA;

    av_interleaved_write_frame(fmt_ctx, pkt)

    &#xA;

    &#xA;

    (as from previously working code) returns an error and on stderr :

    &#xA;

    &#xA;

    [mp4 @ 0x7f82a80b3b40] pts (-1574122160956548608) < dts&#xA;(1574122160956547584) in stream 0

    &#xA;

    &#xA;

    To look for the cause I added the following lines just before av_interleaved_write_frame(). I read that it may be a non-fatal error and so I continue after the errors, but there isn't output.

    &#xA;

    &#xA;

    frame->pts=210
    &#xA;pkt->pts=-1574122160956548608
    &#xA;pkt->dts=1574122160956547584
    &#xA;[mp4 @ 0x7effb40b3b40] pts (-1574122160956548608) < dts (1574122160956547584) in stream 0
    &#xA;...
    &#xA;frame->pts=240
    &#xA;pkt->pts=-1574122160956548608
    &#xA;pkt->dts=1574122160956548096
    &#xA;[mp4 @ 0x7effb40b3b40] pts (-1574122160956548608) < dts (1574122160956548096) in stream 0

    &#xA;

    &#xA;

    I did another test assigning incremental values to pkt->pts and pkt->dts, it works but resulting fps is wrong, and I don't think it is the right solution !

    &#xA;

    Why does the av_interleaved_write_frame(fmt_ctx, pkt) function returns an error with h264_qsv encoder ? Who should set pkt->pts and pkt->dts ?

    &#xA;

  • rtsp timeout av_read_frame

    30 novembre 2012, par user1175197

    I am using ffmpeg to play an RTSP stream. I have a loop like

       while (av_read_frame(formatContext, packet)>=0)
       {
         doWork();
       }

    I can watch the stream as long as there is something moving in front of the camera. But whenever the view is stable the above function returns EOF as I checked with av_strerror. Any ideas why and how to fix it ?

    thanks