Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (39)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (9497)

  • Scrolling Effect of an Image using FFmpeg [closed]

    5 juin, par neeebzz

    I want to create an mp4 video of 40 seconds where an image just floats from top to bottom and vice versa.

    


    I am using the following ffmpeg command :

    


    ffmpeg 
    -loop 1 
    -t 40 
    -i ./input.jpg 
    -filter_complex [0]scale=800:-1[s0];[s0]crop=h=450:w=800:x=0:y=(ih-450)*(3*pow(t/40.241\,2) - 2*pow(t/40\,3))[s1];[s1]scale=800:400[s2] 
    -map [s2] 
    -pix_fmt yuv420p 
    -preset medium 
    -r 30 
    -vcodec libx264 
    ./output.mp4 -y


    


    The animation is working as expected however the motion is very jerky. How can I smooth it out ?

    


    Ffmpeg version :

    


    ffmpeg version 5.1.6-0+deb12u1 Copyright (c) 2000-2024 the FFmpeg developers


    


  • How can use ffmpeg in AWS Lambda to clip hls trasnsimision to .mp4

    15 novembre 2024, par Bruno Munné

    The ffmpeg input is through the public url of the bucket, I want to save the output in a tmp.mp4 file and I want to upload this file to the bucket. Locally the ffmpeg command works perfectly, lasting no more than 3 seconds and the output file weighs less than 1MB

    


    export const handler = async (event) => {
    try {
        const { m3u8, offset, duration, signedURL } = event;

        const clipKey = `clip_output.mp4`;
        const clipFilePath = path.join('/tmp', clipKey);

        execSync(`/opt/ffmpeglib/ffmpeg -i ${process.env.URL_CLOUDFLARE}/${m3u8} -ss ${offset} -t ${duration} -c copy -f mp4 ${clipFilePath}`)

        const fileContent = fs.readFileSync(clipFilePath);
        const resSign = await fetch(signedURL, {
            method: "PUT",
            headers: {
                "Content-Type": "application/octet-stream",
            },
            body: fileContent,
        });

        if (!resSign.ok) throw new Error(`Failed to upload file to S3: ${resSign.statusText}`);

        fs.unlinkSync(clipFilePath);

        return {
            statusCode: 200,
            body: JSON.stringify({
                message: 'Clip procesado y subido correctamente',
                clipKey: path.basename(clipFilePath)
            }),
        };
    } catch (error) {
        console.error("Error al procesar el clip:", error);
        return {
            statusCode: 500,
            body: JSON.stringify({ error: error.message }),
        };
    }
};


    


    The error it shows me is the following

    


     at genericNodeError (node:internal/errors:984:15)&#xA;    at wrappedFn (node:internal/errors:538:14)&#xA;    at checkExecSyncError (node:child_process:891:11)&#xA;    at execSync (node:child_process:963:15)&#xA;    at Runtime.handler (file:///var/task/index.js:16:3)&#xA;    at Runtime.handleOnceNonStreaming (file:///var/runtime/index.mjs:1173:29) {&#xA;  status: null,&#xA;  signal: &#x27;SIGSEGV&#x27;,&#xA;  output: [&#xA;    null,&#xA;    <buffer>,&#xA;    <buffer 66="66" 6d="6d" 70="70" 65="65" 67="67" 20="20" 76="76" 72="72" 73="73" 69="69" 6f="6f" 6e="6e" 4e="4e" 2d="2d" 37="37" 31="31" 30="30" 36="36" 34="34" 64="64" 35="35" 33="33" 63="63" 74="74" 61="61" 68="68" 3a="3a" 2f="2f" 1194="1194" more="more" bytes="bytes">&#xA;  ],&#xA;  pid: 13,&#xA;  stdout: <buffer>,&#xA;  stderr: <buffer 66="66" 6d="6d" 70="70" 65="65" 67="67" 20="20" 76="76" 72="72" 73="73" 69="69" 6f="6f" 6e="6e" 4e="4e" 2d="2d" 37="37" 31="31" 30="30" 36="36" 34="34" 64="64" 35="35" 33="33" 63="63" 74="74" 61="61" 68="68" 3a="3a" 2f="2f" 1194="1194" more="more" bytes="bytes">&#xA;}&#xA;ffmpeg version N-71064-gd5e603ddc0-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2024 the FFmpeg developers&#xA;built with gcc 8 (Debian 8.3.0-6)&#xA;configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg&#xA;libavutil      59. 27.100 / 59. 27.100&#xA;libavcodec     61.  9.100 / 61.  9.100&#xA;libavformat    61.  4.100 / 61.  4.100&#xA;libavdevice    61.  2.100 / 61.  2.100&#xA;libavfilter    10.  2.102 / 10.  2.102&#xA;libswscale      8.  2.100 /  8.  2.100&#xA;libswresample   5.  2.100 /  5.  2.100&#xA;libpostproc    58.  2.100 / 58.  2.100&#xA;END RequestId: 2fc8c51e-66c6-4c74-aa9c-fa10c11207a0&#xA;REPORT RequestId: 2fc8c51e-66c6-4c74-aa9c-fa10c11207a0  Duration: 164.82 ms Billed Duration: 165 ms Memory Size: 2048 MB    Max Memory Used: 88 MB  Init Duration: 185.19 ms&#xA;</buffer></buffer></buffer></buffer>

    &#xA;

    Help to resolve it please

    &#xA;

  • How to compress videos on AMD RX 7900 XTX with ffmpeg ? [closed]

    19 novembre 2024, par cprn

    On Nvidia's GTX 1070 I used to do the below command, and it'd produce a way smaller file (often less than half of the original) without any visible degradation (at least for my eyes) :

    &#xA;

    ffmpeg -hwaccel cuda -i file.mp4 -c:v hevc_nvenc -crf 20 file.small.mp4&#xA;

    &#xA;

    Now I switched to AMD's RX 7900 XTX and this command obviously doesn't work.

    &#xA;

    What's the "equivalent" of that command ? As in : getting way smaller file with seemingly no quality loss.

    &#xA;

    What I tried :

    &#xA;

      &#xA;
    1. av1_nvenc ends up in errors :
    2. &#xA;

    &#xA;

    ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi -i file.mp4 -c:v av1_nvenc file.small.mp4&#xA;

    &#xA;

    Impossible to convert between the formats supported by the filter &#x27;Parsed_null_0&#x27; and the filter &#x27;auto_scale_0&#x27;&#xA;[vf#0:0 @ 0x60f7c1aa7d80] Error reinitializing filters!&#xA;[vf#0:0 @ 0x60f7c1aa7d80] Task finished with error code: -38 (Function not implemented)&#xA;[vf#0:0 @ 0x60f7c1aa7d80] Terminating thread with return code -38 (Function not implemented)&#xA;[vost#0:0/av1_nvenc @ 0x60f7c1b10040] Could not open encoder before EOF&#xA;[vost#0:0/av1_nvenc @ 0x60f7c1b10040] Task finished with error code: -22 (Invalid argument)&#xA;[vost#0:0/av1_nvenc @ 0x60f7c1b10040] Terminating thread with return code -22 (Invalid argument)&#xA;[out#0/mp4 @ 0x60f7c1b0d680] Nothing was written into output file, because at least one of its streams received no packets.&#xA;

    &#xA;

      &#xA;
    1. hevc_vaapi goes through the encoding, but produces 20% bigger files instead of smaller :
    2. &#xA;

    &#xA;

    ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi -i file.mp4 -c:v hevc_vaapi file.small.mp4&#xA;

    &#xA;

    No idea what I'm doing. I know next to nothing about video encoding, just what I read in the documentation, and I'm stuck. Also, I'm on Linux, but this shouldn't matter, I think.

    &#xA;

    FFmpeg info :

    &#xA;

    ❯ ffmpeg -version&#xA;ffmpeg version n7.1 Copyright (c) 2000-2024 the FFmpeg developers&#xA;built with gcc 14.2.1 (GCC) 20240910&#xA;configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libdvdnav --enable-libdvdread --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-vulkan&#xA;libavutil      59. 39.100 / 59. 39.100&#xA;libavcodec     61. 19.100 / 61. 19.100&#xA;libavformat    61.  7.100 / 61.  7.100&#xA;libavdevice    61.  3.100 / 61.  3.100&#xA;libavfilter    10.  4.100 / 10.  4.100&#xA;libswscale      8.  3.100 /  8.  3.100&#xA;libswresample   5.  3.100 /  5.  3.100&#xA;libpostproc    58.  3.100 / 58.  3.100&#xA;

    &#xA;