Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (57)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • MediaSPIP en mode privé (Intranet)

    17 septembre 2013, par

    À partir de la version 0.3, un canal de MediaSPIP peut devenir privé, bloqué à toute personne non identifiée grâce au plugin "Intranet/extranet".
    Le plugin Intranet/extranet, lorsqu’il est activé, permet de bloquer l’accès au canal à tout visiteur non identifié, l’empêchant d’accéder au contenu en le redirigeant systématiquement vers le formulaire d’identification.
    Ce système peut être particulièrement utile pour certaines utilisations comme : Atelier de travail avec des enfants dont le contenu ne doit pas (...)

Sur d’autres sites (8384)

  • Ffmpeg set duration using node-fluent-ffmpeg

    23 mai 2013, par Vprnl

    I'm really new to the world of ffmpeg so please excuses me if this is a stupid queston.

    I'm using the module Node-fluent-ffmpeg to stream a movie and convert it from avi to webm.
    So far so good (it plays the video), but I'm having trouble parsing the duration to the player. My ultimate goal is to be able to skip ahead in the movie. But first the player needs to know how long the video is.

    my code is as followed :

    var stat = fs.statSync(movie);

    var start = 0;
    var end = 0;
    var range = req.header('Range');
    if (range != null) {
    start = parseInt(range.slice(range.indexOf('bytes=')+6,
     range.indexOf('-')));
    end = parseInt(range.slice(range.indexOf('-')+1,
     range.length));
    }
    if (isNaN(end) || end == 0) end = stat.size-1;
    if (start > end) return;

    res.writeHead(206, { // NOTE: a partial http response
       'Connection':'close',
       'Content-Type':'video/webm',
       'Content-Length':end - start,
       'Content-Range':'bytes '+start+'-'+end+'/'+stat.size,
       'Transfer-Encoding':'chunked'
    });

    var  proc = new ffmpeg({ source: movie, nolog: true, priority: 1, timeout:15000})
       .toFormat('webm')
       .withVideoBitrate('1024k')
       .addOptions(['-probesize 900000', '-analyzeduration 0', '-bufsize 14000'])
       .writeToStream(res, function(retcode, error){
       if (!error){
           console.log('file has been converted succesfully',retcode);
       }else{
           console.log('file conversion error',error);
       }
    });

    I tried to set the header with a start and a end based on this article : http://delog.wordpress.com/2011/04/25/stream-webm-file-to-chrome-using-node-js/

    I also looked in the FFmpeg documentation and found -f duration and -ss.
    But I don't quite know how to convert the byte range to seconds.

    I feel like I'm pretty close to a solution but my inexperience with the subject matter prohibits me from getting it to work. If I'm unclear in any way please let me know. (I have a tendency of explaining things fuzzy.)

    Thanks in advance !

  • Unable to combine videos with ffmpeg on firebase functions

    24 septembre 2019, par 西田龍

    I tried to combine videos on firebase functions using FFmpeg. However, I was not able to do that because of encountering an error below.

    I expect that videos will be combined successfully.

    Firstly, as I did not have the directory made so I tried to make it using mkdirp-promise.
    But it did not make any changes ; I had the same error as before.

    Error: ENOENT: no such file or directory, stat '/tmp/combined.mp4'

    Here are the codes.

    const combineVideos = async (tempFilePath, firstFilePath, secondFilePath,targetTempFilePath) =>{
                   ffmpeg(tempFilePath)
                     .setFfmpegPath(ffmpeg_static.path)
                     .addInput(firstFilePath)
                     .addInput(secondFilePath)
                     .on('end', function() {
                       console.log('files have been merged succesfully');
                     })
                     .on('error', function(err) {
                       console.log('an error happened: ' + err.message);
                     })
                     .mergeToFile(targetTempFilePath)
    }
    exports.editVids = functions.storage.object().onFinalize(async (object) => {
       await (async () => {
           const fileBucket = object.bucket; // The Storage bucket that contains the file.
           const filePath = object.name; // File path in the bucket.

           // Get the file name.
           const fileName = path.basename(filePath);
           // Exit if the audio is already converted.
           if(fileName==='last.mp4'){
               // Download file from bucket.

               const bucket = gcs.bucket(fileBucket);
               const tempFilePath = path.join(os.tmpdir(), fileName);
               const firstFilePath = path.join(os.tmpdir(), 'first.mp4');
               const secondFilePath = path.join(os.tmpdir(), 'second.mp4');

               // We add a '_output.flac' suffix to target audio file name. That's where we'll upload the converted audio.
               const targetTempFileName = 'combined.mp4'
               const targetTempFilePath = path.join(os.tmpdir(), targetTempFileName);
               const targetStorageFilePath = path.join(path.dirname(filePath), targetTempFileName);

               await mkdirp(path.dirname(tempFilePath))

               await bucket.file(filePath).download({destination: tempFilePath});
               await bucket.file(filePath.replace('last.mp4','first.mp4')).download({destination: firstFilePath});
               await bucket.file(filePath.replace('last.mp4','second.mp4')).download({destination: secondFilePath});

               console.log('Video downloaded locally to', firstFilePath);
               console.log('Video downloaded locally to', secondFilePath);
               console.log('Video downloaded locally to', tempFilePath);
               // Convert the audio to mono channel using FFMPEG.
               await combineVideos(tempFilePath, firstFilePath, secondFilePath, targetTempFilePath)
               console.log('Output video created at', targetTempFilePath);

               // Uploading the audio.
               await bucket.upload(targetTempFilePath, {destination: targetStorageFilePath});
               console.log('Output video uploaded to', targetStorageFilePath);

               // Once the audio has been uploaded delete the local file to free up disk space.
               fs.unlinkSync(tempFilePath);
               fs.unlinkSync(firstFilePath);
               fs.unlinkSync(secondFilePath);
               fs.unlinkSync(targetTempFilePath);
               return console.log('Temporary files removed.', targetTempFilePath);
           }
       })();
    });
  • Where can I find high-quality videos for testing video processing ?

    15 novembre 2018, par Workman

    Aside from Big Buck Bunny, Sintel, and Elephant’s Dream, what are other high-quality and free sources for high quality video ?

    I’m using these videos internally to test video transcoding options and am not public redistributing. Any suggestions for content that falls under this category ?