Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (78)

  • 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

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (7453)

  • Cannot find installation of real FFmpeg (which comes with ffprobe)

    29 mars 2023, par Asm Goni

    I was trying to fit a generator into a model and I got this error : 
AssertionError: Cannot find installation of real FFmpeg (which comes with ffprobe).

    



    I have looked over many of the solutions on GitHub and other questions on Stack Overflow but none of them worked for me.

    



    Here is one of the commands I ran :

    



    sudo add-apt-repository ppa:mc3man/trusty-media  
sudo apt-get update  
sudo apt-get install ffmpeg  
sudo apt-get install frei0r-plugins  


    



    pip list also indicates the presence of ffmpeg-1.4

    



    In addition, I tried force reinstalling and updating ffmpeg just in case any dependencies were not installed properly.

    



    I also set the skvideo's path for ffmpeg manually :

    



    skvideo.setFFmpegPath('/usr/local/lib/python3.6/dist-packages/ffmpeg/')


    



    This returns : /usr/local/lib/python3.6/dist-packages/skvideo/__init__.py:306: UserWarning: ffmpeg/ffprobe not found in path: /usr/local/lib/python3.6/dist-packages/ffmpeg/
  warnings.warn("ffmpeg/ffprobe not found in path: " + str(path), UserWarning)

    



    By the way, when I try installing, it also returns this error, I don't know what to do about this :

    



    Get:127 http://archive.ubuntu.com/ubuntu bionic/main amd64 vdpau-driver-all amd64 1.1.1-3ubuntu1 [4,674 B]
Fetched 60.4 MB in 7s (8,769 kB/s)
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/w/wavpack/libwavpack1_5.1.0-2ubuntu1.1_amd64.deb  404  Not Found [IP: 91.189.88.149 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?


    



    I ran apt-get update --fix-missing and that didn't make anything better.

    



    Is there a solution to this ?

    


  • avcodec/ccaption_dec : Make real-time latency configurable

    19 juin 2021, par Pavel Koshevoy
    avcodec/ccaption_dec : Make real-time latency configurable
    

    Un-hardcode the 200ms minimum latency between emitting subtitle events
    so that those that wish to receive a subtitle event for every screen
    change could do so.

    The problem with delaying realtime output by any amount is that it is
    unknown when the next byte pair that would trigger output will happen.
    It may be within 200ms, or it may be several seconds later — that's
    not realtime at all.

    • [DH] libavcodec/ccaption_dec.c
    • [DH] libavcodec/version.h
  • How to take frames in real-time in a RTSP streaming ?

    30 juin 2018, par guijob

    I’m trying to grab frames with no delays using javacv and I’m kind of confusing how to do it and how javacv and other stuff properly work under the hoods.

    In my example, I have a RTSP streaming running with following configurations :

    Codec: H.264
    Frame Size: 1280x720
    Maximum Frame Rate: 60 fps

    In order to make it happen, I’ve made a thread like following :

    public class TakeFrameFromStreamingThread implements Runnable {
     private CircularFifoQueue queue;
     private Camera camera;
     private FFmpegFrameGrabber grabber = null;

     public TakeFrameFromStreamingThread(CircularFifoQueue queue, Camera camera) {
       try {
         this.queue = queue;
         this.camera = camera;
         this.initGrabber(camera);
       } catch (Exception e) {
         e.printStackTrace();
       }
     }

     @Override
     public void run() {
       try {
         while (true) {
           if (grabber == null) {
             initGrabber(camera); // connect
       }

       Frame frame = null;
       frame = grabber.grabImage();

       if (frame != null) {
         this.queue.add(frame);
       } else { // when frame == null then connection has been lost
         initGrabber(camera); // reconnect
       }
         }
       } catch (Exception e) {
         e.printStackTrace();
       }
     }

     private void initGrabber(Camera camera) throws Exception {
       grabber = new FFmpegFrameGrabber(camera.getURL()); // rtsp url
       grabber.setVideoCodec(avcodec.AV_CODEC_ID_H264);
       grabber.setOption("rtsp_transport", "tcp");
       grabber.setFrameRate(60);
       grabber.setImageWidth(camera.getResolution().getWidth());
       grabber.setImageHeight(camera.getResolution().getHeight());
       grabber.start();
     }
    }

    And it seems to work. Anytime I need a frame I pool this queue from my main thread.

    I’ve ended up with this solution solving another issue. I was getting stuck why does calling grabImage() every time I need a frame has returned just next frame instead of a real-time frame from streaming.

    By this solution, I’m guessing there is a buffer which javacv (or ffmpeg idk) fills with frames and then grabImage() just get a frame from this buffer. So it’s my first question :

    1) Is that right ? Does ffmpeg relies on a buffer to store frames and then grab() just get it from there ?

    Well, if that is a truth, then this buffer must be filled at some rate and, of course, if this rate is greater than my grabImage() calls rate, eventually I’ll lose my real-time feature and soon I’ll be even losing frames once buffer gets completely filled.

    In this scenario, my grabImage() takes about 50 ms, which gives me 20 fps rate getting frames from this buffer. Hence, I need to make sure ffmpeg is receiving frames at most 20 fps. So here’s my second question :

    2) How to know and change ffmpeg buffer rate ? I’m guessing it’s getting filled at a same rate of streaming (60 fps) or from property grabber.setFrameRate(). At all, I’m not sure if I should use grabber setters with same values from source streaming.