
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (87)
-
L’agrémenter visuellement
10 avril 2011MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté. -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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 (11170)
-
Add support for building fuzzer tools for an individual demuxer
10 octobre 2020, par Michael Niedermayer -
How to generate a GIF thumbnail from a video without saving individual frames to disk ?
12 mars 2023, par Rabie DaddiI have a Node.js script that uses fluent-FFmpeg to generate a GIF thumbnail from a video for the first 4 seconds. Currently, the script saves individual frames as PNG images to disk, and then reads them back in to generate the GIF. However, this creates a lot of unnecessary I/O.


Is there a way to modify the script to generate the GIF directly from the video frames, without saving them to disk first ? Ideally, I would like to do this while still using FFmpeg for the processing.


Here's the current code for generating the frames and the GIF :


function generateFrames(videoUrl) {
 return new Promise((resolve, reject) => {
 ffmpeg(videoUrl)
 .setStartTime(0) // start at 0 seconds
 .setDuration(4) // cut 4 seconds
 .videoFilters('scale=if(gte(iw\\,ih)\\,min(600\\,iw)\\,-2):if(lt(iw\\,ih)\\,min(600\\,ih)\\,-2)')
 .fps(4)
 .output('output/img%04d.png') // output file pattern with %04d indicating a sequence number with four digits
 .on('end', () => {
 console.log('GIF generated successfully!');
 resolve()
 })
 .on('error', (err) => {
 console.log('Error generating GIF: ' + err.message);
 reject()
 })
 .run();
 });
}

function generateGif() {
 const inputPattern = 'output/img%04d.png';
 const outputFilename = 'output/output2.gif';

 ffmpeg(inputPattern)
 .inputFPS(9)
 .output(outputFilename)
 .on('error', (err) => {
 console.log('Error generating GIF: ' + err.message);
 })
 .run();
}


execute = async () => {
 await generateFrames('video.mp4')
 generateGif()
}

execute()



Any help or suggestions would be greatly appreciated. Thank you !


-
Evolution #4063 : Position de la prévisualisation / ergo presentation formulaire forum
12 février 2021, par b bmais le rendu est encore vraiment moyen, on a des kilometres de blanc entre "Un message un commentaire" et les checkbox de mots cles parce que les fieldset ont des tonnes de margin partout et s’enchainent.
Je ne vois pas où est la prévisu dans ton image....
Et puis bon, l’exemple tiré par les cheveux avec 48 mots clés affichés dans le forum est certainement bien loin du cas d’usage "classique", non ?