Recherche avancée

Médias (0)

Mot : - Tags -/flash

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

Autres articles (50)

  • 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 (...)

  • Taille des images et des logos définissables

    9 février 2011, par

    Dans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
    Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)

  • Configuration spécifique d’Apache

    4 février 2011, par

    Modules spécifiques
    Pour la configuration d’Apache, il est conseillé d’activer certains modules non spécifiques à MediaSPIP, mais permettant d’améliorer les performances : mod_deflate et mod_headers pour compresser automatiquement via Apache les pages. Cf ce tutoriel ; mode_expires pour gérer correctement l’expiration des hits. Cf ce tutoriel ;
    Il est également conseillé d’ajouter la prise en charge par apache du mime-type pour les fichiers WebM comme indiqué dans ce tutoriel.
    Création d’un (...)

Sur d’autres sites (5978)

  • How would I go about packaging an mp3 file into an mp4 container ?

    22 novembre 2020, par Jacob

    So here's the issue that I'm currently having. I need an audio player for iOS that will play mp3. Now at first glance this may seem like a trivial issue, just create an audio tag and give it the URL to the mp3 file. While this technically works, it's basically unusable since iOS needs to download the entire file before starting to play it. This results in a really long wait time when trying to play large mp3 files (could get close to a minute).
So the first thing I tried was to manually mimic the chunking that chrome does for playing mp3 files. I first sent a HEAD request to get the byte length of the audio file. Used that length / duration in seconds to get the average bytes per second and use that data to request chunks based on where the user seeks to. That didn't work since sometimes mp3 files contain metadata that throw off the calculation (like a cover image). Additionally, sometimes mp3 files use VBR (Variable Bit Rate) and then I'm well and truly screwed.

    



    So this lead me to thinking, Safari couldn't possibly require the end user to download an entire mp4 file before playing it. So I took an mp3 file, converted it to mp4 on an online converter and tested my theory out. Voila, it worked. Safari was streaming the mp4 file in chunks and the wait time went to close to 0. Alright, so now all I need to do is convert mp3 files to mp4 files. The problem now is, I have requirement not to use my server for converting these files. I want to offload this expensive operation to the client. After looking around for a bit I found a few wasm libraries to do this, great ! Nope. These wasm libraries are huge (24 MB) and would add an unacceptable amount to my already large bundles files. So this brings me to my question. Is there any way to "trick" safari into thinking that my mp3 file is mp4. What I've tried already :

    



    On input change event -> get the file -> clone it into a new Blob with a mimeType of video/mp4 and then upload that file to the server. Chrome plays this file no problem (probably because it detects it's an mp3 file), on Safari however it's unable to play the file.

    



    So my question is, is there any way to package the mp3 file in an mp4 container (Client Side !important) to "force" Safari into chunking the file.

    


  • Android Audio Mixing FMPEG, Mediarecorder file only merging to left channel, delayed

    12 avril 2016, par Jeremy

    working on an app that takes two sounds, and merges them together. I currently have two problems with it I cannot seem to figure out so would appreciate another set of eyes.

    1. File from MediaRecorder (voice file) merges into Left Channel Only. (I can only hear voice in left ear)
    2. The two files seem like there is a slight delay in the position as they are not aligned perfectly with the merge. Here is the method I have written.

      private void mixAudio(File mVoiceFile, File mBeatFile, File mRapFile){
         String files = "-i " + mVoiceFile.getAbsolutePath() + " -i " + mBeatFile.getAbsolutePath();
         String filter = " -filter_complex [0:a]volume=1.5[a1];[1:a]volume=0.6[a2];[a1][a2]amerge=inputs=2,volume=1.3,pan=stereo|c0code>

      }
      `

    and here is how I setup my MediaRecorder

    public void setRecorderSource(){
           mRapRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
           mRapRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
           mRapRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
           mRapRecorder.setAudioEncodingBitRate(128000);
           mRapRecorder.setAudioSamplingRate(44100);
           mRapRecorder.setAudioChannels(2);
           mRapRecorder.setOutputFile(mVoiceFile.getAbsolutePath());
    }`
  • NodeJS - How to pipe same video stream to multiple clients ?

    6 mai 2019, par SergioBR

    We have a situation trying to serve a video stream.

    Since HTML5 video tag does not support udp to multicast, we are trying to re-use an already converted ffmpeg stream and send it to more than one response. But that does not work.

    The first response gets the stream alright, but the second one does not.
    It seems that the stream cannot be piped out to another response, neither can it be cloned.

    Has anyone done that before ? Any ideas ?

    Thanks in advance !

    Here’s the code :

    var request = require('request');
    var http = require('http');
    var child_process = require("child_process");
    var n = 1;
    var stdouts = {};

    http.createServer(function (req, resp) {

    console.log("***** url ["+req.url+"], call "+n);

    if (req.url != "/favicon.ico" && req.url != "/")
    {
    var params = req.url.substring(1).split("/");

    switch (params[0])
    {
     case "VIEW":
       if (params[1] == "C2FLOOR1" || params[1] == "C2FLOOR2" || params[1] == "C2PORFUN" || params[1] == "C2TESTCAM")
         var camera = "rtsp://192.168.16.19:554/Inter/Cameras/Stream?Camera="+params[1];
       else
         var camera = "http://192.168.16.19:8609/Inter/Cameras/GetStream?Camera="+params[1];

       // Write header
       resp.writeHead(200, {'Content-Type': 'video/ogg', 'Connection': 'keep-alive'});

       if (stdouts.hasOwnProperty(params[1]))
       {
         console.log("Getting stream already created for camera "+params[1]);

         var newStdout = Object.create(stdouts[params[1]]);

         newStdout.pipe(resp);
       }
       else
       {
           // Start ffmpeg
           var ffmpeg = child_process.spawn("ffmpeg",[
           "-i",camera,
           "-vcodec","libtheora",
           "-qscale:v","7",        // video quality
           "-f","ogg",             // File format
           "-g","1",               // GOP (Group Of Pictures) size
           "-"                     // Output to STDOUT
           ]);

           stdouts[params[1]] = ffmpeg.stdout;

           // Pipe the video output to the client response
           ffmpeg.stdout.pipe(resp);

       console.log("Initializing camera at "+camera);
       }

       // Kill the subprocesses when client disconnects
    /*
       resp.on("close",function(){
         ffmpegs[params[1]].kill();
         console.log("FIM!");
       });
    */
       break;
    }
    }
    else
    {
    resp.writeHeader(200, {"Content-Type": "text/html"});
    resp.write("WRONG CALL");
    resp.end();
    }
    n++;

    }).listen(8088);

    console.log('Server running at port 8088');