Recherche avancée

Médias (1)

Mot : - Tags -/belgique

Autres articles (77)

  • Organiser par catégorie

    17 mai 2013, par

    Dans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
    Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
    Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

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

Sur d’autres sites (5165)

  • PHP - Read and write the same file hangs

    2 février 2016, par Adracat

    I’m trying to use FFMPEG to make some works with video on the server, and something I need to do is to get the progress of the process.

    I searched a little and I found this solution which tells to write the log into a file and then reading and parsing it.

    The problem

    What is driving me crazy is that I tell FFMPEG - with exec - (process A) to write the log into a file, but when I try to read it - with file_get_contents() - (process B) it does not show the contents until process A is finished (or interrupted the PHP script).

    So, when process A finishes or it says "PHP script timeout", then I can read the file as times as I want, refreshing the page (process B) and showing the contents at the time.

    What I’ve tried

    I’ve tried to use fopen() to create the file with w, w+ and a parameters, using - and without using - fclose(). I’ve tried to use also flock() just in case it gets faster to read to process B if it knows it’s already locked and does not have to wait, but then FFMPEG is not able to write into the file.

    I’ve searched for multithreading too, but I think there must be an easier and simpler way.

    I’ve used also CURL and HTTP context, as this link suggests, but no luck.

    I’ve tried, too, to use PHP-FFMPEG but it’s not supporting the last FFMPEG version, so I cannot use it.

    When I said before "(or interrupted the PHP script)" is because I tried to wait and, when PHP got a timeout, process B worked alright and the file was still updating.

    The code

    Process A (fileA.php)

    exec('ffmpeg -y -i input_file.mp4 output_file.avi 2> C:\Full\Path\To\File\log.txt 1>&2');

    Process B (fileB.php)

    $content = file_get_contents($file);

    if($content){
       //get duration of source
       preg_match("/Duration: (.*?), start:/", $content, $matches);

       $rawDuration = $matches[1];

       //rawDuration is in 00:00:00.00 format. This converts it to seconds.
       $ar = array_reverse(explode(":", $rawDuration));
       $duration = floatval($ar[0]);
       if (!empty($ar[1])) $duration += intval($ar[1]) * 60;
       if (!empty($ar[2])) $duration += intval($ar[2]) * 60 * 60;

       //get the time in the file that is already encoded
       preg_match_all("/time=(.*?) bitrate/", $content, $matches);

       $rawTime = array_pop($matches);

       //this is needed if there is more than one match
       if (is_array($rawTime)){$rawTime = array_pop($rawTime);}

       //rawTime is in 00:00:00.00 format. This converts it to seconds.
       $ar = array_reverse(explode(":", $rawTime));
       $time = floatval($ar[0]);
       if (!empty($ar[1])) $time += intval($ar[1]) * 60;
       if (!empty($ar[2])) $time += intval($ar[2]) * 60 * 60;

       //calculate the progress
       $progress = round(($time/$duration) * 100);

       echo "Duration: " . $duration . "<br />";
       echo "Current Time: " . $time . "<br />";
       echo "Progress: " . $progress . "%";

    }

    The process

    I just open fileA.php on a Chrome tab and, after a few seconds, I open fileB.php on another Chrome tab (and it stays as loading).

    What I need

    I need to be able to load the file and show the information I want to show while the file is being written (by exec and FFMPEG or other PHP scripts), so I can update the progress percentage with some AJAX calls.

    Extra information

    At this point, I’m using PHP 5.4 on a IIS 7.5 with Windows 7 Professional.

    Thank you everyone for your time, help and patience !

    Best regards.

  • Jquery auto-refresh stop refreshing after 10seconds

    11 février 2016, par Mick Jack

    I have this JQuery script to auto refresh every 2seconds after a video is uploaded and retrieve the estimated time needed to process the video with ffmpeg

    However my refresh script stop refreshing after 10-15seconds. i traced the problem to the session_start() ; when i remove this session_start() ; my refresh script work perfectly. what could be the cause and solution here ?

    videoupload.php

    <div title="test">
           <h5>Encoding percentage</h5>
           <code class="echappe-js">&lt;script src=&quot;https://code.jquery.com/jquery-2.1.1.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
    &lt;script&gt;<br />
                   $(&quot;#Submit&quot;).click(function(event){<br />
                   setInterval(function(){<br />
                   $(&quot;#myDiv&quot;).load('progress.php')<br />
                   }, 2000);<br />
                   });<br />
                   &lt;/script&gt;

    Progress.php

    &lt;?php

    $content = @file_get_contents('logfile.txt');

               if($content){
               //get duration of source
               preg_match("/Duration: (.*?), start:/", $content, $matches);

               $rawDuration = $matches[1];

               //rawDuration is in 00:00:00.00 format. This converts it to seconds.
               $ar = array_reverse(explode(":", $rawDuration));
               $duration = floatval($ar[0]);
               if (!empty($ar[1])) $duration += intval($ar[1]) * 60 ;
               if (!empty($ar[2])) $duration += intval($ar[2]) * 60 * 60 * 60;

               //get the time in the file that is already encoded
               preg_match_all("/time=(.*?) bitrate/", $content, $matches);

               $rawTime = array_pop($matches);

               //this is needed if there is more than one match
               if (is_array($rawTime)){$rawTime = array_pop($rawTime);}

               //rawTime is in 00:00:00.00 format. This converts it to seconds.
               $ar = array_reverse(explode(":", $rawTime));
               $time = floatval($ar[0]);
               if (!empty($ar[1])) $time += intval($ar[1]) * 60;
               if (!empty($ar[2])) $time += intval($ar[2]) * 60 * 60;

               //calculate the progress
               $progress = round(($time/$duration) * 100);

               echo "Duration: " . $duration . "<br />";
               echo "Current Time: " . $time . "<br />";
               echo "Progress: " . $progress . "%";

    }

    ?>

    upload.php

    session_start();

    $userID = $_SESSION['login_user'];
    // rest of the code to convert video using ffmpeg
  • Trim video around pixel color at specified coordinate [closed]

    22 février 2020, par Modf

    I have some videos I would like to trim programatically. They have a keyboard/mouse overlay. The overlay changes colour in response to keypresses, for example, when left mouse is pressed, it looks like this :

    enter image description here

    I want to remove all frames from the video except those that are within one second of a left mouse press frame (as pictured above, where the left mouse button is now filled with the yellow colour).

    Can this be achieved with ffmpeg filters ?

  • Boussole SPIP

    SPIP.net-La documentation officielle et téléchargement de (...) SPIP Code-La documentation du code de SPIP Programmer SPIP-La documentation pour développer avec (...) Traduire SPIP-Espace de traduction de SPIP et de ses (...) Plugins SPIP-L'annuaire des plugins SPIP SPIP-Contrib-L'espace des contributions à SPIP Forge SPIP-L'espace de développement de SPIP et de ses (...) Discuter sur SPIP-Les nouveaux forums de la communauté (...) SPIP Party-L'agenda des apéros et autres rencontres (...) Médias SPIP-La médiathèque de SPIP SPIP Syntaxe-Tester l'édition de texte dans SPIP