Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (43)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

Sur d’autres sites (5345)

  • m4a/mp3 files to wav for Bing Speech API

    17 décembre 2018, par Waqas

    Bing Speech API only accepts wav files so I have been trying to convert m4a (Skype) and mp3 (Facebook) audio files I am getting in my chatbot to wav format. I am using fluent-ffmpeg in node.js.

    For now, I am downloading the audio file, converting it to wav and returning the piped output for use ahead.

    if (attachment.contentType === 'audio/x-m4a') {
     request.get(attachment.contentUrl).pipe(fs.createWriteStream('file.m4a'));
     var command = ffmpeg('file.m4a')
           .toFormat('wav')
           .on('error', function (err) {
               console.log('An error occurred: ' + err.message);
           })
           .on('progress', function (progress) {
               // console.log(JSON.stringify(progress));
               console.log('Processing: ' + progress.targetSize + ' KB converted');
           })
           .on('end', function () {
               console.log('Processing finished !');
           });

     return command.pipe();
    }

    Right now, the conversion works when I send the m4a file through the botframework-emulator on my pc. But when I specify my pc as the endpoint (through ngrok) and try to send the m4a file from the chat test at the bot framework developer end, ffmpeg returns an error :

    An error occurred: ffmpeg exited with code 1: file.m4a: Invalid data found when processing input

    But when I play the downloaded m4a file, it plays alright.

    The content URL is https in the second case if that matters.

    Kindly help me with two things :

    1. Downloading, Converting and Returning without storing anything on my end
    2. Downloading/Accessing m4a/mp3 files properly

    I am new to streams, pipes and ffmpeg and all the above code is after googling.

  • Is there any way to change file FPS in javascript browser or prepare wav conventer to 60FPS videos ?

    16 novembre 2020, par SZtyro

    I'm making web application which stores short audio files that have been cut from large video files. User uploads .mp4 file, chooses sound length and here's a little trick. Cutting audio can only be done in backend (correct me if I'm wrong) and sending 700MB data is not good option, so I use code below to decode audio data from .mp4 and then I send it with start and stop params. Backend (Node.js) use's FFMPEG to cut audio and save's it.

    


    This part works, but i realised that decoded audio from 60FPS video doesn't sound good (not terrible but totally useless in my app). My goal is to avoid third party, especially desktop, apps (like audacity) and allow user to cut revelant part of audio from any mp4 video. Is there any way to convert 60FPS video to 30FPS video (ArrayBuffer) in browser and then decode audio ?

    


          fileInput.onchange = event => {
      this.file = event.target["files"][0];
      //.mp4 file
      this.fileURL = URL.createObjectURL(this.file)

      let baseAudioContext = new AudioContext();
      this.file.arrayBuffer().then(buff => {

        baseAudioContext.decodeAudioData(buff,
          success => {
            console.log(success)
            this.bufferToWave(success, 0, success.length);
          },
          err => console.log(err));
      })
    }

  bufferToWave(abuffer, offset, len) {

    var numOfChan = abuffer.numberOfChannels,
      length = len * numOfChan * 2 + 44,
      buffer = new ArrayBuffer(length),
      view = new DataView(buffer),
      channels = [], i, sample,
      pos = 0;

    // write WAVE header
    setUint32(0x46464952);                         // "RIFF"
    setUint32(length - 8);                         // file length - 8
    setUint32(0x45564157);                         // "WAVE"

    setUint32(0x20746d66);                         // "fmt " chunk
    setUint32(16);                                 // length = 16
    setUint16(1);                                  // PCM (uncompressed)
    setUint16(numOfChan);
    setUint32(abuffer.sampleRate);
    setUint32(abuffer.sampleRate * 2 * numOfChan); // avg. bytes/sec
    setUint16(numOfChan * 2);                      // block-align
    setUint16(16);                                 // 16-bit (hardcoded in this demo)

    setUint32(0x61746164);                         // "data" - chunk
    setUint32(length - pos - 4);                   // chunk length

    // write interleaved data
    for (i = 0; i < abuffer.numberOfChannels; i++)
      channels.push(abuffer.getChannelData(i));

    while (pos < length) {
      for (i = 0; i < numOfChan; i++) {             // interleave channels
        sample = Math.max(-1, Math.min(1, channels[i][offset])); // clamp
        sample = (0.5 + sample < 0 ? sample * 32768 : sample * 32767) | 0; // scale to 16-bit signed int
        view.setInt16(pos, sample, true);          // update data chunk
        pos += 2;
      }
      offset++                                     // next source sample
    }

    // create Blob
    //return (URL || webkitURL).createObjectURL(new Blob([buffer], { type: "audio/wav" }));
    var u = (URL || webkitURL).createObjectURL(new Blob([buffer], { type: "audio/wav" }));

    //temporary part
    //downloading file to check quality
    //in this part sound is already broken, no need to show backend code
    const a = document.createElement('a');
    a.style.display = 'none';
    a.href = u;
    a.download = name;
    document.body.appendChild(a);
    a.click();



    function setUint16(data) {
      view.setUint16(pos, data, true);
      pos += 2;
    }

    function setUint32(data) {
      view.setUint32(pos, data, true);
      pos += 4;
    }
  }


    


  • ffmpeg extract audio from streaming mp4

    3 septembre 2016, par user6791548

    I am trying to extract audio from streaming mp4,it succeeds on

    ffmpeg -i http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4 out2.mp3

    But it fails on this facebook mp4 streaming video.(Hot girl alert)

    It throws error : out2.mp3: command not found

    I suspect if ffmpeg forces I to have file extension ?