Recherche avancée

Médias (1)

Mot : - Tags -/framasoft

Autres articles (79)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

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

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

Sur d’autres sites (9165)

  • Gnuplot how to set a variable to standard-input if not passed

    27 août 2020, par DDS

    I have a gnuplot script (plot.script) that is invoked like

    


    C:> ffmpeg -i '.\my_awesome_audio_file.wav' -filter_complex aformat=channel_layouts=mono -acodec pcm_s16le -ar 4000 -f data - | gnuplot -e "fileout='plot';fileformat='png';wid=500;" .\plot.script        


    


    Now I'd want to default filein variable to stdin if it is not passed as argument. This because I want to be able to call this script as a 1-liner command with ffmpeg data generation and also as step-by-step procedure

    


    My idea was to use

    


    if(!exists('filein')){
filein = '-';
}


    


    but this throws warning: Skipping data file with no valid points

    


    if i print the variable datafile I got - (I expected something like stdin).

    


    this is the plot.script script :

    


    
if(!exists('filein')){
    filein = '-';
    }

if (!exists("hei")){
    hei = 4444;
    }
if (!exists("wid")){
    wid = 5555;
    }
if(!exists("fileformat")){
     fileformat = 'png';
     }
if(!exists("fileout")){
     fileout = 'risultato';
   }
   
fileout = fileout . '.' . fileformat;
   
if(!exists("dataformat")){
    dataformat = '%int16';
    }
if(fileformat eq 'png'){
  set terminal png transparent size larghezza,altezza;
  
  }else{
  set terminal fileformat size wid,hei;
  }
  set output fileout;
  unset key;
  unset tics;
  unset border;
  set lmargin 0;
  set rmargin 0;
  set tmargin 0;
  set bmargin 0;


print filein;
plot filein binary filetype=bin format=dataformat endian=little array=1:0 with lines linecolor "0x009900";


    


    But I also want to call this command-by-command :
generate the data-file :

    


    c:> ffmpeg -i '.\my_awesome_audio_file.wav' -filter_complex aformat=channel_layouts=mono -acodec pcm_s16le -ar 4000 -f data audio.dat


    


    plot the data :

    


    c:> gnuplot -e "filein='audio.dat';fileout='plot';fileformat='png';wid=500;" .\plot.script


    


  • Convert wav to mp3 using Meteor FS Collections on Startup

    28 juillet 2015, par TheBetterJORT

    I’m trying to transcode all wav files into a mp3 using Meteor and Meteor FS Collections. My code works when I upload a wav file to the uploader — That is it will convert the wav to a mp3 and allow me to play the file. But, I’m looking for a Meteor Solution that will transcode and add the file to the DB if the file is a wav and exist in a certain directory. According to the Meteor FSCollection it should be possible if the files have already been stored. Here is their example code : *GM is for ImageMagik, I’ve replaced gm with ffmpeg and installed ffmpeg from atmosphereJS.

    Images.find().forEach(function (fileObj) {
     var readStream = fileObj.createReadStream('images');
     var writeStream = fileObj.createWriteStream('images');
     gm(readStream).swirl(180).stream().pipe(writeStream);
    });

    I’m using Meteor-CollectionFS [https://github.com/CollectionFS/Meteor-CollectionFS]-

    if (Meteor.isServer) {
     Meteor.startup(function () {
           Wavs.find().forEach(function (fileObj) {
         var readStream = fileObj.createReadStream('.wavs/mp3');
         var writeStream = fileObj.createWriteStream('.wavs/mp3');
         this.ffmpeg(readStream).audioCodec('libmp3lame').format('mp3').pipe(writeStream);
         Wavs.insert(fileObj, function(err) {
         console.log(err);
       });
         });
         });
    }

    And here is my FS.Collection and FS.Store information. Currently everything resides in one JS file.

    Wavs = new FS.Collection("wavs", {
     stores: [new FS.Store.FileSystem("wav"),
       new FS.Store.FileSystem("mp3",

       {
         path: '~/wavs/mp3',
         beforeWrite: function(fileObj) {
           return {
             extension: 'mp3',
             fileType: 'audio/mp3'
           };
         },
         transformWrite: function(fileObj, readStream, writeStream) {
           ffmpeg(readStream).audioCodec('libmp3lame').format('mp3').pipe(writeStream);
         }
       })]
    });

    When I try and insert the file into the db on the server side I get this error : MongoError : E11000 duplicate key error index :

    Otherwise, If I drop a wav file into the directory and restart the server, nothing happens. I’m new to meteor, please help. Thank you.

  • Anomalie #3991 : Erreur compression CSS et base64

    29 août 2017, par tcharlss (*´_ゝ`)

    La ligne fautive se trouve ici : https://zone.spip.org/trac/spip-zone/browser/_core_/plugins/compresseur/inc/compresseur_minifier.php#L100

    // zero est zero, quelle que soit l’unite (sauf pour % car casse les @keyframes cf https://core.spip.net/issues/3128)
    $contenu = preg_replace("/([^0-9.]0)(em|px|pt)/ms", "$1", $contenu) ;
    

    Ça cherche le nombre zéro précédé de n’importe quel caractère (autre qu’un chiffre) ou d’un point.
    Du coup ça peut matcher avec les data URIs :

    @font-facefont-family :’spip’ ;src:url("data:application/font-woff ;base64,abc0pxyz") ;
    

    Pour éviter ce souci, on pourrait préciser exactement quels caractères peuvent précéder le zéro pour considérer qu’il s’agit d’une unité. On peut avoir :

    1) deux points

    font-size:0px ;
    

    2) un ou plusieurs espaces

    font-size : 0px ;
    font-size : calc(10px + 0px) ;
    

    3) une parenthèse dans le cas de calc()

    font-size : calc(0px) ;
    

    4) Autres unités

    À noter qu’il y a aussi pas mal d’autres unités qui ne sont pas prises en compte dans la regex actuelle : https://www.w3schools.com/cssref/css_units.asp

    rem ex pc
    vh vw vmin vmax 
    cm mm in
    ch 
    

    Ce qui donne au final la regex suivante, qui laisse mes data URIs tranquilles :

    $contenu = preg_replace("/((?: :|\s+|\()0)(em|px|pt|rem|ex|pc|vh|vw|vmin|vmax|cm|mm|in|ch)/ms", "$1", $contenu) ;