Recherche avancée

Médias (91)

Autres articles (67)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • 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

Sur d’autres sites (4694)

  • 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>
  • SetInodeAttributes error when creating a file inside bucket

    19 août 2022, par Turgut

    I've made a C++ program that lives in gke and takes some videos as input using ffmpeg, then does something with that input using opengl,finally it encodes those edited videos as a single output. Normally the program works perfectly fine on my local machine, it encodes just as I want it to with no warnings whatsoever. But I want it to encode that video directly to the cloud using a gcsfuse bucket. I've succesfully mounted the bucket and it seems to create the file at the start of my programs run. But when the run is over it's suppose to finish the encoding and finilize the video file. However when it reaches the end it gives off this error on the terminal where I run the gcsfuse command :

    &#xA;

    2022/08/19 21:38:15.477586 SetInodeAttributes: input/output error, SetMtime: UpdateObject: not retrying UpdateObject("c36c2633-d4ee-4d37-825f-88ae54b86100.mp4"): gcs.NotFoundError: googleapi: Error 404: No such object: development-videoo-storage1/c36c2633-d4ee-4d37-825f-88ae54b86100.mp4, notFound&#xA;fuse: 2022/08/19 21:38:15.477660 *fuseops.SetInodeAttributesOp error: input/output error&#xA;2022/08/19 21:38:15.637346 SetInodeAttributes: input/output error, SetMtime: UpdateObject: not retrying UpdateObject("c36c2633-d4ee-4d37-825f-88ae54b86100"): gcs.NotFoundError: googleapi: Error 404: No such object: development-videoo-storage1/c36c2633-d4ee-4d37-825f-88ae54b86100, notFound&#xA;fuse: 2022/08/19 21:38:15.637452 *fuseops.SetInodeAttributesOp error: input/output error&#xA;2022/08/19 21:38:15.769569 GetInodeAttributes: input/output error, clobbered: StatObject: not retrying StatObject("c36c2633-d4ee-4d37-825f-88ae54b86100.mp4"): gcs.NotFoundError: googleapi: Error 404: No such object: development-videoo-storage1/c36c2633-d4ee-4d37-825f-88ae54b86100.mp4, notFound&#xA;fuse: 2022/08/19 21:38:15.769659 *fuseops.GetInodeAttributesOp error: input/output error&#xA;

    &#xA;

    At the end I end up with a file with the same size as my desired output but with an invalid video with no frames in it.

    &#xA;

    I'm using a service account to activate my bucket, I can read files just fine and my service account has every permission it needs, here is how I mount my bucket :

    &#xA;

    GOOGLE_APPLICATION_CREDENTIALS=./service-account.json gcsfuse -o nonempty --foreground cloud-storage-name /media&#xA;

    &#xA;

    I'm using ubuntu 22.04

    &#xA;

  • Revision 85640f1c9d : vp9 : remove unnecessary wait w/threaded loopfilter the final macroblock rows ar

    22 août 2013, par James Zern

    Changed Paths :
     Modify /vp9/decoder/vp9_decodframe.c



    vp9 : remove unnecessary wait w/threaded loopfilter

    the final macroblock rows are scheduled in the main thread. prior to
    this change one additional macroblock row would be scheduled in the
    worker forcing the main thread to wait before finishing.

    Change-Id : I05f3168e5c629b898fcebb0d77eb6d6a90d6105e