
Recherche avancée
Médias (91)
-
999,999
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Demon seed (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
The four of us are dying (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Corona radiata (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Lights in the sky (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (26)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...) -
Sélection de projets utilisant MediaSPIP
29 avril 2011, parLes exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
Ferme MediaSPIP @ Infini
L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)
Sur d’autres sites (3522)
-
Evolution #3091 (Nouveau) : Eviter le timout d’un article qui contient trop de ou
13 novembre 2013, par - EquipementBonjour,
Un rédacteur a mis plusieurs centaines de DANS LE TEXTE d’un article, ce qui s’est traduit par un timeout lors de l’affichage de l’article.
Si les documents ne sont pas dans le texte de l’article, cela ne pose pas de problème.Le rédacteur ne peut pas deviner que, lors du calcul de la page, SPIP va calculer autant de fois le squelette doc.html qu’il y a de dans le texte de l’article, ce qui augmente le temps de traitement.
Aussi, une idée consisterait à ce que SPIP informe le rédacteur, au moment de l’enregistrement de son article, si ce dernier dépasse la limite du nombre maximal de ou p>
if (defined(’_MAX_INCLURE_MODELES’) AND intval(_MAX_INCLURE_MODELES)>0) $texte = _request(’texte’) ; if (strpos($texte,"<") !==false) if (preg_match_all(’/<[a-z_-]3,\s*[0-9|]+/iS’, $texte, $matches, PREG_SET_ORDER)>intval(_MAX_INCLURE_MODELES)) $erreurs[’texte’] = _T(’info_trop_de_modeles’) ;
Comme cette fonction formulaires_editer_article_verifier_dist restera sans effet pour les articles déjà existants et que l’on ne modifie pas, il est intéressant d’intervenir également sur la fonction inclure_modele. Il s’agit de faire en sorte que la page s’affiche avec tout le texte de l’article, mais celui-ci contiendrait uniquement les _MAX_INCLURE_MODELES premiers documents (ou images ou ...).
Le début de la fonction de SPIP « inclure_modele » se verrait ainsi ajouter les 2 lignes ci-dessous qui portent sur $compteur_total (à noter que $compteur existe déjà actuellement pour les modèles inconnus, et est décrémenté plus loin dans la fonction si le modèle est connu) :
function inclure_modele($type, $id, $params, $lien, $connect=’’)
static $compteur ;
static $compteur_total ;
if (++$compteur>10) return ’’ ; # ne pas boucler indefiniment
if (defined(’_MAX_INCLURE_MODELES’) AND intval(_MAX_INCLURE_MODELES)>0 AND ++$compteur_total>intval(_MAX_INCLURE_MODELES)) return ’’ ;Cordialement
Equipement -
NodeJS fluent-ffmpeg error : Output stream closed
30 décembre 2020, par Japser36We are running a NodeJS server that does some audio processing. Specifically, we have audio data returned by google's text to speech API, which we have in the form of a Buffer.


In our application, we have to send this audio data through FFMPEG to format it and extract audio duration. We do this by first converting it into a stream, piping it into ffmpeg, and then storing the data in an output buffer :


const toWav = function (input: Buffer): Promise<buffer> {
 return new Promise((res, rej): void => {
 const bufs = [];
 const myReadable = new Readable();
 myReadable._read = (): void => {}; // we already have all data in memory, so no-op this function;
 myReadable.push(input); // stream all data in the buffer to the stream
 myReadable.push(null); // end the stream
 const output = ffmpeg(myReadable)
 .inputFormat('mp3')
 .toFormat('wav')
 .on('start', function (commandLine) {
 console.log('SPAWNED ARG: ' + commandLine);
 })
 .on('error', (err: object): void => {
 console.error('FFMPEG error on wav transform');
 rej(err);
 })
 .on('end', (): void => {
 console.debug('FFMPEG finished wav transform');
 res(Buffer.concat(bufs));
 })
 .pipe();
 output.on('data', (d: object): void => {
 bufs.push(d);
 });
 });
};
</buffer>


This code is one of our functions that does the formatting, that our data gets passed through. Most of the time, this code works fine, but sometimes an error is thrown :


Looking up this error on google, I found an issue on the FFMPEG library we use, that seems to suggest that using an input and output stream just isn't recommended and doesn't work. Rather, one of the two needs to be a file resource.


Some more about this error, it seems to happen consistently when it does happen, but it doesn't happen consistently overall. For me, I got this error every time the code ran, I went and took lunch, and when I came back it was gone.


For us it is important that this error won't pop up randomly in production, so the question is, does anyone have any suggestions on how we can be the most certain this error won't happen ?


For completeness in how this function is being invoked to result in the error in the screenshot, the structure of the code where the error is caught is like so :


await Promise.all(
 myArray.map(async (item, idx) => {
 // ...
 const wavBuffer = await toWav(myBuffer); // toWav is invoked at this level
 })
)
.then(() => {/* ... */})
.catch((e) => {
 // ...
 logger.error('[LOOP CRASH] Error at main promise:', e);
 // ...
});



Any help would be appreciated, thank you ! Please let me know if I can provide more details, though I cannot share a repo or full source code or anything since this is a private repo.


-
Debugging Video Frame Differences
14 mai 2014, par jvenemaI’m trying to decode an h264-encoded video frame using a decoder that has fairly limited capabilities (Broadway JS).
Here’s the process I’m using for testing :
- Encode single image using h264 (output is 62KB) using OpenH264 from Cisco, write to disk
- Read file as binary in JS (loaded via XHR)
- Decode in JS using Broadway
- Display in canvas
I actually have a functional example of this, but there’s a manual step at the moment between steps 1 and 2 - I have to call FFMPEG to force a small translation, and I can’t figure out why.
I have successfully integrated Cisco’s Openh264 library into my project, and can encode the image as h264 and write it to disk. I’ve confirmed the encoding itself is valid by using FFMPEG to extract the frame back out as a JPEG (looks perfect).
But, to make the frame decode properly in JS, I have to do a conversion using FFMPEG. It does some magic, the file size drops to 58KB, and voila, everything starts working.
The Openh264 libraries only work with the baseline configuration, so I’m assuming I have some other random parameter set incorrectly. Problem is, if I use ffprobe to compare the frames - the settings are identical ! But the file sizes are different, so obviously something is different.
So now the final question - what tool can I use to truly see what FFMPEG is doing behind the scenes here to make my "manually" encoded frame work ? Is there a tool that will let me compare all the details of two h264 frames ?