
Recherche avancée
Médias (3)
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (51)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (6815)
-
Revision 116030 : Une branche pour travailler la rééecriture de la partie JS des ...
20 juillet 2019, par maieul@… — LogUne branche pour travailler la rééecriture de la partie JS des
afficher_si. L’idée étant d’avoir un seul script unique, quelque soit le
formulaire, qui tire ses infos depuis le data-afficher-si.
Intérêts :gain de performance
- un seul js en cache
- moins de ligne de code
- on pourra faire les tests conditionnel uniquement pour le champ qui
vient de changer, et pas pour tout les champsgain de lisibilité de code
possibilité de créer des tests unitaires
uniformisation de la syntaxe entre la version PHP et la version JS, en
utilisant le même parseura terme, possibilité d’ajouter deux fonctionnalités :
- MATCH pour des regexp
- TOTAL() pour le nombre de case cocher sur des checkbox multiple
L’objectif de cette branche est déjà la réécriture à fonctionnalité
constante. On mergera (ou plutôt rebasera) dans master/trunk après
retour des gens. -
Revision 116033 : Une branche pour travailler la rééecriture de la partie JS des ...
20 juillet 2019, par maieul@… — LogUne branche pour travailler la rééecriture de la partie JS des
afficher_si. L’idée étant d’avoir un seul script unique, quelque soit le
formulaire, qui tire ses infos depuis le data-afficher-si.
Intérêts :gain de performance
- un seul js en cache
- moins de ligne de code
- on pourra faire les tests conditionnel uniquement pour le champ qui
vient de changer, et pas pour tout les champsgain de lisibilité de code
possibilité de créer des tests unitaires
uniformisation de la syntaxe entre la version PHP et la version JS, en
utilisant le même parseura terme, possibilité d’ajouter deux fonctionnalités :
- MATCH pour des regexp
- TOTAL() pour le nombre de case cocher sur des checkbox multiple
L’objectif de cette branche est déjà la réécriture à fonctionnalité
constante. On mergera (ou plutôt rebasera) dans master/trunk après
retour des gens. -
How do I get the last line of a popen() callback in every iteration ?
29 mai 2017, par MikeI’m trying to create a progress bar with FFMPEG using php and AJAX. When a user uploads a video file I want to be able to display the current percent until completion. I have managed to get everything working but I have one issue.
The data returns what I want, but it also returns all the data from the previous iterations... like it just keeps stacking everything on top rather than flushing out the data from previous iterations. I tried to work with
tail
thinking it would return only the last line, but it did not return anything.Here is the code I’m working with :
encode.php
$video_path = 'test.mp4';
$cmd = 'ffmpeg -i ' . $video_path .' -y -hide_banner output.mp4 2>&1';
while (@ ob_end_flush());
$proc = popen($cmd, 'r');
while (!feof($proc))
{
$file = escapeshellarg(fread($proc, 4096));
//$line = `tail -n 1 $file`; // <-tried this with no luck
echo fread($file, 4096) . "\n";
@ flush();
}
return 'complete';
pclose($proc);The above code returns :
// first iteration
frame= 52 fps= 13 q=29.0 size= 279kB time=00:00:00.10 bitrate=22856.9kbits/s
// second iteration
frame= 52 fps= 13 q=29.0 size= 279kB time=00:00:00.10 bitrate=22856.9kbits/s
frame= 54 fps= 12 q=29.0 size= 329kB time=00:00:00.16 bitrate=16146.6kbits/s
// third iteration
frame= 52 fps= 13 q=29.0 size= 279kB time=00:00:00.10 bitrate=22856.9kbits/s
frame= 54 fps= 12 q=29.0 size= 329kB time=00:00:00.16 bitrate=16146.6kbits/s
frame= 57 fps= 11 q=29.0 size= 464kB time=00:00:00.26 bitrate=14233.2kbits/sAs you can see the data stacks, I need only the new line of data, not the data stacking.
** EDIT ** this has been marked as a duplicate, rather than me explain how it’s different, I’d like to hear how this is the same thing ? I am not writing to a log file and, like most people, do not feel that’s a good solution.