Recherche avancée

Médias (1)

Mot : - Tags -/illustrator

Autres articles (63)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • 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

Sur d’autres sites (10328)

  • Filter concat has an unconnected output while Video concatenation in ffmpeg wrapper in java

    28 février 2024, par Thor

    I am trying to stitch variable number of videos using ffmpeg wrapper.

    


    I have this code :

    


    private void videoStich(List<string> videoPaths){&#xA;        FFmpeg ffmpeg = null;&#xA;        FFprobe ffprobe=null;&#xA;        String stitchedOutputPath = outputFolder &#x2B; "/stitched_output.mp4";&#xA;&#xA;        try {&#xA;            ffmpeg = new FFmpeg();&#xA;            ffprobe = new FFprobe();&#xA;        } catch (IOException e) {&#xA;            throw new RuntimeException(e);&#xA;        }&#xA;&#xA;&#xA;        FFmpegBuilder builder = new FFmpegBuilder();&#xA;&#xA;        for (int i = 0; i &lt; videoPaths.size(); i&#x2B;&#x2B;) {&#xA;            String videoPath = videoPaths.get(i);&#xA;            builder.addInput(videoPath);&#xA;        }&#xA;&#xA;        // Add complex filter for concatenation&#xA;        StringBuilder complexFilter = new StringBuilder();&#xA;        for (int i = 0; i &lt; videoPaths.size(); i&#x2B;&#x2B;) {&#xA;            complexFilter.append("[").append(i).append(":v][").append(i).append(":a]");&#xA;//            if (i &lt; videoPaths.size() - 1) {&#xA;//                complexFilter.append("[");&#xA;//            }&#xA;        }&#xA;        complexFilter.append("concat=n=").append(videoPaths.size()).append(":v=1:a=1[v][a]");&#xA;&#xA;        builder.setComplexFilter(complexFilter.toString())&#xA;                .addOutput(stitchedOutputPath)&#xA;                .setFormat("mp4")&#xA;                .done();&#xA;&#xA;        FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);&#xA;        executor.createJob(builder).run();&#xA;    }&#xA;</string>

    &#xA;

    but getting this error :

    &#xA;

    2024-02-28T16:30:53.033&#x2B;05:30  INFO 4711 --- [sample_project] [pool-3-thread-1] net.bramp.ffmpeg.RunProcessFunction      : ffmpeg -version&#xA;2024-02-28T16:30:53.126&#x2B;05:30  INFO 4711 --- [sample_project] [pool-3-thread-1] net.bramp.ffmpeg.RunProcessFunction      : ffmpeg -y -v error -i src/main/resources/cutted_videos/0_trimmed.mp4 -i src/main/resources/cutted_videos/1_trimmed.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -f mp4 src/main/resources/cutted_videos/stitched_output.mp4&#xA;Filter concat has an unconnected output&#xA;java.lang.RuntimeException: java.io.IOException: ffmpeg returned non-zero exit status. Check stdout.&#xA;

    &#xA;

    I have been trying to fix this since a long time and didn't find any issue with the filter, it is looking good to me. Can anyone help me with it ?

    &#xA;

    EDIT :&#xA;I found that when I use this command in terminal :

    &#xA;

    ffmpeg -i in1.mp4 -i in2.mp4\&#xA;            -filter_complex "[0:v] [0:a] [1:v] [1:a] \&#xA;concat=n=2:v=1:a=1 [v] [a]" \&#xA;            -f mp4  output_test5.mp4&#xA;

    &#xA;

    it didn ;t work&#xA;while when i used this :

    &#xA;

    ffmpeg -i in1.mp4 -i in2.mp4\&#xA;            -filter_complex "[0:v] [0:a] [1:v] [1:a] \&#xA;concat=n=2:v=1:a=1 [v] [a]" \&#xA;            -f mp4 -map "[v]" -map "[a]" output_test4.mp4&#xA;

    &#xA;

    it worked. I think i need to add -map "[v]" -map "[a]" somehow in the code.

    &#xA;

    but when i try to add :&#xA;builder.setComplexFilter(complexFilter.toString())&#xA;.addOutput(stitchedOutputPath)&#xA;.setFormat("mp4")&#xA;.map()&#xA;.done() ;

    &#xA;

    or

    &#xA;

    builder.setComplexFilter(complexFilter.toString())&#xA;.addOutput(stitchedOutputPath)&#xA;.setFormat("mp4")&#xA;.setMap()&#xA;.done() ;

    &#xA;

    both .set() or setMap() doesn't exist. What to do, how to do ?

    &#xA;

  • Evolution #4462 (Nouveau) : Rendu du plan

    20 mars 2020, par jluc -

    Sur la page ?exec=plan on peut déployer l’arborescence des rubriques. Il y a toutefois un déficit d’indications visuelles sur cette possibilité car
    - lorsqu’on hover le nom d’une rubrique, le style change et on sait qu’on peut cliquer, mais lorsqu’on clique sur le nom d’une rubriques on est projeté vers la page de cette rubrique, dans le même onglet
    - il y a bien un minitruc pâlot triangulaire à gauche, mais il ne change pas de style au survol (à part le pointeur de la souris) et sa minitaille et son faible contraste n’invitent pas au survol, et le simple changement de curseur invite mal au clic. C’est pourtant lui qu’il faut cliquer pour déployer la rubrique.

    Il serait utile de bénéficier d’indications plus claires facilitant l’usage de l’arbre du plan.
    - peut être un ’+’ plus gros et plus contrasté que ce triangle
    - et en tout cas, un changement d’apparence au survol (+ un title ?)
    - une indication textuelle sur ce que permet cette page (le compagnon le fait il déjà peut être ?). Par exemple "Vous pouvez déployer les rubriques en cliquant le + ou le triangle à gauche, et vous pouvez déplacer les rubriques et leur contenu dans l’arborescence par glisser-déposer"

  • ffmpeg azure function consumption plan low CPU availability for high volume requests

    27 novembre 2017, par The Lemon

    I am running an azure queue function on a consumption plan ; my function starts an FFMpeg process and accordingly is very CPU intensive. When I run the function with less than 100 items in the queue at once it works perfectly, azure scales up and gives me plenty of servers and all of the tasks complete very quickly. My problem is once I start doing more than 300 or 400 items at once, it starts fine but after a while the CPU slowly goes from 80% utilisation to only around 10% utilisation - my functions cant finish in time with only 10% CPU. This can be seen in the image shown below.
    Does anyone know why the CPU useage is going lower the more instances my function creates ? Thanks in advance Cuan

    edit : the function is set to only run one at a time per instance, but the problem exists when set to 2 or 3 concurrent processes per instance in the host.json

    edit : the CPU drops get noticeable at 15-20 servers, and start causing failures at around 60. After that the CPU bottoms out at an average of 8-10% with individuals reaching 0-3%, and the server count seems to increase without limit (which would be more helpful if I got some CPU with the servers)

    Thanks again, Cuan.

    I’ve also added the function code to the bottom of this post in case it helps.

    live metrics cpu

    CPU useageg

    using System.Net;
    using System;
    using System.Diagnostics;
    using System.ComponentModel;

    public static void Run(string myQueueItem, TraceWriter log)
    {
       log.Info($"C# Queue trigger function processed a request: {myQueueItem}");
       //Basic Parameters
           string ffmpegFile = @"D:\home\site\wwwroot\CommonResources\ffmpeg.exe";
           string outputpath = @"D:\home\site\wwwroot\queue-ffmpeg-test\output\";
           string reloutputpath = "output/";
           string relinputpath = "input/";
           string outputfile = "video2.mp4";
           string dir =  @"D:\home\site\wwwroot\queue-ffmpeg-test\";

       //Special Parameters

           string videoFile = "1 minute basic.mp4";
           string sub = "1 minute sub.ass";
       //guid tmp files

           // Guid g1=Guid.NewGuid();
           // Guid g2=Guid.NewGuid();
           // string f1 = g1 + ".mp4";
           // string f2 = g2 + ".ass";
           string f1 = videoFile;
           string f2 = sub;
       //guid output - we will now do this at the caller level
           string g3 = myQueueItem;
           string outputGuid = g3+".mp4";
       //get input files
       //argument
           string tmp = subArg(f1, f2, outputGuid );
       //String.Format("-i \"" + @"input/tmp.mp4" + "\" -vf \"ass = '" + sub + "'\" \"" + reloutputpath +outputfile + "\" -y");
       log.Info("ffmpeg argument is: "+tmp);


       //startprocess parameters
       Process process = new Process();
       process.StartInfo.FileName = ffmpegFile;
       process.StartInfo.Arguments =  tmp;
       process.StartInfo.UseShellExecute = false;
       process.StartInfo.RedirectStandardOutput = true;
       process.StartInfo.RedirectStandardError = true;
       process.StartInfo.WorkingDirectory = dir;
       //output handler

       process.OutputDataReceived += new DataReceivedEventHandler(
           (s, e) =>
           {
               log.Info("O: "+e.Data);
           }
       );
       process.ErrorDataReceived += new DataReceivedEventHandler(
           (s, e) =>
           {
               log.Info("E: "+e.Data);
           }
       );
       //start process
       process.Start();
       log.Info("process started");
       process.BeginOutputReadLine();
       process.BeginErrorReadLine();
       process.WaitForExit();
    }
    public static void getFile(string link, string fileName, string dir, string relInputPath){
       using (var client = new WebClient()){
           client.DownloadFile(link, dir + relInputPath+ fileName);
           }

    }
    public static string subArg(string input1, string input2, string output1){
       return String.Format("-i \"" + @"input/" +input1+ "\" -vf \"ass = '" + @"input/"+input2 + "'\" \"" + @"output/" +output1 + "\" -y");

    }