Recherche avancée

Médias (91)

Autres articles (71)

  • Submit enhancements and plugins

    13 avril 2011

    If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
    You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (4348)

  • Converting videos to flv using ffmpeg

    6 janvier 2012, par user703526

    In my c# application, i am writing code for converting any video format to flv format. For this FFMPEG is used.

    Some times an exceptions is occuring like :

    Attempted to read or write protected memory. This is often an indication that other memory is corrupt

    Below is my code from where the exception throwing,

       IntPtr pFormatContext;
       FFmpeg.av_register_all();

       int ret;
       ret = FFmpeg.av_open_input_file(out pFormatContext, this.Filename, IntPtr.Zero, 0, IntPtr.Zero);

       if (ret < 0)
       {
           Trace.WriteLine("couldn't open input file");

           FFmpeg.av_free_static();
           return;
       }


       try
       {
           ret = FFmpeg.av_find_stream_info(pFormatContext);

           if (ret < 0)
           {
               Trace.WriteLine("couldnt find stream informaion");
               FFmpeg.av_close_input_file(pFormatContext);
               FFmpeg.av_free_static();
               return;
           }


           FFmpeg.AVFormatContext formatContext = (FFmpeg.AVFormatContext)Marshal.PtrToStructure(pFormatContext, typeof(FFmpeg.AVFormatContext));

           Duration = formatContext.duration / FFmpeg.AV_TIME_BASE;

           for (int i = 0; i < formatContext.nb_streams; ++i)
           {
               FFmpeg.AVStream stream = (FFmpeg.AVStream)Marshal.PtrToStructure(formatContext.streams[i], typeof(FFmpeg.AVStream));
               FFmpeg.AVCodecContext codec = (FFmpeg.AVCodecContext)Marshal.PtrToStructure(stream.codec, typeof(FFmpeg.AVCodecContext));

               if (codec.codec_type == FFmpeg.CodecType.CODEC_TYPE_VIDEO)
               {
                   Height = codec.height;
                   Width = codec.width;

                           Type = FileType.flv;
                           MimeType = "video/x-flv";

               }

           }
       }
       catch (Exception ex)
       {
           Trace.WriteLine("FFMpeg failed to understand the file");
       }

       FFmpeg.av_close_input_file(pFormatContext);
       FFmpeg.av_free_static();
    }

    And from the above code this ret = FFmpeg.av_find_stream_info(pFormatContext); line throws memory corrupt exception.
    Please help me to solve this issue.

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