Recherche avancée

Médias (16)

Mot : - Tags -/mp3

Autres articles (68)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Le plugin : Gestion de la mutualisation

    2 mars 2010, par

    Le plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
    Installation basique
    On installe les fichiers de SPIP sur le serveur.
    On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
    On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
    < ?php (...)

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

Sur d’autres sites (8945)

  • Download,modify and upload video with S3

    9 février 2017, par Gold Fish

    I’m trying to write a Lambda function in nodejs that will download a file from S3 bucket, modify it, and then upload it back to another S3 bucket. For some reason, the algorithm prints the ’Modify Video’ log and then finishes and exit without error. What am I doing wrong ?

    var AWS = require('aws-sdk');
    var util = require('util');
    var ffmpeg = require('fluent-ffmpeg');
    var s3 = require('s3');

    // get reference to S3 client

    var awsS3Client = new AWS.S3();
    var options = {
     s3Client: awsS3Client,
    };
    var client = s3.createClient(options);

    exports.handler = function(event, context, callback) {
       // Read options from the event.
       console.log("Reading options from event:\n", util.inspect(event, {depth: 5}));
       var srcBucket = event.Records[0].s3.bucket.name;
       // Object key may have spaces or unicode non-ASCII characters.
       var srcKey    =
       decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, " "));
       var dstBucket = srcBucket + "-dst";
       var dstKey    = "mod_" + srcKey;

       var dwnld_file_name = '/tmp/vid.mp4';
       var mdfy_file_name = '/tmp/mod_vid.mp4';

       // Sanity check: validate that source and destination are different buckets.
       if (srcBucket == dstBucket) {
           callback("Source and destination buckets are the same.");
           return;
       }

       // Infer the video type.
       var typeMatch = srcKey.match(/\.([^.]*)$/);
       if (!typeMatch) {
           callback("Could not determine the video type.");
           return;
       }
       var videoType = typeMatch[1];
       if (videoType != "mp4") {
           callback('Unsupported video type: ${videoType}');
           return;
       }
       console.log("Source bucket: ", srcBucket);
       console.log("srcKey: ", srcKey);
       console.log("Dest bucket: ", dstBucket);
       console.log("dstKey: ", dstKey);

       var params = {
         localFile: dwnld_file_name,

         s3Params: {
           Bucket: srcBucket,
           Key: srcKey,
         },
       };
       console.log("params for download: ", params);
       var downloader = client.downloadFile(params);
       downloader.on('error', function(err) {
         console.error("unable to download:", err.stack);
         callback("unable to download");
       });
       downloader.on('end', function() {
         console.log("done downloading");
         console.log("modify video");
         ffmpeg(dwnld_file_name)
             .setStartTime('00:00:01')
             .setDuration('1').output(mdfy_file_name).on('end', function() {
               console.log('Finished processing');
               params = {
                 localFile: mdfy_file_name,
                 //localFile: dwnld_file_name,
                 s3Params: {
                   Bucket: dstBucket,
                   Key: dstKey,
                 },
               };
               console.log("params for upload: ", params);
               var uploader = client.uploadFile(params);
               uploader.on('error', function(err) {
                 console.error("unable to upload:", err.stack);
                 callback("unable to upload");
               });
               uploader.on('end', function() {
                 console.log("done uploading");
                 callback('done');
                 return;
               });
           });  //
       });
    };
  • How do I get FFMPEG to make make multiple recordings ?

    23 juillet 2015, par David

    I need to find a way to get ffmpeg to start recording again after the duration expires, so I can break the files up into more manageable chunks. Unfortunately, the only funcion I’ve found is the ability to limit the amount of time it records before terminating, with nothing about how to get it to keep recording in the next file afterwards. is ther a function to do this ?

    for(i = 0; i &lt; streamsRepository.streams.length; i++) {
       var obj  = streamsRepository.streams[i];
       findTheRightSave();
       console.log('Channel '+obj.key+' is Recording');

       fmpeg(obj.url)
       .duration('1:00')
       .format('mp3')
         .on('error', function(err, stdout, stderr) {
           console.error(err);
           console.error(stdout);
           console.error(stderr)
         })

           .save('/home/spencer/recorder/audio/'+obj.key+'/Recording-'+numRecordings+'.mp3');
           numRecordings=1;
    }
  • Why does linking different MSVC Run-Time Libraries crash in release mode ?

    9 septembre 2014, par UmNyobe

    I am using ffmpeg and Qt to build a small demo app.

    • FFmpeg is built with /MT (crossbuild or built with visual 2010)
    • Qt is always built with /MD
    • My little example is always built with /MD

    When the application

    int main(int argc, char *argv[])
    {
       QApplication a(argc, argv);

       av_gcd (75, 25);

       return a.exec();
    }

    //note : following is av_gcd source in ffmpeg libs:
    int64_t av_gcd(int64_t a, int64_t b)
    {
       if (b)
           return av_gcd(b, a % b);
       else
           return a;
    }

    is executed in release mode it crashes because it doesn’t see av_gcd as executable memory. The error is :

    First-chance exception at 0x0000000300905a4d in mylittleexample.exe :
    0xC0000005 : Access violation at location 0x0000000300905a4d.

    =======================================
    VERIFIER STOP 0000000000000650 : pid 0x1B9C : Attempt to execute code in
    non-executable memory (first chance).

    0000000300905A4D : Address being accessed.
    0000000300905A4D : Code
    performing invalid access.
    00000000009FF770 : Exception record. Use
    .exr to display it.
    00000000009FF280 : Context record. Use .cxr to
    display it.

    =======================================

    The address 0x0000000300905a4d doesnt change regardless of the function in the library (ffmpeg in this case), or the compiler used for the executable (vs2010, vs2012) or a different machine.

    If I use the FFmpeg built with /MD and it works as one would expect.

    1. I observe that the executable doesnt load the library when the
      library is compiled with /MT. Why is that ?
    2. Furthermore, If the library is compiled with /MT and debug
      information is enabled when the application is linked (/DEBUG
      param to the linker) then the library is loaded and everything
      execute correctly. Why ?