Recherche avancée

Médias (91)

Autres articles (104)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

Sur d’autres sites (10916)

  • 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

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

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

    &#xA;

    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 :

    &#xA;

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

    &#xA;

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

    &#xA;

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

    &#xA;

    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.

    &#xA;

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

    &#xA;