Recherche avancée

Médias (0)

Mot : - Tags -/diogene

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

Autres articles (96)

  • Taille des images et des logos définissables

    9 février 2011, par

    Dans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
    Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

Sur d’autres sites (10917)

  • How do I fix HTTP 404 error message using FFMPEG command ? [on hold]

    18 décembre 2018, par Noob

    I am trying to download a video from this site (https://ffmovies.ru/film/night-school.kk6y4/16qmpp) and have tried using ffmpeg but it always returns an "HTTP Error 404 Forbidden." I’ve also tried using the wget command to consolidate all the ts files but that didn’t work either (I get the same error message). I am not on expert in this and was hoping someone out there can help me fix this problem. Here is the ffmpeg code that I inputed :

    ffmpeg -i https://cdn.mcloud.to/stream/sf:i0:q2:h5:p23:l1/vtYB9rGpyklG1sxXqgdmXg/1545238800/g/9/b/pj11w4/hls/480/480.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4

    I have also attached a picture of the error message for reference. I really appreciate someone showing me what I am doing wrong.

    Cheers.

  • Bump minor versions again on master to keep 4.2 versions separate from master

    21 juillet 2019, par Michael Niedermayer
    Bump minor versions again on master to keep 4.2 versions separate from master
    

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

    • [DH] libavcodec/version.h
    • [DH] libavdevice/version.h
    • [DH] libavfilter/version.h
    • [DH] libavformat/version.h
    • [DH] libavutil/version.h
    • [DH] libpostproc/version.h
    • [DH] libswresample/version.h
    • [DH] libswscale/version.h
  • How to set up my complex filter with zoompan and xfade for ffmpeg using Fluent-FFmpeg .complexFilter method ?

    21 août 2024, par Rémy Groleau

    I'm using fluent-ffmpeg with Node.js. My problem is the setup of my complex filter.

    &#xA;

    const filters = Array.from({ length: imageCount - 1 }).map((_, i) => {&#xA;        const rndInt = Math.floor(Math.random() * 1000) &#x2B; 1&#xA;&#xA;        return {&#xA;            zoompanFilter1: {&#xA;                filter: &#x27;zoompan&#x27;,&#xA;                options: {&#xA;                    z: &#x27;min(zoom&#x2B;0.001,1.3)&#x27;,&#xA;                    d: `${imageDuration * 60}`, &#xA;                    x: `iw/2-iw*(1/2-${rndInt}/100)*iw/zoom`, &#xA;                    y: `ih/2-ih*(1/2-${rndInt}/100)*ih/zoom`, &#xA;                    s: &#x27;1080x1920&#x27;, // Output size&#xA;                    fps: &#x27;60&#x27;&#xA;                },&#xA;                inputs: `[${i}:v]`,&#xA;                outputs: `zoomed${i}`&#xA;            },&#xA;            zoompanFilter2: {&#xA;                filter: &#x27;zoompan&#x27;,&#xA;                options: {&#xA;                    z: &#x27;min(zoom&#x2B;0.001,1.3)&#x27;, &#xA;                    d: `${imageDuration * 60}`, &#xA;                    x: &#x27;iw/2-iw*(1/2-33/100)*iw/zoom&#x27;,&#xA;                    y: &#x27;ih/2-ih*(1/2-33/100)*ih/zoom&#x27;,&#xA;                    s: &#x27;1080x1920&#x27;, // Output size&#xA;                    fps: &#x27;60&#x27;&#xA;                },&#xA;                inputs: [`${i &#x2B; 1}:v`],&#xA;                outputs: `zoomed${i &#x2B; 1}`&#xA;            },&#xA;            xfadeFilter: {&#xA;                filter: &#x27;xfade&#x27;,&#xA;                options: {&#xA;                    transition: &#x27;fade&#x27;, // Crossfade transition effect&#xA;                    duration: &#x27;0.5&#x27;, // Duration of crossfade in seconds&#xA;                    offset: `${imageDuration - 1}` // Offset to start the crossfade&#xA;                },&#xA;                inputs: [`zoomed${i &#x2B; 1}`, `zoomed${i}`],&#xA;                outputs: `crossfaded${i}`&#xA;            },&#xA;        };&#xA;    });&#xA;

    &#xA;

    This is my complete code :

    &#xA;

    async function createVideo() {&#xA;    // Escape file paths for Windows&#xA;    const videoPath = path.resolve(__dirname&#x2B; &#x27;/output.mp4&#x27;).replace(/\\/g, &#x27;\\\\&#x27;);&#xA;    const audioPath = path.resolve(__dirname&#x2B; &#x27;/output.mp3&#x27;).replace(/\\/g, &#x27;\\\\&#x27;);&#xA;    const backgroundMusicPath = path.resolve(__dirname&#x2B; &#x27;/background-music.mp3&#x27;).replace(/\\/g, &#x27;\\\\&#x27;);&#xA;&#xA;    const command = ffmpeg();&#xA;&#xA;    const imagesDir = path.join(__dirname, &#x27;images&#x27;);&#xA;    const images = fs.readdirSync(imagesDir)&#xA;        .filter(file => /.(jpg|jpeg|png)$/i.test(file)) // Filter image files&#xA;        .sort() // Sort filenames to ensure the correct order&#xA;        .map(file => path.join(imagesDir, file));&#xA;&#xA;        images.map((image) => command.input(image))&#xA;&#xA;    const imageCount = images.length;&#xA;    const audioDuration = await getAudioDurationInSeconds(audioPath);&#xA;    const imageDuration =  Math.round(audioDuration / imageCount)&#xA;&#xA;    const filters = Array.from({ length: imageCount - 1 }).map((_, i) => {&#xA;        const rndInt = Math.floor(Math.random() * 1000) &#x2B; 1&#xA;&#xA;        return {&#xA;            zoompanFilter1: {&#xA;                filter: &#x27;zoompan&#x27;,&#xA;                options: {&#xA;                    z: &#x27;min(zoom&#x2B;0.001,1.3)&#x27;, // Reset zoom to 1.0&#xA;                    d: `${imageDuration * 60}`, // Duration of the zoom effect&#xA;                    x: `iw/2-iw*(1/2-${rndInt}/100)*iw/zoom`, // Center x&#xA;                    y: `ih/2-ih*(1/2-${rndInt}/100)*ih/zoom`, // Center y&#xA;                    s: &#x27;1080x1920&#x27;, // Output size&#xA;                    fps: &#x27;60&#x27;&#xA;                },&#xA;                inputs: `[${i}:v]`,&#xA;                outputs: `zoomed${i}`&#xA;            },&#xA;            zoompanFilter2: {&#xA;                filter: &#x27;zoompan&#x27;,&#xA;                options: {&#xA;                    z: &#x27;min(zoom&#x2B;0.001,1.3)&#x27;, // Reset zoom to 1.0&#xA;                    d: `${imageDuration * 60}`, // Duration of the zoom effect&#xA;                    x: &#x27;iw/2-iw*(1/2-33/100)*iw/zoom&#x27;, // Center x&#xA;                    y: &#x27;ih/2-ih*(1/2-33/100)*ih/zoom&#x27;, // Center y&#xA;                    s: &#x27;1080x1920&#x27;, // Output size&#xA;                    fps: &#x27;60&#x27;&#xA;                },&#xA;                inputs: [`${i &#x2B; 1}:v`],&#xA;                outputs: `zoomed${i &#x2B; 1}`&#xA;            },&#xA;            xfadeFilter: {&#xA;                filter: &#x27;xfade&#x27;,&#xA;                options: {&#xA;                    transition: &#x27;fade&#x27;, // Crossfade transition effect&#xA;                    duration: &#x27;0.5&#x27;, // Duration of crossfade in seconds&#xA;                    offset: `${imageDuration - 1}` // Offset to start the crossfade&#xA;                },&#xA;                inputs: [`zoomed${i &#x2B; 1}`, `zoomed${i}`],&#xA;                outputs: `crossfaded${i}`&#xA;            },&#xA;        };&#xA;    });&#xA;&#xA;    command&#xA;    .input(audioPath)&#xA;    .input(backgroundMusicPath)&#xA;    .outputOptions([&#xA;        &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;,&#xA;        &#x27;-c:v&#x27;, &#x27;libx264&#x27;,&#xA;        &#x27;-c:a&#x27;, &#x27;aac&#x27;,&#xA;        &#x27;-y&#x27;,&#xA;        &#x27;-t&#x27;, `${audioDuration}`,&#xA;        &#x27;-r&#x27;, &#x27;60&#x27;,&#xA;        &#x27;-s&#x27;, &#x27;1080x1920&#x27;,&#xA;        &#x27;-preset&#x27;, &#x27;ultrafast&#x27;,&#xA;        &#x27;-map&#x27;, &#x27;[final_video]&#x27;,&#xA;        &#x27;-map&#x27;, &#x27;[mixed_audio]&#x27;,&#xA;    ])&#xA;    .complexFilter([&#xA;        // Apply zoompan filters and xfade transitions&#xA;        ...filters.flatMap(({ zoompanFilter1, zoompanFilter2, xfadeFilter }) => [&#xA;            zoompanFilter1,&#xA;            zoompanFilter2,&#xA;            xfadeFilter,&#xA;        ]),&#xA;        {&#xA;            filter: &#x27;concat&#x27;,&#xA;            options: {&#xA;                n: imageCount - 1, // Number of videos to concatenate&#xA;                v: 1, // Video streams&#xA;                a: 0 // No audio streams&#xA;            },&#xA;            inputs: filters.map((_, i) => `crossfaded${i}`),&#xA;            outputs: &#x27;video_sequence&#x27;&#xA;        },&#xA;        {&#xA;            filter: &#x27;curves&#x27;,&#xA;            options: &#x27;preset=increase_contrast&#x27;,&#xA;            inputs: &#x27;video_sequence&#x27;,&#xA;            outputs: &#x27;curves&#x27;&#xA;        },&#xA;        {&#xA;            filter: &#x27;subtitles&#x27;,&#xA;            options: `./subtitles.ass:fontsdir=./fonts/:force_style=&#x27;FontName=Montserrat Black Italic,FontSize=17,MarginL=10,MarginV=25,Alignment=10,Spacing=0.2,Outline=0.1,Shadow=1.5&#x27;`,&#xA;            inputs: &#x27;[curves]&#x27;,&#xA;            outputs: &#x27;final_video&#x27;&#xA;        },&#xA;        {&#xA;            filter: &#x27;volume&#x27;,&#xA;            options: 0.3,  // Adjust the volume to 25% of the original&#xA;            inputs: `${imageCount &#x2B; 1}:a`,&#xA;            outputs: &#x27;background_music_adjusted&#x27;&#xA;        },&#xA;        // Apply the amix filter to mix the two audio inputs&#xA;        {&#xA;            filter: &#x27;amix&#x27;,&#xA;            options: {&#xA;                inputs: 2,&#xA;                duration: &#x27;first&#x27;,&#xA;                dropout_transition: 0,&#xA;                weights: &#x27;1 0.25&#x27;,&#xA;                normalize: 0&#xA;            },&#xA;            inputs: [`${imageCount}:a`, &#x27;background_music_adjusted&#x27;],&#xA;            outputs: &#x27;mixed_audio&#x27;&#xA;        },&#xA;      ])&#xA;    .save(videoPath)&#xA;    .on(&#x27;progress&#x27;, function(progress) {&#xA;        console.log(&#x27;Processing: &#x27; &#x2B; progress.percent &#x2B; &#x27;% done&#x27;);&#xA;      })&#xA;    .on(&#x27;end&#x27;, function(stdout, stderr) {&#xA;        // emptyFolder(imagesDir)&#xA;        console.log(&#x27;Transcoding succeeded !&#x27;);&#xA;      }) &#xA;    .on(&#x27;error&#x27;, function(err) {&#xA;        console.error(&#x27;Une erreur s\&#x27;est produite :&#x27;, err.message);&#xA;    });&#xA;}&#xA;

    &#xA;

    My problem is I see the 1 image then the transition and i see the 2 image. After that I'm supposed to see the 3 image but I see the 2 image.

    &#xA;

    What am I doing wrong ?

    &#xA;

    I tried switching the inputs: [`zoomed${i &#x2B; 1}`, `zoomed${i}`] to inputs: [`zoomed${i}`, `zoomed${i&#x2B;1}`] but it just showed the next image and not a loop of consecutive images.

    &#xA;