Recherche avancée

Médias (0)

Mot : - Tags -/objet éditorial

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

Autres articles (62)

  • 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

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

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

  • Anomalie #3830 (Fermé) : Drôle de message à l’install d’un SPIP 2.1.29

    21 septembre 2016, par paulbe Hullaert

    Hello,
    fait 2 fois pour être certain sur une install d’un 2.1.29 lors du form pour déclarer le webmaster à l’install sous login et mot de passe j’ai

    Votre login
    info login trop court car pluriel

    Votre mot de passe
    info passe trop court car pluriel

    Il doit y avoir un stuuut dans les lignes 231 à 241 de => install/etape_3.php

  • building a voice recorder using html5 and javascript

    16 juillet 2014, par lama

    I want to build a voice recorder using HTML5 same as one found in gitHub JSSoundecorder, but what I want is for the user to be able to choose the file format before recording the voice.I can do this using ffmpeg. In other words the user must be able to select the audio format by check box (mp3,wma,pcm) and in the background code, the .wav file usually created by the program instead of displaying it, it should be converted by the format selected then displayed in the new format.this is the ffmpeg code we can use ,but I don’t know how to get the .wav audio file to convert it and show it.please if someone have ideas,or if can find demos I have been looking for weeks.this is the ffmpeg code :

      var fileName;
      var fileBuffer;

      function timeToSeconds(time) {
         var parts = time.split(":");
         return parseFloat(parts[0]) * 60 * 60 + parseFloat(parts[1]) * 60 + parseFloat(parts[2]) + parseFloat("0." + parts[3]);
     }

     // create ffmpeg worker
     function getFFMPEGWorker() {
         // regexps for extracting time from ffmpeg logs
         var durationRegexp = /Duration: (.*?), /
         var timeRegexp = /time=(.*?) /;
         var duration;

         var ffmpegWorker = new Worker('worker.js');
         var durationLine;
         ffmpegWorker.addEventListener('message', function(event) {
             var message = event.data;
             console.log(message.type);
             if (message.type === "ready" && window.File && window.FileList && window.FileReader) {
                 // script loaded, hide loader
                 $('#loading').hide();
             } else if (message.type == "stdout") {
                 console.log(message.data);
             } else if (message.type == "stderr") {
                 console.log(message.data);
                 // try to extract duration
                 if (durationRegexp.exec(message.data)) {
                     duration = timeToSeconds(durationRegexp.exec(message.data)[1]);
                 }
                 // try to extract time
                 if (timeRegexp.exec(message.data)) {
                     var time = timeToSeconds(timeRegexp.exec(message.data)[1]);
                     if (duration) {
                         $("#progress").text("Progress: " + Math.floor(time / duration * 100) + "%");
                         $("#progress").show();
                     }
                 }
             } else if (message.type == "done") {
                 var code = message.data.code;

                console.log(message.data);
                 var outFileNames = Object.keys(message.data.outputFiles);

                 console.log(outFileNames);
                 if (code == 0 && outFileNames.length) {
                     var outFileName = outFileNames[0];

                     var outFileBuffer = message.data.outputFiles[outFileName];

                     var src = window.URL.createObjectURL(new Blob([outFileBuffer]));

                     $("#downloadLink").attr('href', src);
                     $("#download").show();
                 } else {
                     $("#error").show();
                 }
                 $("#converting").hide();
                 $("#progress").hide();
             }
         }, false);
         return ffmpegWorker;
      }

      // create ffmpeg worker
      var ffmpegWorker = getFFMPEGWorker();
      var ffmpegRunning = false;

      $('#convert').click(function() {
         // terminate existing worker
         if (ffmpegRunning) {
             ffmpegWorker.terminate();
             ffmpegWorker = getFFMPEGWorker();
         }
         ffmpegRunning = true;

         // display converting animation
         $("#converting").show();
         $("#error").hide();

         // hide download div
         $("#download").hide();

         // change download file name
         var fileNameExt = fileName.substr(fileName.lastIndexOf('.') + 1);

         var outFileName = fileName.substr(0, fileName.lastIndexOf('.')) + "." + getOutFormat();

           $("#downloadLink").attr("download", outFileName);
         $("#downloadLink").text(outFileName);

         var arguments = [];
         arguments.push("-i");
         arguments.push(fileName);

         arguments.push("-b:a");
         arguments.push(getBitrate());

         switch (getOutFormat()) {
             case "mp3":
                 arguments.push("-acodec");
                 arguments.push("libmp3lame");
                 arguments.push("out.mp3");
                 break;

             case "wma":
                 arguments.push("-acodec");
                 arguments.push("wmav1");
                 arguments.push("out.asf");
                 break;

             case "pcm":
                 arguments.push("-f");
                 arguments.push("s16le");
                 arguments.push("-acodec");
                 arguments.push("pcm_s16le");
                 arguments.push("out.pcm");
         }

         ffmpegWorker.postMessage({

             type: "command",
             arguments: arguments,
             files: [
                 {
                     "name": fileName,
                     "buffer": fileBuffer
                 }
             ]

         });
     });

     function getOutFormat() {
         return $('input[name=format]:checked').val();
     }

     function getBitrate() {
         return $('input[name=bitrate]:checked').val();
     }

     // disable conversion at start
     $('#convert').attr('disabled', 'true');

     function readInputFile(file) {
         // disable conversion for the time of file loading
         $('#convert').attr('disabled', 'true');

         // load file content
         var reader = new FileReader();
         reader.onload = function(e) {
             $('#convert').removeAttr('disabled');
             fileName = file.name;
           console.log(fileName);
             fileBuffer = e.target.result;
         }
         reader.readAsArrayBuffer(file);

     }

     // reset file selector at start
     function resetInputFile() {
         $("#inFile").wrap('<form>').closest('form').get(0).reset();
         $("#inFile").unwrap();
     }
     resetInputFile();

     function handleFileSelect(event) {
         var files = event.target.files; // FileList object
     console.log(files);
         // files is a FileList of File objects. display first file name
         file = files[0];
         console.log(file);
         if (file) {
             $("#drop").text("Drop file here");
             readInputFile(file);


         }
     }


     // setup input file listeners

     document.getElementById('inFile').addEventListener('change', handleFileSelect, false);
    </form>
  • Unable to Access IP Camera in OpenCV

    3 janvier 2017, par user7258890

    I’m trying to use Javafx and OpenCV to access a webcam (Axis M1013) over wireless to run vision processing for my FRC team. When I run my code, I can access the GUI that I made using Scenebuilder, but when I try to start the camera, the program crashes. It seems to me like it’s having trouble utilizing the VideoCapture class. I know for a fact that my problem is not with the camera, because i can access the feed through a browser feed, and my laptop’s webcam will work fine. I’m using OpevCV version 2.4.13, jdk 8u101x64, and ffmpeg 3.2

    I have looked at other posts at :

    stackoverflow.com/questions/18625948/opencv-java-unsatisfiedlinkerror

    answers.opencv.org/question/21720/java-webcam-capture

    answers.opencv.org/question/20071/unsatisfiedlinkerror-given-by-highghuiimread-on-java

    I have tried the solutions mentioned in all of these. So far, none have resolved my problem.

    My code is based mostly off the tutorials at :

    opencv-java-tutorials.readthedocs.io/en/latest/03-first-javafx-application-with-opencv.html

    Here is my main java code :

       @Override
    public void start(Stage primaryStage) {
       System.load("C:\\opencv\\build\\x64\\vc12\\bin\\opencv_ffmpeg_64.dll");
       try {
           FXMLLoader loader = new FXMLLoader(getClass().getResource("Sample.fxml"));
           BorderPane root = (BorderPane) loader.load();
           Scene scene = new Scene(root, 400, 400);
           scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
           primaryStage.setScene(scene);
           primaryStage.show();
       } catch(Exception e) {
           System.out.println("error opening camera gui");
       }
    }

    public static void main(String[] args) {
       launch(args);
    }

    And here is my camera controller :

    public class SampleController {
    @FXML
    private Button Start_btn;

    @FXML
    private ImageView currentFrame;
    private ScheduledExecutorService timer;
    private VideoCapture capture;
    private boolean cameraActive = false;

    @FXML
    public void startCamera()
    {
       System.loadLibrary("opencv_ffmpeg_64");
       if (!this.cameraActive)
       {
           try
           {
            capture = new VideoCapture("http://FRC:FRC@axis-camera-223-catapult.lan:554/mjpg/1/video.mjpg");
           }
           catch (Exception e)
           {
               System.out.println("an error occured when attempting to access camera.");
           }
           // is the video stream available?
           if (this.capture.isOpened())
           {
               this.cameraActive = true;

               // grab a frame every 33 ms (30 frames/sec)
               Runnable frameGrabber = new Runnable() {

                   @Override
                   public void run()
                   {
                       // effectively grab and process a single frame
                       Mat frame = grabFrame();
                       // convert and show the frame
                       Image imageToShow = Utils.mat2Image(frame);
                       updateImageView(currentFrame, imageToShow);
                   }
               };

               this.timer = Executors.newSingleThreadScheduledExecutor();
               this.timer.scheduleAtFixedRate(frameGrabber, 0, 33, TimeUnit.MILLISECONDS);

               // update the button content
               this.Start_btn.setText("Stop Camera");
           }
           else
           {
               // log the error
               System.err.println("Impossible to open the camera connection...");
           }
       }
       else
       {
           // the camera is not active at this point
           this.cameraActive = false;
           // update again the button content
           this.Start_btn.setText("Start Camera");

           // stop the timer
           this.stopAquisition();
       }

       System.out.println("Camera is now on.");
    }

    /**
    * Get frame from open video
    * @return
    */
       private Mat grabFrame()

       {
           Mat frame = new Mat();
           if (this.capture.isOpened())
           {
               try
               {
                   this.capture.read(frame);

                   }
           catch (Exception e)
           {
               System.err.println("Exception during the image elaboration: " + e);
           }
       }
       return frame;
    }
       private void stopAquisition()
       {
           if (this.timer!=null &amp;&amp; !this.timer.isShutdown())
           {
               try
               {
                   this.timer.shutdown();
                   this.timer.awaitTermination(33, TimeUnit.MILLISECONDS);
               }
               catch (InterruptedException e)
               {
                   System.err.println("Exception in stopping the frame capture, trying to release camera now..." + e);

               }
           }
           if (this.capture.isOpened())
           {
               this.capture.release();
           }
       }
       private void updateImageView(ImageView view, Image image)
       {
           Utils.onFXThread(view.imageProperty(), image);
       }
       protected void setClosed()
       {
           this.stopAquisition();
       }
    }

    When I try and run this as i have said before, the GUI will launch, but when i try and open the camera, i get an error message :

    Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
    at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Node.fireEvent(Node.java:8411)
    at javafx.scene.control.Button.fire(Button.java:185)
    at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
    at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
    at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
    at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
    at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
    at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
    at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
    at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:380)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:294)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$354(GlassViewEventHandler.java:416)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:415)
    at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
    at com.sun.glass.ui.View.notifyMouse(View.java:937)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.reflect.misc.Trampoline.invoke(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
    at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1771)
    ... 48 more
    Caused by: java.lang.UnsatisfiedLinkError:     org.opencv.highgui.VideoCapture.VideoCapture_1(Ljava/lang/String;)J
    at org.opencv.highgui.VideoCapture.VideoCapture_1(Native Method)
    at org.opencv.highgui.VideoCapture.<init>(VideoCapture.java:128)
    at jfxtest1.SampleController.startCamera(SampleController.java:36)
    ... 58 more
    </init>

    If anyone can help me, that would be much appreciated.

    Thanks in advance.