
Recherche avancée
Autres articles (95)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 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 (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, 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 (...)
Sur d’autres sites (7901)
-
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 !


-
Add support for building fuzzer tools for an individual demuxer
10 octobre 2020, par Michael Niedermayer -
Significantly different scores when calculating VMAF for the whole video vs individual frames [closed]
24 octobre 2024, par YG1992Suppose i have a raw video 'encoded_raw.yuv' and 'original_raw.yuv' on YUV420p. I am getting significantly different results when im calculating VMAF using both methods


Method 1


$ ffmpeg -s widthxheight -pix_fmt yuv420p -i .\encoded_raw.yuv -s widthxheight -pix_fmt yuv420p -i .\original_raw.yuv -lavfi libvmaf=log_path=vmaf_logfile.json:log_fmt=json -f null -



versus Method 2 : extracting the png out of a single frame and computing the VMAF score for the individual frame


$ ffmpeg -video_size widthxheight -i ./encoded_raw.yuv -vf select=eq(n\,1) -vframes 1 -pix_fmt yuv420p encoded_raw_1.png
$ ffmpeg -video_size widthxheight -i ./original_raw.yuv -vf select=eq(n\,1) -vframes 1 -pix_fmt yuv420p original_raw.png
$ ffmpeg -s widthxheight -pix_fmt yuv420p -i .\encoded_raw_1.png -s widthxheight -pix_fmt yuv420p -i .\original_raw.png -lavfi libvmaf=log_path=vmaf_logfile.json:log_fmt=json -f null -`



method 1 vmaf at frame 1 from json = 80


method 2 vmaf = 70


any reason why this is so ?


Note : for moduse this is on topic as this covers
-> software tools commonly used by programmers (ie ffmpeg)