Recherche avancée

Médias (0)

Mot : - Tags -/tags

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

Autres articles (98)

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

Sur d’autres sites (7655)

  • using ffmpeg implementation live video/audio

    14 mars 2018, par geeeek

    I am going to implementation live video/audio service using ffmpeg.

    I am using embedded board with camera, mic. Receiver is android phone.

    as summary :
    sender : embedded board.
    receiver : android phone.

    I have an embedded board with a camera and a microphone. The camera’s data is raw h264 data, and the audio data is raw pcm data. I want to do live video communication with Android phone, but I do not know how.

    I would like to mux two data with ffmpeg and send it, but I do not know if it is possible. Thank you for your advice.

    I can not be sure because I have no experience about ffmpeg in live.

    About above enviroment please suggest your best methods.

  • 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>
  • avcodec_encode_video2 coding gets H264 video frames, sent through live555 services, VLC playback, unable to display

    2 mars 2018, par donghui.R

    avcodec_encode_video2 encoding to get AVPacket H264 video frames, live555 RTSP stream service sent, client VLC play, can not be displayed. But the direct preservation of AVPacket H264 video frames is H264 files, which can be played with VLC, but it is very fast. Do not know if I need to deal with H264 video frames more closely ??