Recherche avancée

Médias (91)

Autres articles (60)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Formulaire personnalisable

    21 juin 2013, par

    Cette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
    Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire. (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (9391)

  • Streaming images as video on the fly using ffmpeg and ffserver

    1er décembre 2017, par AstrOne

    I have an OpenGL application that renders a 3D scene, and in every frame, it captures the OpenGL frame buffer, and saves it to a series of files (frame_1.png, frame_2.png, etc). I want to convert those images into a video stream and serve/broadcast it. From what I have read so far one solution would be to use ffmpeg and ffserver.

    There are several similar questions on StackOverflow but each one is a bit different, and they don’t ask exactly what I want. For example there are solutions to generate videos (but not streams) from images. Some others generate streams but not "live" ones. And so on.

    • I want the generated frames to be streamed as soon as possible after they are created. This is because the OpenGL application is supposed to be interactive. Latter on, a remote user should be able to send events (mouse motions and clicks) and interact with the rendered 3D scene.
    • I don’t want ffserver to do any kind of buffering because there is nothing to buffer, the frames must be served immediately.
    • Given that the frames must be served immediately, I guess I could just write the frames on top of each other. However, in that case there will be a synchronisation problem because the ffmpeg may try to read the image before the OpenGL application has finished writing on it. Any thoughts on that ?
    • In case the ffserver and the OpenGL application share the same RAM and not just the filesystem, ideally, I would like to not use files at all for the communication. I guess for my OpenGL application I could use something like mmap or some sort of shared memory, but ffmpeg can’t read from some kind of shared memory, right ?

    I would be more than grateful if someone could advice me how I need to setup the ffserver and the ffmpeg command to meet the above requirements (especially the first one).

  • Using FFMPEG to overlay 2 concat-demux videos

    10 juin 2021, par marco

    I am making a screen recording software that captures gestures/mouse moves as coordinates+timestamps, and would like to overlay those on the screen recording. I have a folder of "Frames" that have a red circle and the rest transparent that correspond to the gestures.

    


    The way I initially got it working was to use concat-demux to generate a video of the gestures, and then I overlay it with ffmpeg by chromakeying out the black background and overlaying it, but that is very slow.

    


    Is there a better/faster way to do it that maybe doesn't make an intermediate video that I have to chromakey ? I have access to the timestamps of the gestures as well as the duration these frames should stay on screen.

    


    my pipeline :

    


    Screen Frames w/ Timestamps+durations --> Concat-demux --> ---------------------------+
                                                                                      |
Gesture Logs --> Frames w/ timestamp+duration --> Concat-demux ---> chromakey --+     |
                    (has transparency)        (loses transparency)              |     |
                                                                                V     V
                                                                               Overlay
                                                                                  |
                                                                                  V
                                                                             Final Video


    


    Example frame from gestures which is the foreground
(The white is transparent)

    


    The background has no transparency as it is a computer background

    


    The command I used to combine the videos I generated is :
ffmpeg -i gestures.mp4 -i screen.mp4 -filter_complex '[0]chromakey=0x000000:.1[bk];[1][bk]overlay' output.mp4

    


  • Convert wav to mp3 using Meteor FS Collections on Startup

    28 juillet 2015, par TheBetterJORT

    I’m trying to transcode all wav files into a mp3 using Meteor and Meteor FS Collections. My code works when I upload a wav file to the uploader — That is it will convert the wav to a mp3 and allow me to play the file. But, I’m looking for a Meteor Solution that will transcode and add the file to the DB if the file is a wav and exist in a certain directory. According to the Meteor FSCollection it should be possible if the files have already been stored. Here is their example code : *GM is for ImageMagik, I’ve replaced gm with ffmpeg and installed ffmpeg from atmosphereJS.

    Images.find().forEach(function (fileObj) {
     var readStream = fileObj.createReadStream('images');
     var writeStream = fileObj.createWriteStream('images');
     gm(readStream).swirl(180).stream().pipe(writeStream);
    });

    I’m using Meteor-CollectionFS [https://github.com/CollectionFS/Meteor-CollectionFS]-

    if (Meteor.isServer) {
     Meteor.startup(function () {
           Wavs.find().forEach(function (fileObj) {
         var readStream = fileObj.createReadStream('.wavs/mp3');
         var writeStream = fileObj.createWriteStream('.wavs/mp3');
         this.ffmpeg(readStream).audioCodec('libmp3lame').format('mp3').pipe(writeStream);
         Wavs.insert(fileObj, function(err) {
         console.log(err);
       });
         });
         });
    }

    And here is my FS.Collection and FS.Store information. Currently everything resides in one JS file.

    Wavs = new FS.Collection("wavs", {
     stores: [new FS.Store.FileSystem("wav"),
       new FS.Store.FileSystem("mp3",

       {
         path: '~/wavs/mp3',
         beforeWrite: function(fileObj) {
           return {
             extension: 'mp3',
             fileType: 'audio/mp3'
           };
         },
         transformWrite: function(fileObj, readStream, writeStream) {
           ffmpeg(readStream).audioCodec('libmp3lame').format('mp3').pipe(writeStream);
         }
       })]
    });

    When I try and insert the file into the db on the server side I get this error : MongoError : E11000 duplicate key error index :

    Otherwise, If I drop a wav file into the directory and restart the server, nothing happens. I’m new to meteor, please help. Thank you.