Recherche avancée

Médias (91)

Autres articles (36)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (5002)

  • StackOverflowException with Process in C#

    4 juin 2015, par user3633222

    I have a process, which runs in a console app. It runs forever.

    After a couple of days the app crashes with a StackOverflowException.

    The essence of the app is where I spin up a Process with FFMpeg.exe and creates a sceenshot of a video stream. It works very good but only for a few days at the time.

    I am pretty sure it has to do with the disposal of the FFMpeg or some internal Process stuff.

    Here is the code

    using ( Process ffmpegProcess = new Process() ) {

       //arguments for running ffmpeg
       ffmpegProcess.StartInfo.UseShellExecute = false;
       ffmpegProcess.StartInfo.CreateNoWindow = true;
       ffmpegProcess.StartInfo.RedirectStandardOutput = true;

       //specific for our screenshots
       ffmpegProcess.StartInfo.FileName = string.Concat( Environment.CurrentDirectory, Path.DirectorySeparatorChar, ffmpegProgramName );

       try {
           //todo: log this stopwatch somewhere perhaps
           processWatch.Start();

           //set arguments every time we want to create a new screen shot
           ffmpegProcess.StartInfo.Arguments = string.Format( @"-y -i {0}{1} -threads 0 -ss 00:00:01.000 -f image2 -s 620x349 -vframes 1 ../../web/{2}.jpg", server, streamPath, slug );
           ffmpegProcess.Start();
           ffmpegProcess.WaitForExit( 500 );

           Console.WriteLine( slug );
           Console.WriteLine( processWatch.Elapsed );

           processWatch.Reset();
           runCount++;
           cacheIndexer++;

           //lets see how many spins we've had!
           Console.WriteLine( string.Format( "SERVER CACHE INDEX : {0}", cacheIndexer ) );
           Console.WriteLine( string.Format( "RUN : {0}", runCount ) );
           Console.WriteLine( Environment.NewLine );

       } catch ( Exception ex ) {
           //Console.WriteLine( "Ex " + ex );
       }
    }

    The loop looks like this.

       public void RecurseTask() {
           /*
           You can try one of these, but you will se CPU usage go crazy and perhaps concurrency errors due IO blocking

           Parallel.ForEach( _videoStreamSlugs, ( e ) => _videoStreamScreenShots.GrabScreenShot( e ) );

           foreach ( var slug in _videoStreamSlugs ) {
               Task.Run( () => _videoStreamScreenShots.GrabScreenShot( slug ) );
           }
           */

           //we want to grab screen shots for every slug in out slug list!
           foreach ( var slug in _videoStreamSlugs ) {
               _videoStreamScreenShots.GrabScreenShot( slug );
           }

           //sleep for a little while
           Thread.Sleep( _recurseInterval );

           //A heavy clean up!
           //We do this, trying to avoid a stackoverflow excecption in the recursive method
           //Please inspect this if problems arise
           GC.Collect();

           //lets grab over again
           RecurseTask();
       }

    I added a GC.Collect out of curiosity to see if it made a difference.

    I am not doing a Windows Service.

  • Call to Process works fine with Debug, but it doesn't work in the installed application

    6 février 2019, par Santi

    I am developing a Windows Form program that has callings to ffmpeg library through the class Process.

    It works fine when I run it with the Debug in Visual Studio 2013. But when I install the program and I invoke the operation that call to the ffmpeg Process, it doesn’t work. The cmd screen appears an disappears and nothing happens.

    I have tried to know what can be happening getting a log file with the output of ffmpeg, in case it was a problem in the ffmpeg libraries. However, after executing it the log is empty, what means that the ffmpeg command has not been executed.

    Can someone help me, please ?

    The code is this :

    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = "cmd.exe";
    startInfo.Arguments = "/c " + ffmpegPath + " " + commandArguments;
    using (Process processTemp = new Process())
    {
       processTemp.StartInfo = startInfo;
       processTemp.EnableRaisingEvents = true;
       processTemp.Start();
       processTemp.WaitForExit();
    }

    I am invoking to cmd.exe (not directly ffmpeg.exe) because in the arguments sometimes there can be a pipe (that is why the command starts with "/c").

  • Pass both resolve and reject callbacks to the process pipe.

    24 avril 2013, par blueimp
    m js/jquery.fileupload.js
    
    Pass both resolve and reject callbacks to the process pipe.