Recherche avancée

Médias (91)

Autres articles (74)

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

  • MediaSPIP : Modification des droits de création d’objets et de publication définitive

    11 novembre 2010, par

    Par défaut, MediaSPIP permet de créer 5 types d’objets.
    Toujours par défaut les droits de création et de publication définitive de ces objets sont réservés aux administrateurs, mais ils sont bien entendu configurables par les webmestres.
    Ces droits sont ainsi bloqués pour plusieurs raisons : parce que le fait d’autoriser à publier doit être la volonté du webmestre pas de l’ensemble de la plateforme et donc ne pas être un choix par défaut ; parce qu’avoir un compte peut servir à autre choses également, (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (7271)

  • How to replace a snippet in a video without reencoding the whole video

    3 novembre 2022, par Simon Streicher

    I am trying to edit and replace a section of a video without reencoding the whole video.
Here are the steps I think I need to take :

    


    1. Find keyframes

    


    input :

    


    ffprobe -v error -select_streams v:0 -skip_frame nokey -show_entries frame=pkt_pts_time -of csv=p=0 'example.mkv'


    


    output :

    


    0.000000
1.001000
11.011000
13.430000
20.812000
30.822000
40.832000
50.842000
⋮


    


    2. Export relevant section

    


    For example, export the snippet 40.832000 → 50.842000.

    


    3. Edit and reencode

    


    After editing that section, I need to reencode it to the original codecs for compatibility with the surrounding video. For example, this is the original codecs :

    


    Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x1600 [SAR 1:1 DAR 12:5], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)


    


    4. Inject edit back into the video stream

    


    Finally, I need to use FFmpeg somehow to retain everything from the original file (audio, subtitles, chapters, etc.) and to construct a new video stream (for example, Stream #0:0) that is exactly 0 → 40.832000 of the original, the whole edited section, and 50.842000 → end of the original section.

    


    My main questions are :

    


      

    • A. How do I trim the video stream in 2. without reencoding ?
    • 


    • B. Assuming that the edited video's resolution will remain the same, what is the command for FFmpeg to encode my edit to the codecs in 3. (and would the video be concatenable with the original video) ?
    • 


    • C. How should I go about glueing the sections together ? Should I simply trim Stream #0:0 into sections v1 = 0 → 40.832 and v2 = 50.842 → end and then concatenate a new stream as new = v1 + edited + v2 ?
    • 


    • D. How do I replace Stream #0:0 with new ?
    • 


    


    And probably the most important question : are my assumptions correct and can this be achieved ?

    


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