Recherche avancée

Médias (91)

Autres articles (102)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (8995)

  • ffmpg android command gives error

    14 décembre 2015, par Mubina Shaikh

    I am overlaying gif on video in android and using ffmpg wrapper
    my command is

           String vidpath=Environment.getExternalStorageDirectory()+"/WhatsApp/Media/WhatsApp Video/vid.mp4";
           String gifpath=Environment.getExternalStorageDirectory()+"/WhatsApp/Media/WhatsApp Video/vid.gif";
           String outpath=Environment.getExternalStorageDirectory()+"/out.mp4";
            ffmpeg.execProcess(new String[]{
               ffmpegBin,
               "-i",
               vidpath,
               "-i",
               gifpath,
               "-filter_complex",
               "\"overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/2\"",
               //"640x388",
               out_video_path




           },sc);

    my execProcess method is

    public void execProcess( String[] cmds, ShellCallback sc) throws Exception {        


           ProcessBuilder pb = new ProcessBuilder(cmds);
           pb.redirectErrorStream(true);
           Process process = pb.start();      

           BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));

           String line;


           /*switch(command_call_type)
           {
           case Keys.KEY_COMMANDEXE_TYPE_MERGEFRAME:

           //  refincereference.updateLoadingbar(30);
               break;

           }*/

           while ((line = reader.readLine()) != null)
           {
               if (sc != null)
               {
                   sc.shellOut(line.toCharArray());

               Log.e("FFMPEG", line.toCharArray()+"");


               }
           }



           /*switch(command_call_type)
           {
           case Keys.KEY_COMMANDEXE_TYPE_MERGEFRAME:

               //refincereference.updateLoadingbar(40);
               break;

           case Keys.KEY_COMMANDEXE_TYPE_CLIPMP3:
               //refincereference.updateLoadingbar(60);
               break;
           case Keys.KEY_COMMANDEXE_TYPE_MP3TOM4A:
               //refincereference.updateLoadingbar(80);
           break;

           }*/


           /*
           if (process != null) {
               process.destroy();        
           }*/

    }

    and error comes written in line object that no such file or directory
    But it always gives error that gif file does not exist i have checked it wit FIle.exist() also though it gives error please help me out

  • avutil/threadmessage : split the pthread condition in two

    1er décembre 2015, par Clément Bœsch
    avutil/threadmessage : split the pthread condition in two
    

    Fix a dead lock under certain conditions. Let’s assume we have a queue of 1
    message max, 2 senders, and 1 receiver.

    Scenario (real record obtained with debug added) :
    [...]
    SENDER #0 : acquired lock
    SENDER #0 : queue is full, wait
    SENDER #1 : acquired lock
    SENDER #1 : queue is full, wait
    RECEIVER : acquired lock
    RECEIVER : reading a msg from the queue
    RECEIVER : signal the cond
    RECEIVER : acquired lock
    RECEIVER : queue is empty, wait
    SENDER #0 : writing a msg the queue
    SENDER #0 : signal the cond
    SENDER #0 : acquired lock
    SENDER #0 : queue is full, wait
    SENDER #1 : queue is full, wait

    Translated :
    - initially the queue contains 1/1 message with 2 senders blocking on
    it, waiting to push another message.
    - Meanwhile the receiver is obtaining the lock, read the message,
    signal & release the lock. For some reason it is able to acquire the
    lock again before the signal wakes up one of the sender. Since it
    just emptied the queue, the reader waits for the queue to fill up
    again.
    - The signal finally reaches one of the sender, which writes a message
    and then signal the condition. Unfortunately, instead of waking up
    the reader, it actually wakes up the other worker (signal = notify
    the condition just for 1 waiter), who can’t push another message in
    the queue because it’s full.
    - Meanwhile, the receiver is still waiting. Deadlock.

    This scenario can be triggered with for example :
    tests/api/api-threadmessage-test 1 2 100 100 1 1000 1000

    One working solution is to make av_thread_message_queue_send,recv()
    call pthread_cond_broadcast() instead of pthread_cond_signal() so both
    senders and receivers are unlocked when work is done (be it reading or
    writing).

    This second solution replaces the condition with two : one to notify the
    senders, and one to notify the receivers. This prevents senders from
    notifying other senders instead of a reader, and the other way around.
    It also avoid broadcasting to everyone like the first solution, and is,
    as a result in theory more optimized.

    • [DH] libavutil/threadmessage.c
  • Setting UseShellExecute = false doesn't work in Process.Start

    5 décembre 2015, par Alex Jolig

    There’s a good Q&A about hiding shell execute when running a process which led me to write my own code using ffmpeg :

    Process proc = new Process();
    proc.StartInfo.FileName = "ffmpeg";
    proc.StartInfo.Arguments = string.Format("-ss {0} -i \"{1}\" -t {2}{3} DB\\Media\\{4}{5} -y",
        TimeSpan.Parse(row.Cells["StartdgvList"].Value.ToString()),
        openFileDialog.FileName, _durationTime, quality, newTmpSound,
        GetExtension(openFileDialog.FileName));
    proc.StartInfo.RedirectStandardError = true;
    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.CreateNoWindow = true;
    if (!proc.Start()) return;
    StreamReader reader = proc.StandardError;
    string line;
    while ((line = reader.ReadLine()) != null && !_cancel)
    {
     //Doing something with process line
    }
    proc.Close();

    This works fine, But when I run it in a few user machines, it just stops working with no error.

    I tried removing lines which hides shell window and turned it to this :

    Process proc = new Process();
    proc.StartInfo.FileName = "ffmpeg";
    proc.StartInfo.Arguments = string.Format("-ss {0} -i \"{1}\" -t {2}{3} DB\\Media\\{4}{5} -y",
        TimeSpan.Parse(row.Cells["StartdgvList"].Value.ToString()),
        openFileDialog.FileName, _durationTime, quality, newTmpSound,
        GetExtension(openFileDialog.FileName));
    if (!proc.Start()) return;
    proc.Close();

    and it start working in all the machines.

    I’m wondering if there’s some sort of service or components missing in some machines which makes the process fails when console is hiding.

    I appreciate if anyone has any idea.

    P.S : I installed Visual Studio 2012 on a machine which has problem hiding shell window and it suddenly start working. Maybe VS2012 installed somwthing on the machine which solved the problem.