Recherche avancée

Médias (1)

Mot : - Tags -/framasoft

Autres articles (65)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

Sur d’autres sites (7140)

  • Slicing an AVI file

    7 novembre 2014, par Peter Lur

    I am trying to upload only a certain part of an AVI file on the server without having to upload the whole file first.

    If I set the slice to the beginning (byte : 0), I can read the resulting file no problem even if I slice it in any size. However if the slice start anywhere but not at byte 0, the file become unreadable. I guess this has something to do with the avi header/index being messed up. I was wondering maybe I could use ffmpeg to move the header or something ?

    HTML Source

       
           
           <code class="echappe-js">&lt;script type=&quot;text/javascript&quot;&gt;<br />
    <br />
               window.BlobBuilder = window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder;<br />
    <br />
               function sendRequest() {<br />
                   var blob = document.getElementById('fileToUpload').files[0];<br />
    <br />
    <br />
                   //Slicing parameters<br />
    <br />
    <br />
                   //#1: Starting at byte:0 = WORKING WELL<br />
                   var start = 0;<br />
                   var end = 1048576;  // 1MB chunk sizes.<br />
    <br />
    <br />
                   //#2: Slicing the video file somewhere else (FAIL)<br />
    <br />
                   /*<br />
                   var start = 1048576*3;<br />
                   var end = 1048576*4;<br />
                   */<br />
    <br />
    <br />
                   var chunk = blob.slice(start, end, 'video/avi');<br />
                   uploadFile(chunk);<br />
    <br />
               }<br />
    <br />
               function fileSelected() {<br />
                   var file = document.getElementById('fileToUpload').files[0];<br />
                   if (file) {<br />
                       var fileSize = 0;<br />
                       if (file.size &gt; 1024 * 1024)<br />
                           fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB';<br />
                       else<br />
                           fileSize = (Math.round(file.size * 100 / 1024) / 100).toString() + 'KB';<br />
    <br />
                       document.getElementById('fileName').innerHTML = 'Name: ' + file.name;<br />
                       document.getElementById('fileSize').innerHTML = 'Size: ' + fileSize;<br />
                       document.getElementById('fileType').innerHTML = 'Type: ' + file.type;<br />
                   }<br />
               }<br />
    <br />
               function uploadFile(blobFile) {<br />
                   //var file = document.getElementById('fileToUpload').files[0];  <br />
                   var fd = new FormData();<br />
                   fd.append(&quot;fileToUpload&quot;, blobFile);<br />
    <br />
                   var xhr = new XMLHttpRequest();<br />
                   xhr.upload.addEventListener(&quot;progress&quot;, uploadProgress, false);<br />
                   xhr.addEventListener(&quot;load&quot;, uploadComplete, false);<br />
                   xhr.addEventListener(&quot;error&quot;, uploadFailed, false);<br />
                   xhr.addEventListener(&quot;abort&quot;, uploadCanceled, false);<br />
                   xhr.open(&quot;POST&quot;, &quot;upload.php&quot;);<br />
                   xhr.onload = function(e) {<br />
                     //alert(&quot;loaded!&quot;);<br />
                     };<br />
    <br />
                   xhr.send(fd);<br />
                   //alert(&quot;oen over&quot;);<br />
               }<br />
    <br />
               function uploadProgress(evt) {<br />
                   if (evt.lengthComputable) {<br />
                       var percentComplete = Math.round(evt.loaded * 100 / evt.total);<br />
                       document.getElementById('progressNumber').innerHTML = percentComplete.toString() + '%';<br />
                   }<br />
                   else {<br />
                       document.getElementById('progressNumber').innerHTML = 'unable to compute';<br />
                   }<br />
               }<br />
    <br />
               function uploadComplete(evt) {<br />
                   /* This event is raised when the server send back a response */<br />
                   //alert(evt.target.responseText);<br />
               }<br />
    <br />
               function uploadFailed(evt) {<br />
                   alert(&quot;There was an error attempting to upload the file.&quot;);<br />
               }<br />
    <br />
               function uploadCanceled(evt) {<br />
                   xhr.abort();<br />
                   xhr = null;<br />
                   //alert(&quot;The upload has been canceled by the user or the browser dropped the connection.&quot;);<br />
               }<br />
           &lt;/script&gt;

    PHP Source (upload.php)

    &lt;?php

    $tmp_name = $_FILES['fileToUpload']['tmp_name'];
    $size = $_FILES['fileToUpload']['size'];
    $name = $_FILES['fileToUpload']['name'];

    $target_file = basename($name);

    $complete = "complete.avi";
    $com = fopen($complete, "ab");

    // Open temp file
    $out = fopen($target_file, "wb");

    if ( $out ) {
       // Read binary input stream and append it to temp file
       $in = fopen($tmp_name, "rb");
       if ( $in ) {
           while ( $buff = fread( $in, 1048576 ) ) {
               fwrite($out, $buff);
               fwrite($com, $buff);
           }  
       }
       fclose($in);
       fclose($out);
    }
    fclose($com);

    ?>
  • Save frame as image during video stream using ffmpeg, in C

    30 avril 2017, par George T.

    I’m using the Parrot SDK3 to retrieve the video stream from a Bebop2 drone. From it I need to "extract" a frame and save it as an image.

    The whole code can be found here, but I shall try to include the (what I understand as) important parts here.

    Where the video is sent to mplayer. I assume from this that the video format is h624.

    if (videoOut != NULL)
    {
       if (codec.type == ARCONTROLLER_STREAM_CODEC_TYPE_H264)
       {
           if (DISPLAY_WITH_MPLAYER)
           {
               fwrite(codec.parameters.h264parameters.spsBuffer, codec.parameters.h264parameters.spsSize, 1, videoOut);
               fwrite(codec.parameters.h264parameters.ppsBuffer, codec.parameters.h264parameters.ppsSize, 1, videoOut);

               fflush (videoOut);
           }
       }
    }

    Where the frame is received and written to videoOut, to be displayed

    eARCONTROLLER_ERROR didReceiveFrameCallback (ARCONTROLLER_Frame_t *frame, void *customData)
    {
       if (videoOut != NULL)
       {
           if (frame != NULL)
           {
               if (DISPLAY_WITH_MPLAYER)
               {
                   fwrite(frame->data, frame->used, 1, videoOut);

                   fflush (videoOut);
               }
           }
       }
       return ARCONTROLLER_OK;
    }

    The idea I had in mind is to fwrite(frame->data, frame->used, 1, videoOut); to a different file but that just creates a corrupted file, probably because of encoding. In what way can I get this frame and store it to a separate image ? The preferable image filetype .png, .jpg or .gif

    Any help will be greatly appreciated ! Thanks in advance !

  • Free music recognition API

    12 mars 2014, par AmirH

    I'm developing an application to recognize the music played by speakers. It records 32 seconds of the sound played and send a request via an API of music recognition. So far I used Echonest. But my api_key has been banned because of to many requests since I published my freeware, used by more than 200 users.

    So I looked for MusicBrainz but it needs the exact duration of the entire song to receive a acceptable response, duration that my application can't guess.

    So I'm looking for a free music recognition API so my freeware works. Do you know one ?

    Note : I used Echonest by :

    I tried to use MusicBrainz by :

    • capturing 32 seconds with ffmpeg
    • generating the fingerprint using Chromaprint with this command :

      fpcalc sound.mp3 > fingerprint.txt

    • sending this command via cURL :

      curl -F "client=XXX" -F "meta=recordings" -F "duration=32" -F "fingerprint=ABC" "http://api.acoustid.org/v2/lookup" > info.txt