Recherche avancée

Médias (1)

Mot : - Tags -/publicité

Autres articles (59)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, 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 (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (6651)

  • How to render animation using Javascript ?

    30 novembre 2018, par user9964622

    I have created animation using tweenjs and createjs libraries createjs and tweenjs, createjs now, I’d like to convert these animations to video files (MPEG4, or other, doesn’t matter) or how can I render it in the backend using nodejs ?

    Here is the solution I have tried so far using ffmpeg server

    test4.js

    (function () {
       "use strict";

       var framesPerSecond = 60;
       var numFrames = 20; //framesPerSecond * 60 * 2;
       var thickness = 100;
       var speed = 4;
       var frameNum = 0;

       var canvas = document.getElementById("c");
       var ctx = canvas.getContext("2d");
       canvas.width = 500;
       canvas.height = 500;

       var progressElem = document.getElementById("progress");
       var progressNode = document.createTextNode("");
       progressElem.appendChild(progressNode);

       function onProgress(progress) {
         progressNode.nodeValue = (progress * 100).toFixed(1) + "%";
       }

       function showVideoLink(url, size) {
         size = size ? (" [size: " + (size / 1024 / 1024).toFixed(1) + "meg]") : " [unknown size]";
         var a = document.createElement("a");
         a.href = url;
         var filename = url;
         var slashNdx = filename.lastIndexOf("/");
         if (slashNdx >= 0) {
           filename = filename.substr(slashNdx + 1);
         }
         a.download = filename;
         a.appendChild(document.createTextNode(url + size));
         document.body.appendChild(a);
       }

       var capturer = new CCapture( {
         format: 'ffmpegserver',
         //workersPath: "3rdparty/",
         //format: 'gif',
         verbose: false,
         framerate: framesPerSecond,
         onProgress: onProgress,
         //extension: ".mp4",
         //codec: "libx264",
       } );
       capturer.start();

       function render() {

         var stage = new createjs.Stage("c");
         var circle = new createjs.Shape();
         circle.graphics.beginFill("Crimson").drawCircle(0, 0, 50);
         circle.x = 100;
         circle.y = 100;
         stage.addChild(circle);
         createjs.Tween.get(circle, {loop: true})
           .to({x: 400}, 1000, createjs.Ease.getPowInOut(4))
           .to({alpha: 0, y: 75}, 500, createjs.Ease.getPowInOut(2))
           .to({alpha: 0, y: 125}, 100)
           .to({alpha: 1, y: 100}, 500, createjs.Ease.getPowInOut(2))
           .to({x: 100}, 800, createjs.Ease.getPowInOut(2));
         createjs.Ticker.setFPS(60);
         createjs.Ticker.addEventListener("tick", stage);
         capturer.capture(canvas);

         ++frameNum;
         if (frameNum === numFrames) {
           capturer.stop();
           capturer.save(showVideoLink);
         } else {
           requestAnimationFrame(render);
         }
       }
       requestAnimationFrame(render);
     }());

    here is html test4.html

     
       
     
     
       <canvas></canvas>
       <div>-</div>
     
     <code class="echappe-js">&lt;script src=&quot;http://localhost:8081/ffmpegserver/CCapture.js&quot;&gt;&lt;/script&gt;

    &lt;script src=&quot;http://localhost:8081/ffmpegserver/ffmpegserver.js&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;https://code.createjs.com/1.0.0/createjs.min.js&quot;&gt;&lt;/script&gt;
    &lt;script src='http://stackoverflow.com/feeds/tag/test4.js'&gt;&lt;/script&gt;

    when I run my app, it renders very quickly and when I download the converted mp4 file it contains zero MB.

    for reference, u can test by just cloning this repo ffmpeg server repository and add the above files to the public folder

    What am I doing wrong in my code ???

  • How to render animation using capturejs ?

    30 novembre 2018, par user9964622

    I have created animation using tweenjs and createjs libraries createjs and tweenjs,createjs now, I’d like to convert these animations to video files (MPEG4, or other, doesn’t matter) or how can I render it in the backend using nodejs ?

    Here is the solution I have tried so far using [ffmpeg server][2]

    test4.js

    (function () {
       "use strict";

       var framesPerSecond = 60;
       var numFrames = 20; //framesPerSecond * 60 * 2;
       var thickness = 100;
       var speed = 4;
       var frameNum = 0;

       var canvas = document.getElementById("c");
       var ctx = canvas.getContext("2d");
       canvas.width = 500;
       canvas.height = 500;

       var progressElem = document.getElementById("progress");
       var progressNode = document.createTextNode("");
       progressElem.appendChild(progressNode);

       function onProgress(progress) {
         progressNode.nodeValue = (progress * 100).toFixed(1) + "%";
       }

       function showVideoLink(url, size) {
         size = size ? (" [size: " + (size / 1024 / 1024).toFixed(1) + "meg]") : " [unknown size]";
         var a = document.createElement("a");
         a.href = url;
         var filename = url;
         var slashNdx = filename.lastIndexOf("/");
         if (slashNdx >= 0) {
           filename = filename.substr(slashNdx + 1);
         }
         a.download = filename;
         a.appendChild(document.createTextNode(url + size));
         document.body.appendChild(a);
       }

       var capturer = new CCapture( {
         format: 'ffmpegserver',
         //workersPath: "3rdparty/",
         //format: 'gif',
         verbose: false,
         framerate: framesPerSecond,
         onProgress: onProgress,
         //extension: ".mp4",
         //codec: "libx264",
       } );
       capturer.start();

       function render() {

         var stage = new createjs.Stage("c");
         var circle = new createjs.Shape();
         circle.graphics.beginFill("Crimson").drawCircle(0, 0, 50);
         circle.x = 100;
         circle.y = 100;
         stage.addChild(circle);
         createjs.Tween.get(circle, {loop: true})
           .to({x: 400}, 1000, createjs.Ease.getPowInOut(4))
           .to({alpha: 0, y: 75}, 500, createjs.Ease.getPowInOut(2))
           .to({alpha: 0, y: 125}, 100)
           .to({alpha: 1, y: 100}, 500, createjs.Ease.getPowInOut(2))
           .to({x: 100}, 800, createjs.Ease.getPowInOut(2));
         createjs.Ticker.setFPS(60);
         createjs.Ticker.addEventListener("tick", stage);
         capturer.capture(canvas);

         ++frameNum;
         if (frameNum === numFrames) {
           capturer.stop();
           capturer.save(showVideoLink);
         } else {
           requestAnimationFrame(render);
         }
       }
       requestAnimationFrame(render);
     }());

    here is html test4.html

     
       
     
     
       <canvas></canvas>
       <div>-</div>
     
     <code class="echappe-js">&lt;script src=&quot;http://localhost:8081/ffmpegserver/CCapture.js&quot;&gt;&lt;/script&gt;

    &lt;script src=&quot;http://localhost:8081/ffmpegserver/ffmpegserver.js&quot;&gt;&lt;/script&gt;
    &lt;script src=&quot;https://code.createjs.com/1.0.0/createjs.min.js&quot;&gt;&lt;/script&gt;
    &lt;script src='http://stackoverflow.com/feeds/tag/test4.js'&gt;&lt;/script&gt;

    [1] : https://createjs.com/getting-started
    [2] : https://github.com/greggman/ffmpegserver.js

    when I run my app, it renders very quickly and when I download the converted mp4 file it contains zero MB.

    for reference, u can test by just cloning this repo ffmpeg server repository and add the above files to the public folder

    What am I doing wrong in my code ???

  • Watson NarrowBand Speech to Text not accepting ogg file

    19 janvier 2017, par Bob Dill

    NodeJS app using ffmpeg to create ogg files from mp3 & mp4. If the source file is broadband, Watson Speech to Text accepts the file with no issues. If the source file is narrow band, Watson Speech to Text fails to read the ogg file. I’ve tested the output from ffmpeg and the narrowband ogg file has the same audio content (e.g. I can listen to it and hear the same people) as the mp3 file. Yes, in advance, I am changing the call to Watson to correctly specify the model and content_type. Code follows :

    exports.createTranscript = function(req, res, next)
    { var _name = getNameBase(req.body.movie);
     var _type = getType(req.body.movie);
     var _voice = (_type == "mp4") ? "en-US_BroadbandModel" : "en-US_NarrowbandModel" ;
     var _contentType = (_type == "mp4") ? "audio/ogg" : "audio/basic" ;
     var _audio = process.cwd()+"/HTML/movies/"+_name+'ogg';
     var transcriptFile = process.cwd()+"/HTML/movies/"+_name+'json';

     speech_to_text.createSession({model: _voice}, function(error, session) {
       if (error) {console.log('error:', error);}
       else
         {
           var params = { content_type: _contentType, continuous: true,
            audio: fs.createReadStream(_audio),
             session_id: session.session_id
             };
             speech_to_text.recognize(params, function(error, transcript) {
               if (error) {console.log('error:', error);}
               else
                 { fs.writeFile(transcriptFile, JSON.stringify(transcript), function(err) {if (err) {console.log(err);}});
                   res.send(transcript);
                 }
             });
         }
     });
    }

    _type is either mp3 (narrowband from phone recording) or mp4 (broadband)
    model: _voice has been traced to ensure correct setting
    content_type: _contentType has been traced to ensure correct setting

    Any ogg file submitted to Speech to Text with narrowband settings fails with Error: No speech detected for 30s. Tested with both real narrowband files and asking Watson to read a broadband ogg file (created from mp4) as narrowband. Same error message. What am I missing ?