Recherche avancée

Médias (10)

Mot : - Tags -/wav

Autres articles (8)

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

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

  • Qualité du média après traitement

    21 juin 2013, par

    Le bon réglage du logiciel qui traite les média est important pour un équilibre entre les partis ( bande passante de l’hébergeur, qualité du média pour le rédacteur et le visiteur, accessibilité pour le visiteur ). Comment régler la qualité de son média ?
    Plus la qualité du média est importante, plus la bande passante sera utilisée. Le visiteur avec une connexion internet à petit débit devra attendre plus longtemps. Inversement plus, la qualité du média est pauvre et donc le média devient dégradé voire (...)

Sur d’autres sites (4046)

  • Cloud Functions for Firebase : completing long processes without touching maximum timeout

    17 février, par Scott Ewing

    I have to transcode videos from webm to mp4 when they're uploaded to firebase storage. I have a code demo here that works, but if the uploaded video is too large, firebase functions will time out on me before the conversion is finished. I know it's possible to increase the timeout limit for the function, but that seems messy, since I can't ever confirm the process will take less time than the timeout limit.

    



    Is there some way to stop firebase from timing out without just increasing the maximum timeout limit ?

    



    If not, is there a way to complete time consuming processes (like video conversion) while still having each process start using firebase function triggers ?

    



    If even completing time consuming processes using firebase functions isn't something that really exists, is there some way to speed up the conversion of fluent-ffmpeg without touching the quality that much ? (I realize this part is a lot to ask. I plan on lowering the quality if I absolutely have to, as the reason webms are being converted to mp4 is for IOS devices)

    



    For reference, here's the main portion of the demo I mentioned. As I said before, the full code can be seen here, but this section of the code copied over is the part that creates the Promise that makes sure the transcoding finishes. The full code is only 70 something lines, so it should be relatively easy to go through if needed.

    



    const functions = require('firebase-functions');
const mkdirp = require('mkdirp-promise');
const gcs = require('@google-cloud/storage')();
const Promise = require('bluebird');
const ffmpeg = require('fluent-ffmpeg');
const ffmpeg_static = require('ffmpeg-static');


    



    (There's a bunch of text parsing code here, followed by this next chunk of code inside an onChange event)

    



    function promisifyCommand (command) {
    return new Promise( (cb) => {
        command
        .on( 'end',   ()      => { cb(null)  } )
        .on( 'error', (error) => { cb(error) } )
        .run();
    })
}
return mkdirp(tempLocalDir).then(() => {
    console.log('Directory Created')
    //Download item from bucket
    const bucket = gcs.bucket(object.bucket);
    return bucket.file(filePath).download({destination: tempLocalFile}).then(() => {
      console.log('file downloaded to convert. Location:', tempLocalFile)
      cmd = ffmpeg({source:tempLocalFile})
               .setFfmpegPath(ffmpeg_static.path)
               .inputFormat(fileExtension)
               .output(tempLocalMP4File)
      cmd = promisifyCommand(cmd)
      return cmd.then(() => {
        //Getting here takes forever, because video transcoding takes forever!
        console.log('mp4 created at ', tempLocalMP4File)
        return bucket.upload(tempLocalMP4File, {
            destination: MP4FilePath
        }).then(() => {
          console.log('mp4 uploaded at', filePath);
        });
      })
    });
  });


    


  • Firebase Functions : completing long processes without touching maximum timeout

    10 juin 2017, par Scott Ewing

    I have to transcode videos from webm to mp4 when they’re uploaded to firebase storage. I have a code demo here that works, but if the uploaded video is too large, firebase functions will time out on me before the conversion is finished. I know it’s possible to increase the timeout limit for the function, but that seems messy, since I can’t ever confirm the process will take less time than the timeout limit.

    Is there some way to stop firebase from timing out without just increasing the maximum timeout limit ?

    If not, is there a way to complete time consuming processes (like video conversion) while still having each process start using firebase function triggers ?

    If even completing time consuming processes using firebase functions isn’t something that really exists, is there some way to speed up the conversion of fluent-ffmpeg without touching the quality that much ? (I realize this part is a lot to ask. I plan on lowering the quality if I absolutely have to, as the reason webms are being converted to mp4 is for IOS devices)

    For reference, here’s the main portion of the demo I mentioned. As I said before, the full code can be seen here, but this section of the code copied over is the part that creates the Promise that makes sure the transcoding finishes. The full code is only 70 something lines, so it should be relatively easy to go through if needed.

    const functions = require('firebase-functions');
    const mkdirp = require('mkdirp-promise');
    const gcs = require('@google-cloud/storage')();
    const Promise = require('bluebird');
    const ffmpeg = require('fluent-ffmpeg');
    const ffmpeg_static = require('ffmpeg-static');

    (There’s a bunch of text parsing code here, followed by this next chunk of code inside an onChange event)

    function promisifyCommand (command) {
       return new Promise( (cb) => {
           command
           .on( 'end',   ()      => { cb(null)  } )
           .on( 'error', (error) => { cb(error) } )
           .run();
       })
    }
    return mkdirp(tempLocalDir).then(() => {
       console.log('Directory Created')
       //Download item from bucket
       const bucket = gcs.bucket(object.bucket);
       return bucket.file(filePath).download({destination: tempLocalFile}).then(() => {
         console.log('file downloaded to convert. Location:', tempLocalFile)
         cmd = ffmpeg({source:tempLocalFile})
                  .setFfmpegPath(ffmpeg_static.path)
                  .inputFormat(fileExtension)
                  .output(tempLocalMP4File)
         cmd = promisifyCommand(cmd)
         return cmd.then(() => {
           //Getting here takes forever, because video transcoding takes forever!
           console.log('mp4 created at ', tempLocalMP4File)
           return bucket.upload(tempLocalMP4File, {
               destination: MP4FilePath
           }).then(() => {
             console.log('mp4 uploaded at', filePath);
           });
         })
       });
     });
  • Applying same filter_complex many times before output [duplicate]

    19 août 2019, par Fabián

    It’s not a duplicate. This is about using filter_complex, not -vf.

    In my video there’s an object that has shades of yellow (more orange-like) and a solid yellow as background.

    I need to output all frames into a png sequence, using a color key filter to replace the yellow from the background :

    ffmpeg -ss 4 -i original.mp4 -t 2 -filter_complex "[0:v]colorkey=0xfff31b:0.125:0[ckout]" -map "[ckout]" colorkey-%d.png

    This removes the specific color, but leaves some pints behind, and some items are yellow-themed, so blending value is a no-no for this scenario.

    I need to get rid of 4 specific yellow-colors from the frames : 0xfff31b, 0xfae56b, 0xfaec46 and 0xeee2a0, and I plan to run the same filter for specific colors before getting the final result.

    So first I tried this :

    ffmpeg -ss 4 -i original.mp4 -t 2 -filter_complex "[0:v]colorkey=0xfff31b:0.4:0[ckout1];[0:v]colorkey=0xfae56b:0.4:0[ckout2];[0:v]colorkey=0xfaec46:0.4:0[ckout3];[0:v]colorkey=0xeee2a0:0.4:0[ckout4]" -map "[ckout4]" colorkeyrefined-%d.png

    Then this :

    ffmpeg -ss 4 -i original.mp4 -t 2 -filter_complex "[0:v]colorkey=0xfff31b:0.4:0[ckout]" -filter_complex "[0:v]colorkey=0xfae56b:0.4:0[ckout]" -filter_complex "[0:v]colorkey=0xfaec46:0.4:0[ckout]" -filter_complex "[0:v]colorkey=0xeee2a0:0.4:0[ckout]" -map "[ckout]" colorkeyrefined-%d.png

    But both display the same error :

    Filter colorkey has an unconnected output.

    Is there a way to apply the colorkey feature 4 times (with the mentioned values) in one go ?