Recherche avancée

Médias (0)

Mot : - Tags -/upload

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (102)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

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

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

Sur d’autres sites (14428)

  • How to get the latest frames in ffmpeg, not the next frame

    6 novembre 2014, par LawfulEvil

    I have an application which connects to an RTSP camera and processes some of the frames of video. Depending on the camera resolution and frame rate, I don’t need to process all the frames and sometimes my processing takes a while. I’ve designed things so that when the frame is read, its passed off to a work queue for another thread to deal with. However, depending on system load/resolution/frame rate/network/file system/etc, I occasionally will find cases where the program doesn’t keep up with the camera.

    I’ve found that with ffmpeg(I’m using the latest git drop from mid october and running on windows) that being a couple seconds behind is fine and you keep getting the next frame, next frame, etc. However, once you get, say, 15-20 seconds behind that frames you get from ffmpeg occasionally have corruption. That is, what is returned as the next frame often has graphical glitches (streaking of the bottom of the frame, etc).

    What I’d like to do is put in a check, somehow, to detect if I’m more than X frames behind the live stream and if so, flush the caches frames out and start fetching the latest/current frames.

    My current snippet of my frame buffer reading thread (C++) :

    while(runThread)
    {
       av_init_packet(&(newPacket));

       int errorCheck = av_read_frame(context, &(newPacket));
       if (errorCheck < 0)
       {
           // error
       }
       else
       {

           int frameFinished = 0;
           int decodeCode = avcodec_decode_video2(ccontext, actualFrame, &frameFinished, &newPacket);

           if (decodeCode <0)
           {
               // error
           }
           else
           if (decodeCode == 0)
           {
               // no frame could be decompressed / decoded / etc
           }
           else
           if ((decodeCode > 0) && (frameFinished))
           {
               // do my processing / copy the frame off for later processing / etc
           }
           else
           {
               // decoded some data, but frame was not finished...
               // Save data and reconstitute the pieces somehow??
               // Given that we free the packet, I doubt there is any way to use this partial information
           }
           av_free_packet(&(newPacket));
       }
    }

    I’ve google’d and looked through the ffmpeg documents for some function I can call to flush things and enable me to catch up but I can’t seem to find anything. This same sort of solution would be needed if you wanted to only occasionally monitor a video source(eg, if you only wanted to snag one frame per second or per minute). The only thing I could come up with is disconnecting from the camera and reconnecting. However, I still need a way to detect if the frames I am receiving are old.

    Ideally, I’d be able to do something like this :

    while(runThread)
    {
       av_init_packet(&(newPacket));

       // Not a real function, but I'd like to do something like this
       if (av_check_frame_buffer_size(context) > 30_frames)
       {
           // flush frame buffer.
           av_frame_buffer_flush(context);
       }

       int errorCheck = av_read_frame(context, &(newPacket));

       ...
       }
    }
  • Updated the Zip.php to reflect the latest version from PHPZip with changes for added compatibility to for instance the Mac OSX Archive Utility.

    10 mars 2012, par Asbjørn Grandt

    m Zip.php Updated the Zip.php to reflect the latest version from PHPZip with changes for added compatibility to for instance the Mac OSX Archive Utility.

  • High latency when reading latest frame from H264 stream with FFmpeg

    22 juin 2022, par massivemoisture

    I have an app in c# that receives a H264 video stream of Android device's screen from scrcpy-server (https://github.com/Genymobile/scrcpy).

    


    I want to continously get the latest image from the stream and send it to a web app for streaming.

    


    I created a Process for ffmpeg and gave it these arguments :

    


    -fflags -nobuffer -flags low_delay -probesize 32 -re -i pipe: -g 1 -f rawvideo -pix_fmt bgr24 -an -sn pipe:

    


    I have two threads. One thread to write to stdin of the FFmpeg process the bytes that I get from scrcpy-server. The other thread to read the stdout.

    


    But the image stream that I get has very high latency, especially if there is not much movement on the device's screen. And the latency just keeps mounting up, from a few seconds behind to a minute and more.

    


    How can I fix this issue ?