Recherche avancée

Médias (0)

Mot : - Tags -/clipboard

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (35)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

Sur d’autres sites (7018)

  • C# FFMPEG - How to get extracted frames without save in file system

    4 janvier 2023, par kadam

    I need to process frames from video and live stream without saving into file system.

    


    C# I am trying using below code, but not getting frames

    


    Process proc = new Process();
            proc.StartInfo.FileName = @"E:\ffmpeg\bin\ffmpeg.exe";
            proc.StartInfo.Arguments = String.Format(@"-i E:\ffmpeg\bin\video.mp4 -f rawvideo pipe:1");
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.Start();
proc.OutputDataReceived += (sender, args) => DataReceived(args);
            proc.ErrorDataReceived += (sender, args) => DataReceived(args);


    


    I can get frames in nodejs successfully using below code

    


    
const spawnProcess = require('child_process').spawn
    ffmpeg = spawnProcess('E:\\ffmpeg\\bin\\ffmpeg.exe', [
      '-i', 'rtsp://username:password@192.168.6.37/ch1/main/sub-stream',
      '-vcodec', 'mjpeg','-vf','fps=2',
      '-f', 'rawvideo',
      //'-s', HW, // size of one frame
      'pipe:1'
  ]);
      ffmpeg.stderr.pipe(logStream);
      let frames = [];
      ffmpeg.stdout.pipe(new ExtractFrames("FFD8FF")).on('data', (data) => {
        var fName=new Date().getTime()+".png";
        (
          async () => await ProcessFrame(Buffer.from(data).toString('base64'))
        )();
      })


    


    Same thing await ProcessFrame(Buffer.from(data).toString('base64')) I want in C#

    


  • The system cannot find the file specified error when trying to execute FFMpeg command with C# (same code works fine in a different app)

    5 mars 2023, par m_kr

    I know there are similar questions to this one. I have gone through every single one I could find and nothing worked for me. Here is my issue :

    


    I am trying to execute a FFMpeg command in command-line through .NET.

    


    Before anything I tried doing it with the following code :

    


    public static string executeCommand(string commandToBeExecuted)
    {
        Process cmd = new Process();
        cmd.StartInfo.FileName = "cmd.exe";
        cmd.StartInfo.RedirectStandardInput = true;
        cmd.StartInfo.RedirectStandardOutput = true;
        cmd.StartInfo.CreateNoWindow = true;
        cmd.StartInfo.UseShellExecute = false;
        cmd.Start();

        cmd.StandardInput.WriteLine(commandToBeExecuted);
        cmd.StandardInput.Flush();
        cmd.StandardInput.Close();
        cmd.WaitForExit();
        return cmd.StandardOutput.ReadToEnd();
    }


    


    Sending the "ffmpeg -h" command in commandToBeExecuted. This did not work.

    


    I next tried the following solution :

    


    public static string ffmpegCommand(string commandToBeExecuted)
    {
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.CreateNoWindow = false;
        startInfo.UseShellExecute = false;
        startInfo.FileName = "c:\\ffmpeg\\bin\\ffmpeg.exe";
        startInfo.WindowStyle = ProcessWindowStyle.Hidden;
        startInfo.Arguments = "-h";

        startInfo.RedirectStandardOutput = true;
        startInfo.RedirectStandardError = true;


        Process exeProcess = Process.Start(startInfo);

        // string error = exeProcess.StandardError.ReadToEnd();
        string output = exeProcess.StandardOutput.ReadToEnd();
        exeProcess.WaitForExit();
        return output;
    }


    


    This returns the following error :

    


    


    The system cannot find the file specified

    


    


    I am assuming this is referring to this part of the code :

    


    startInfo.FileName = "c:\\ffmpeg\\bin\\ffmpeg.exe";


    


    However, I checked and this is the correct path to my ffmpeg.exe file. On an even weirder note, this code works correct when tested in a new .net console application. However, I am creating an extension for OutSystems in integration, and when testing this code there it no longer works. The long exception from the logs is the following :

    


    


    CssbobffmpegCommandTestFolder
System.ComponentModel.Win32Exception : The system cannot find the file specified
at Object.s [as getException] (https://personal-jwy0bfog.outsystemscloud.com/FFMpegCommandGeneratorFFProbeVisual/scripts/OutSystems.js?RnlDcii3Xz75iIHHERIZtA:2:10241)
at c.onSuccess (https://personal-jwy0bfog.outsystemscloud.com/FFMpegCommandGeneratorFFProbeVisual/scripts/OutSystems.js?RnlDcii3Xz75iIHHERIZtA:3:7232)
at XMLHttpRequest. (https://personal-jwy0bfog.outsystemscloud.com/FFMpegCommandGeneratorFFProbeVisual/scripts/OutSystems.js?RnlDcii3Xz75iIHHERIZtA:3:2648)

    


    


    I researched similar problems and tried the following solutions :

    


    In place of :

    


    startInfo.FileName = "c:\\ffmpeg\\bin\\ffmpeg.exe";


    


    I tried :

    


      startInfo.WorkingDirectory = "c:\\ffmpeg\\bin";
  startInfo.FileName = @"ffmpeg.exe";


    


    I also tried changing the :

    


    startInfo.Arguments = "-h";


    


    to :

    


    startInfo.Arguments = "/C -h";


    


    I tried to "add new item" to my solution : the ffmpeg.exe file, and I tried the following logic :

    


    public static string testingNewApproachTwoThree(string commandToBeExecuted)
    {
        string res;
        ProcessStartInfo startInfo = new ProcessStartInfo();

        startInfo.CreateNoWindow = false;
        startInfo.UseShellExecute = false;
        startInfo.FileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ffmpeg\\ffmpeg.exe");
        startInfo.Arguments = "-h";
        startInfo.RedirectStandardOutput = true;
        //startInfo.RedirectStandardError = true;

        res = string.Format(
            "Executing \"{0}\" with arguments \"{1}\".\r\n",
            startInfo.FileName,
            startInfo.Arguments) + " NEXT: ";

        try
        {
            using (Process process = Process.Start(startInfo))
            {
                while (!process.StandardOutput.EndOfStream)
                {
                    res = res + process.StandardOutput.ReadLine();

                }

                process.WaitForExit();
            }
        }
        catch (Exception ex)
        {
            res = res + "exception:" + ex.Message;
        }

        return res;
    }


    


    as suggested in a different question.

    


    I tried changing the capitalization of letters in the specified filepath to make sure it matches the naming of my folders. Nothing worked.

    


    Any ideas ?

    


  • nodejs fluent-ffmpeg split long file into multiple small files based on seconds given

    9 mars 2023, par Mahesh Dama

    I want to split 10 minute audio mp3 file to 10 different 1 minute files using fluent-ffmpeg package in nodejs.
We can do this for ffmpeg package using the following command

    


    ffmpeg -i file.wav -f segment -segment_time 60 -c copy parts/output%09d.wav


    


    But I want the same functionality in fluent-ffmpeg for nodejs. What is the name of the method ?

    


    return ffmpeg(audioFile)
    .toFormat('wav')
    .audioChannels(1)
    .audioFrequency(44100)
    .audioBitrate('128')
    .on('error', (err) => {
        //error
    })
    .on('progress', (progress) => {
        //progress
    })
    .on('end', () => {
      // on complete
    })


    


    I tried looking at documentation for the segment feature for fluent-ffmpeg but couldn't get any solution.