Recherche avancée

Médias (91)

Autres articles (53)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

Sur d’autres sites (6470)

  • Revision ef951d1919 : vp9/encoder : fix function prototypes silences warnings about declarations not m

    1er février 2014, par James Zern

    Changed Paths :
     Modify /vp9/encoder/vp9_encodemv.h


     Modify /vp9/encoder/vp9_ratectrl.c



    vp9/encoder : fix function prototypes

    silences warnings about declarations not matching prototype

    Change-Id : I30b9a24f78ebe3b9cc2bbfcd3a7363ba7c328e4d

  • I have an audio data stream from ffmpeg, how can I play it in a browser ?

    9 novembre 2013, par Conor Patrick

    I've been able to successfully stream live audio from my mic to my node server. I would now like to stream that to all connected clients. I have been trying to do it with web sockets.

    I'm streaming the audio with this command

    ffmpeg -f alsa -i hw:0 -acodec mp2 -f mp3 -r 30 http://localhost:8086

    Node gets the buffer array and I write it to all connected clients like so with the 'ws' package

    // HTTP Server to accept incomming MP3 Stream (audio)
    var audioServer = require('http').createServer( function(request, response) {

          audioSocket.broadcast(data, {binary:true});

    }).listen(8086);

    var audioSocket = new (require('ws').Server)({port: 8088});
    audioSocket.broadcast = function(data, opts) {

       for( var i in this.clients ) {
           this.clients[i].send(data);
       }
    };

    Any idea of how I can play this data on a browser ? I tried following this topic but the decodeAudioData() method fails.

    My client side code

    node={};
    var audio = new WebSocket('ws://localhost:8088/');
    audio.binaryType = "arraybuffer";
    var context = new webkitAudioContext();

    audio.onmessage = function(data){
       node.buf=data.data;
       node.sync=0;
       node.retry=0;
       decode(node);
    }

    function syncStream(node){ // should be done by api itself. and hopefully will.
       var buf8 = new Uint8Array(node.buf);
       buf8.indexOf = Array.prototype.indexOf;
       var i=node.sync, b=buf8;
       while(1) {
           node.retry++;
           i=b.indexOf(0xFF,i); if(i==-1 || (b[i+1] & 0xE0 == 0xE0 )) break;
           i++;
       }
       if(i!=-1) {
           var tmp=node.buf.slice(i); //carefull there it returns copy
           delete(node.buf); node.buf=null;
           node.buf=tmp;
           node.sync=i;
           return true;
       }
       return false;
    }

    function decode(node) {
       context.decodeAudioData(node.buf,
       function(decoded){
           node.source  = context.createBufferSource();
           node.source.connect(context.destination);
           node.source.buffer=decoded;
           node.source.noteOn(context.currentTime);
           console.log('IT WORKED!  DECODED', decoded);
       },
       function(){ // only on error attempt to sync on frame boundary
           //console.log('error');
           if(syncStream(node)) decode(node);
       });
    }
  • FFMPEG : Mapping YUV data to output buffer of decode function

    22 décembre 2013, par Zax

    I am modifying a video decoder code from FFMPEG. The decoded code is of format YUV420. I'm having 3 pointers, each pointing to Y, U and V data i.e :

    yPtr-> is a pointer pointing to the Luma
    uPtr-> is a pointer pointing to the Chroma Cb
    vPtr-> is a pointer pointing to the Chroma Cr

    However, the output pointer to which I need to map my YUV data is of type void. And the output pointer is just one.

    i.e : void *data is the output pointer for which I need to point my yPtr, uPtr and vPtr. How should I do this ?

    One approach I have tried is, created a new buffer whose size is equal to the sum of Y, U and V data, and copy the contents of yPtr, uPtr and vPtr to the newly allocated buffer, and the pointer to this buffer I'm allocating to *data output pointer.

    However this approach is not preferred because memcpy needs to be performed and other performance drawbacks.

    Can anyone please suggest an alternative for this issue. This may be not related directly to FFMPEG, but since I'm modifying FFMPEG's libavcodec's decoder code, I'm tagging it in FFMPEG.

    Edit : What I'm trying to do :

    Actually my understanding is if I make this pointer point to void *data pointer of any decode function of any decoder and setting *got_frame_ptr to 1, the framework will take care of dumping this data into the yuv file. is my understanding right ?

    The function prototype of my custom video decoder or any video decoder in ffmpeg is as shown below :

    static int myCustomDec_decode_frame(AVCodecContext *avctx,
               void *data, int *data_size,
               uint8_t *buf, int buf_size) {

    I'm referring to this post FFMPEG : Explain parameters of any codecs function pointers and assuming that I need to point *data to my YUV data pointer, and the dumping stuff will be taken care by ffmpeg. Please provide suggestions regrading the same.