Recherche avancée

Médias (1)

Mot : - Tags -/epub

Autres articles (68)

  • Organiser par catégorie

    17 mai 2013, par

    Dans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
    Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
    Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

Sur d’autres sites (2839)

  • Anomalie #4810 (En cours) : var_mode=profile ne répond plus

    4 juin 2021, par Jacques Bouthier

    J’ai voulu essayer de voir les requêtes sql lentes avec var_mode=profile sur un site en 3.3-dev (php 7.3.27) et je n’ai pas eu de résultat.
    Du coup j’ai essayé sur un site de test en SPIP 4.0 beta (en php 8.0.6) et pareil, pas de réponse...

  • Removing / Overlaying logo on mp4 video format with ffmpeg on linux

    13 juillet 2016, par SilverShadow

    I’m trying to remove logo from an .mp4 video format with ffmpeg on linux machine without re-encoding (for preserving the same quality) with the following command :

    ffmpeg -i input.mp4 -vf delogo=x=270:y=190:w=40:h=40 -c:a copy output.mp4

    and it give me the following errors :

    Unrecognized option 'vf'

    then a new error came up :

    Unable to find a suitable output format for 'delogo=x=270:y=190:w=40:h=40'

    ffmpeg always updating and it seems that they change command line arguments alot so any material or tutorial i find online seems to get out-dated quickly

    I review their website documentation but can’t get it to work, I think i’m missing something...?

    so what is the correct command line in linux shell also, how to view or find out exactly the area coordinates to be removed before actually removing logo/overlaying it and keep testing every while

    and how to overlay a solid color in certain area instead of removing logo transparently as well ?

  • ENOENT Error in Node When Calling Ffmpeg binary from Fluent-Ffmpeg Api

    7 novembre 2018, par Peter

    Background

    I am wiring up a firebase function in node. Purpose is to parse an inbound audio clip to a set length. Using ffmpeg and fluent-ffmpeg.

    Problem

    When the function is triggered in firebase, I am getting ENOENT error when Fluent-Ffmpeg attempts to access the Ffmpeg binary

    Firebase Debug Output

    Error : Error : spawn
    ./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg ENOENT
    at exports._errnoException (util.js:1018:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:367:16)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickDomainCallback (internal/process/next_tick.js:128:9) code : ’ENOENT’, errno :
    ’ENOENT’, syscall : ’spawn
    ./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg’, path :
    ’./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg’,
    spawnargs : [ ’-formats’ ]

    Expected Outcome

    Inbound file is downloaded to a temp directory, cropped, and re-uploaded to firebase storage as the cropped file.

    Environment

    • mac client / firebase storage
    • node v8.1.0
    • ffmpeg v3.2.2
    • fluent-ffmpeg v2.1.2

    Code [Updated To Reflect Svenskunganka’s Change. Now Works]

    const ffmpeg = require('fluent-ffmpeg');
    const PREVIEW_PREFIX = 'preview_';

    exports.generatePreviewClip = functions.storage.object('audioFiles').onChange(event => {

         //console.log('Times this function has run: ', run++);

         const object = event.data; // The Storage object.
         const fileBucket = object.bucket; // The Storage bucket that contains the file.
         const filePath = object.name; // File path in the bucket.
         const contentType = object.contentType; // File content type.
         const resourceState = object.resourceState; // The resourceState is 'exists' or 'not_exists' (for file/folder deletions).
         const metageneration = object.metageneration; // Number of times metadata has been generated. New objects have a value of 1.

         // Exit if this is triggered on a file that is not an audio file.
         if (!contentType.startsWith('audio/')) {
           console.log('This is not an audio file.');
           console.log('This is the file:', filePath);
           return;
         }

         // Get the file name.
         const fileName = path.basename(filePath);
         console.log('Working with filename', fileName);
         // Exit if the file is already an audio clip.
         if (fileName.startsWith(PREVIEW_PREFIX)) {
           console.log('Already a preview clip.');
           return;
         }

         // Exit if this is a move or deletion event.
         if (event.data.resourceState === 'not_exists') {
           console.log('This is a deletion event.');
           return;
         }

         // Exit if file exists but is not new and is only being triggered
         // because of a metadata change.
         if (resourceState === 'exists' && metageneration > 1) {
           console.log('This is a metadata change event.');
           return;
         }

         // Download file from bucket.

         const bucket = gcs.bucket(fileBucket);
         const tempFilePath = path.join(os.tmpdir(), fileName);
         return bucket.file(filePath).download({
           destination: tempFilePath
         }).then(() => {

           console.log('Audio file downloaded locally to temp directory', tempFilePath);

       var ffmpegPath = require("ffmpeg-binaries").ffmpegPath();
       var ffprobePath = require("ffmpeg-binaries").ffprobePath();

       // Generate a croped file using ffmpeg.
       var command = new ffmpeg(tempFilePath);
           command.setFfmpegPath(ffmpegPath);
           command.setFfprobePath(ffprobePath);

           command
                 .setStartTime('00:00:03')
                 .setDuration('10')
                 .output(tempFilePath)
                 .on('end', function() {
                       console.log('Audio Crop Done Successfully');
                  })
                  .on('error', function(err)
                  {
                     console.log('Error:', err);
                  }).run();

                 }).then(() => {
           console.log('Preview file created at', tempFilePath);
           // We add a 'preview_' prefix to the audio file name. that's how it will appear in firebase.
           const previewFileName = PREVIEW_PREFIX + fileName;
           console.log('previewFileName is', previewFileName)
           const previewFilePath = path.join(path.dirname(filePath), previewFileName);
           console.log('previewFilePath is', previewFilePath);
           // Uploading the preview file.
           return bucket.upload(tempFilePath, {destination: previewFilePath});
         // Once the file has been uploaded delete the local file to free up disk space.
         }).then(() => fs.unlinkSync(tempFilePath));

         // [END audio file generation]

       });

    Contents and Structure of my ffmpeg-binaries/bin Directory

    -rwxrwxrwx  1 sherpa  staff    24M Dec 10  2016 ffmpeg
    -rwxr--r--  1 sherpa  staff    35M Jan 12  2017 ffmpeg.exe
    -rwxr--r--  1 sherpa  staff    35M Jan 12  2017 ffplay.exe
    -rwxrwxrwx  1 sherpa  staff    24M Dec 10  2016 ffprobe
    -rwxr--r--  1 sherpa  staff    35M Jan 12  2017 ffprobe.exe
    -rwxrwxrwx  1 sherpa  staff    22M Dec 10  2016 ffserver

    Things I Have Tried

    • I can execute ffmpeg from the command line
    • sudo chmod -R u+x ffmpeg-binaries/
    • ffmpeg set in global path
    • used ffmpeg.exe binary in setFfmpegPath, got same result
      • Error : Error : spawn ./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg.exe ENOENT
    • played with numerous different setFfmpegPath path structures, e.g :
      • ./Cloud/functions/node_modules/ffmpeg-binaries/bin/ffmpeg
      • node_modules/ffmpeg-binaries/bin/ffmpeg
      • ./Cloud/functions/node_modules/ffmpeg-binaries/bin/

    Thanks for any suggestions.