Recherche avancée

Médias (91)

Autres articles (75)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

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

Sur d’autres sites (9805)

  • Synchronization Error in Gstreamer/H264 encoding

    21 juin 2020, par Ryan

    Trying to produce a frame synced recording platform w/multiple sensors all capturing at the same fps.

    


    Currently can get up to 8 usb cameras streaming and capturing h264 files. These files are reporting same durations, same number of frames, same frame rate etc. I am experiencing some drift in the videos however.

    


    I assume I am not able to write frames to disk fast enough and this results in the shift. However what I do not understand what is 'masking' this, and why it would report the same nb_frames and durations even though real world time is clearly different. The shift can be relatively minor (5-10 frames over 2 minutes) or more extreme (20-30). But what I am looking for is a multicam frame level sync. So each video can produce the exact same frame and a given timestamp.

    


    I know there are many elements at play here. What I'm looking for first is a better understanding of what my exact problem may be and how I can understand it.

    


  • How to write a video stream containing B-frame and no DTS to a MP4 container ?

    14 février 2020, par SteveH

    I want to save a h264 video stream received from a RTSP source to a MP4 container.
    Not like other questions asked on SO, here the challenges I face are :

    • The stream contains B frames.

    • The stream has only PTS given by the RTP/RTCP.

    Here is the code I did

    //  ffmpeg
       pkt->data = ..;
       pkt->size = ..;
       pkt->flags = bKeyFrame? AV_PKT_FLAG_KEY : 0;    
       pkt->dts = AV_NOPTS_VALUE;
       pkt->pts = PTS;

       // PTS is based on epoch microseconds so I ignored re-scaling.
       //av_packet_rescale_ts(pkt, { 1, AV_TIME_BASE }, muxTimebase);

       auto ret = av_interleaved_write_frame(m_pAVFormatCtx, pkt);

    I received a lot of error messages like this :
    "Application provided invalid, non monotonically increasing dts to muxer ...".

    Result : the mp4 file is playable via VLC but the FPS is just a half of the original FPS and the video duration is incorrect (VLC shows a weird number).

    So how do I set correct DTS and PTS before sending to the container ?

    Update :
    I have tried some changes, though not successfully yet, I found that the reason of the frame rate drop is due to the muxer discards frames having incorrect DTS.
    Additionally, if I set start of PTS and DTS value too big, some players like VLC has to delay some time before showing video.

  • How to check when ffmpeg completes a video segment ?

    27 mai 2022, par Matthew Czarnek

    I'm using a ffmpeg Process from within my C# program. I start it off and run it in segmented mode.

    


    ffmpeg -i rtsp://127.0.0.1/axis-media/media.amp?resolution=1280x720 -c copy -map 0 -f segment -segment_time 21600 -strftime 1 -reset_timestamps 1 -segment_format flv "C:\REPLACE_ME_WITH_REAL_DIRECTORY\%Y-%m-%d_%H%M%S.flv"


    


    This creates a number of recording segments each in their own folder that are 6 hours long. I now need to be able to detect whether a file has started being written and whether it's completed being written as fast as possible to record it to a database. And this needs to work even in the face of crashes.

    


    I'm polling the folder and can detect that a file has started being written. But detecting whether a file has completed is much trickier. Possibly can be done by polling whether or not a file is being written to. Does ffmpeg have some sort of support for this ? Such as when it finishes a file it can launch another program or run a command ?

    


    I will occasionally scan through all the files and make sure that I record the ones that are there in case one is missed. But the more reliable, the better for this application.