Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (51)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (10014)

  • Significantly different scores when calculating VMAF for the whole video vs individual frames [closed]

    24 octobre 2024, par YG1992

    Suppose 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)

    


  • Add support for building fuzzer tools for an individual demuxer

    10 octobre 2020, par Michael Niedermayer
    Add support for building fuzzer tools for an individual demuxer
    

    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] Makefile
    • [DH] tools/Makefile
    • [DH] tools/target_dem_fuzzer.c
  • How to generate a GIF thumbnail from a video without saving individual frames to disk ?

    12 mars 2023, par Rabie Daddi

    I 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.

    &#xA;

    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.

    &#xA;

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

    &#xA;

    function generateFrames(videoUrl) {&#xA;  return new Promise((resolve, reject) => {&#xA;    ffmpeg(videoUrl)&#xA;      .setStartTime(0) // start at 0 seconds&#xA;      .setDuration(4) // cut 4 seconds&#xA;      .videoFilters(&#x27;scale=if(gte(iw\\,ih)\\,min(600\\,iw)\\,-2):if(lt(iw\\,ih)\\,min(600\\,ih)\\,-2)&#x27;)&#xA;      .fps(4)&#xA;      .output(&#x27;output/img%04d.png&#x27;) // output file pattern with %04d indicating a sequence number with four digits&#xA;      .on(&#x27;end&#x27;, () => {&#xA;        console.log(&#x27;GIF generated successfully!&#x27;);&#xA;        resolve()&#xA;      })&#xA;      .on(&#x27;error&#x27;, (err) => {&#xA;        console.log(&#x27;Error generating GIF: &#x27; &#x2B; err.message);&#xA;        reject()&#xA;      })&#xA;      .run();&#xA;  });&#xA;}&#xA;&#xA;function generateGif() {&#xA;  const inputPattern = &#x27;output/img%04d.png&#x27;;&#xA;  const outputFilename = &#x27;output/output2.gif&#x27;;&#xA;&#xA;  ffmpeg(inputPattern)&#xA;    .inputFPS(9)&#xA;    .output(outputFilename)&#xA;    .on(&#x27;error&#x27;, (err) => {&#xA;      console.log(&#x27;Error generating GIF: &#x27; &#x2B; err.message);&#xA;    })&#xA;    .run();&#xA;}&#xA;&#xA;&#xA;execute = async () => {&#xA;  await generateFrames(&#x27;video.mp4&#x27;)&#xA;  generateGif()&#xA;}&#xA;&#xA;execute()&#xA;

    &#xA;

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

    &#xA;