Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (35)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (5843)

  • FFMPEG not found because FFMPEG-binaries is no longer supported

    17 novembre 2019, par brenan patrick

    I have been attempting to create a Discord bot, but it cannot connect to a voice channel because it gives the errorError: FFMPEG not found. Is there a way to get around using FFMPEG-binaries or an older version that I can install manually ?

    const Discord = require('discord.js');
    const {
            prefix,
            token,
    } = require('./config.json');
    const ytdl = require('ytdl-core');

    const client = new Discord.Client();

    const queue = new Map();

    client.once('ready', () => {
            console.log('Ready!');
    });

    client.once('reconnecting', () => {
            console.log('Reconnecting!');
    });

    client.once('disconnect', () => {
            console.log('Disconnect!');
    });

    client.on('message', async message => {
            if (message.author.bot) return;
            if (!message.content.startsWith(prefix)) return;

            const serverQueue = queue.get(message.guild.id);

            if (message.content.startsWith(`${prefix}play`)) {
                    execute(message, serverQueue);
                    return;
            } else if (message.content.startsWith(`${prefix}skip`)) {
                    skip(message, serverQueue);
                    return;
            } else if (message.content.startsWith(`${prefix}stop`)) {
                    stop(message, serverQueue);
                    return;
            } else {
                    message.channel.send('You need to enter a valid command!')
            }
    });

    async function execute(message, serverQueue) {
            const args = message.content.split(' ');

            const voiceChannel = message.member.voiceChannel;
            if (!voiceChannel) return message.channel.send('You need to be in a voice channel to play music!');
            const permissions = voiceChannel.permissionsFor(message.client.user);
            if (!permissions.has('CONNECT') || !permissions.has('SPEAK')) {
                    return message.channel.send('I need the permissions to join and speak in your voice channel!');
            }

            const songInfo = await ytdl.getInfo(args[1]);
            const song = {
                    title: songInfo.title,
                    url: songInfo.video_url,
            };

            if (!serverQueue) {
                    const queueContruct = {
                            textChannel: message.channel,
                            voiceChannel: voiceChannel,
                            connection: null,
                            songs: [],
                            volume: 5,
                            playing: true,
                    };

                    queue.set(message.guild.id, queueContruct);

                    queueContruct.songs.push(song);

                    try {
                            var connection = await voiceChannel.join();
                            queueContruct.connection = connection;
                            play(message.guild, queueContruct.songs[0]);
                    } catch (err) {
                            console.log(err);
                            queue.delete(message.guild.id);
                            return message.channel.send(err);
                    }
            } else {
                    serverQueue.songs.push(song);
                    console.log(serverQueue.songs);
                    return message.channel.send(`${song.title} has been added to the queue!`);
            }

    }

    function skip(message, serverQueue) {
            if (!message.member.voiceChannel) return message.channel.send('You have to be in a voice channel to stop the music!');
            if (!serverQueue) return message.channel.send('There is no song that I could skip!');
            serverQueue.connection.dispatcher.end();
    }

    function stop(message, serverQueue) {
            if (!message.member.voiceChannel) return message.channel.send('You have to be in a voice channel to stop the music!');
            serverQueue.songs = [];
            serverQueue.connection.dispatcher.end();
    }

    function play(guild, song) {
            const serverQueue = queue.get(guild.id);

            if (!song) {
                    serverQueue.voiceChannel.leave();
                    queue.delete(guild.id);
                    return;
            }

            const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
                    .on('end', () => {
                            console.log('Music ended!');
                            serverQueue.songs.shift();
                            play(guild, serverQueue.songs[0]);
                    })
                    .on('error', error => {
                            console.error(error);
                    });
            dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
    }

    client.login(token);

    This is the error that appears after I attempt to ’ !play ’.

    D:\Bot-Files-Test>node index.js
    Ready!
    Error: FFMPEG not found
       at Function.selectFfmpegCommand (D:\Bot-Files-Test\node_modules\prism-media\src\transcoders\ffmpeg\Ffmpeg.js:46:13)
       at new FfmpegTranscoder (D:\Bot-Files-Test\node_modules\prism-media\src\transcoders\ffmpeg\Ffmpeg.js:7:37)
       at new MediaTranscoder (D:\Bot-Files-Test\node_modules\prism-media\src\transcoders\MediaTranscoder.js:10:19)
       at new Prism (D:\Bot-Files-Test\node_modules\prism-media\src\Prism.js:5:23)
       at new VoiceConnection (D:\Bot-Files-Test\node_modules\discord.js\src\client\voice\VoiceConnection.js:46:18)
       at D:\Bot-Files-Test\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:63:22
       at new Promise (<anonymous>)
       at ClientVoiceManager.joinChannel (D:\Bot-Files-Test\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:45:12)
       at VoiceChannel.join (D:\Bot-Files-Test\node_modules\discord.js\src\structures\VoiceChannel.js:130:30)
       at execute (D:\Bot-Files-Test\index.js:75:40)
    (node:9108) UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send an empty message
       at D:\Bot-Files-Test\node_modules\discord.js\src\client\rest\RequestHandlers\Sequential.js:85:15
       at D:\Bot-Files-Test\node_modules\snekfetch\src\index.js:215:21
       at runMicrotasks (<anonymous>)
       at processTicksAndRejections (internal/process/task_queues.js:93:5)
    (node:9108) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
    (node:9108) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.</anonymous></anonymous>
  • FFMPEG Error while processing the decoded data for stream #0:1

    2 décembre 2020, par Michael Joseph Aubry

    When using the FFMPEG command in my Lambda function I am getting this issue (version 4.2.1). When using it on my local machine it works fine (4.3.1).

    &#xA;

    Lambda Version Info

    &#xA;

    {&#xA;  data: &#x27;ffmpeg version 4.2.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers\n&#x27; &#x2B;&#xA;    &#x27;built with gcc 6.3.0 (Debian 6.3.0-18&#x2B;deb9u1) 20170516\n&#x27; &#x2B;&#xA;    &#x27;configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --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\n&#x27; &#x2B;&#xA;    &#x27;libavutil      56. 31.100 / 56. 31.100\n&#x27; &#x2B;&#xA;    &#x27;libavcodec     58. 54.100 / 58. 54.100\n&#x27; &#x2B;&#xA;    &#x27;libavformat    58. 29.100 / 58. 29.100\n&#x27; &#x2B;&#xA;    &#x27;libavdevice    58.  8.100 / 58.  8.100\n&#x27; &#x2B;&#xA;    &#x27;libavfilter     7. 57.100 /  7. 57.100\n&#x27; &#x2B;&#xA;    &#x27;libswscale      5.  5.100 /  5.  5.100\n&#x27; &#x2B;&#xA;    &#x27;libswresample   3.  5.100 /  3.  5.100\n&#x27; &#x2B;&#xA;    &#x27;libpostproc    55.  5.100 / 55.  5.100\n&#x27;&#xA;}&#xA;

    &#xA;

    Macbook Pro Version Info

    &#xA;

    {&#xA;  data: &#x27;ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers&#xA;built with Apple clang version 11.0.0 (clang-1100.0.33.17)&#xA;configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable- &#xA;  libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable- &#xA;  libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable- &#xA;  librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable- &#xA;  indev=jack&#xA;  libavutil      56. 51.100 / 56. 51.100&#xA;  libavcodec     58. 91.100 / 58. 91.100&#xA;  libavformat    58. 45.100 / 58. 45.100&#xA;  libavdevice    58. 10.100 / 58. 10.100&#xA;  libavfilter     7. 85.100 /  7. 85.100&#xA;  libavresample   4.  0.  0 /  4.  0.  0&#xA;  libswscale      5.  7.100 /  5.  7.100&#xA;  libswresample   3.  7.100 /  3.  7.100&#xA;  libpostproc    55.  7.100 / 55.  7.100&#x27;&#xA;}&#xA;

    &#xA;

    My goal with this command is to generate a thumbnail sprite sheet.

    &#xA;

    ffmpeg \&#xA;  -threads 8 \&#xA;  -ignore_editlist 1 \&#xA;  -i URL \&#xA;  -f image2 \&#xA;  -vf "select=&#x27;not(mod(n,25))&#x27;,setpts=&#x27;N/(25*TB)&#x27;,scale=180:180,tile=5x25" \  &#xA;  -pix_fmt yuvj420p \&#xA;  -an \&#xA;  -qscale:v 28 \&#xA;  -vsync 0 \&#xA;  -preset veryfast \&#xA;  pipe:1&#xA;

    &#xA;

    The same error occurs when I have a .jpg output on disk i.e /tmp/test.jpg

    &#xA;

    This is the exact log from cloudwatch

    &#xA;

    {&#xA;    "errorType": "Error",&#xA;    "errorMessage": "ffmpeg exited with code 1: Error reinitializing filters!\nFailed to inject frame into filter network: Invalid argument\nError while processing the decoded data for stream #0:1\nConversion failed!\n",&#xA;    "stack": [&#xA;        "Error: ffmpeg exited with code 1: Error reinitializing filters!",&#xA;        "Failed to inject frame into filter network: Invalid argument",&#xA;        "Error while processing the decoded data for stream #0:1",&#xA;        "Conversion failed!",&#xA;        "",&#xA;        "    at ChildProcess.<anonymous> (/var/task/node_modules/fluent-ffmpeg/lib/processor.js:182:22)",&#xA;        "    at ChildProcess.emit (events.js:314:20)",&#xA;        "    at ChildProcess.EventEmitter.emit (domain.js:483:12)",&#xA;        "    at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)"&#xA;    ]&#xA;}&#xA;</anonymous>

    &#xA;

    Here is the raw command using fluent-ffmpeg inside node.js

    &#xA;

        const passThrough = new stream.PassThrough();&#xA;    const fps = 25;&#xA;    const sWidth = 720 / 4;&#xA;    const sHeight = 1920 / 4;&#xA;&#xA;    ffmpeg(s3Url)&#xA;      .setFfmpegPath("/opt/ffmpeg")&#xA;      .inputOptions([`-threads`, "8", "-ignore_editlist", "1"])&#xA;      .outputOptions([&#xA;        "-f",&#xA;        "image2",&#xA;        "-vf",&#xA;        `"select=&#x27;not(mod(n,${fps}))&#x27;,setpts=&#x27;N/(${fps}*TB)&#x27;,scale=${sWidth}:${sHeight},tile=5x25"`,&#xA;        "-pix_fmt",&#xA;        "yuvj420p",&#xA;        "-an",&#xA;        "-qscale:v",&#xA;        "28",&#xA;        "-vsync",&#xA;        "0",&#xA;        "-preset",&#xA;        "veryfast"&#xA;      ])&#xA;      .output(passThrough)&#xA;      .on("start", (cmdline) => console.log(cmdline))&#xA;      .on("progress", (progress) => {&#xA;        console.log(progress);&#xA;      })&#xA;      .on("error", (err) => {&#xA;        console.log(err);&#xA;        reject(err);&#xA;      })&#xA;      .run();&#xA;

    &#xA;

    Additional log from cloudwatch

    &#xA;

    2020-12-02T18:42:55.023Z    2f334838-f748-4f2e-a639-15df0686ab4b    INFO    Error: ffmpeg exited with code 1: Error reinitializing filters!Failed to inject frame into filter network: Invalid argumentError while processing the decoded data for stream #0:1Conversion failed!    at ChildProcess.<anonymous> (/var/task/node_modules/fluent-ffmpeg/lib/processor.js:182:22)    at ChildProcess.emit (events.js:314:20)    at ChildProcess.EventEmitter.emit (domain.js:483:12)    at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)&#xA;</anonymous>

    &#xA;

  • Error : ffprobe exited with code 1

    30 janvier 2021, par Rishabh Chandel

    I'm trying to use fluent-ffmpeg in firebase functions to take screenshot of uploaded video but keep on getting this error :

    &#xA;&#xA;

    Error :

    &#xA;&#xA;

    Error: ffprobe exited with code 1&#xA;ffprobe version N-83692-gb8a7dcbde2-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2017 the FFmpeg developers&#xA;  built with gcc 5.4.1 (Debian 5.4.1-5) 20170205&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-5 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg&#xA;  libavutil      55. 47.100 / 55. 47.100&#xA;  libavcodec     57. 81.100 / 57. 81.100&#xA;  libavformat    57. 66.102 / 57. 66.102&#xA;  libavdevice    57.  3.100 / 57.  3.100&#xA;  libavfilter     6. 74.100 /  6. 74.100&#xA;  libswscale      4.  3.101 /  4.  3.101&#xA;  libswresample   2.  4.100 /  2.  4.100&#xA;  libpostproc    54.  2.100 / 54.  2.100&#xA;test/testvideo.mp4: No such file or directory&#xA;&#xA;    at ChildProcess.<anonymous> (/user_code/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22)&#xA;    at emitTwo (events.js:106:13)&#xA;    at ChildProcess.emit (events.js:191:7)&#xA;    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)&#xA;</anonymous>

    &#xA;&#xA;

    Here is my code :

    &#xA;&#xA;

    exports.blurOffensiveImages = functions.storage.object().onChange(event => {&#xA;  const object = event.data;&#xA;  const file = gcs.bucket(object.bucket).file(object.name);&#xA;&#xA;  // Exit if this is a move or deletion event.&#xA;  if (object.resourceState === &#x27;not_exists&#x27;) {&#xA;    return console.log(&#x27;This is a deletion event.&#x27;);&#xA;  }&#xA;&#xA;  var proc = new ffmpeg({ source:  object.name })&#xA;  .withSize(&#x27;150x100&#x27;)&#xA;  .takeScreenshots({&#xA;      count: 2,&#xA;      timemarks: [ &#x27;50%&#x27;, &#x27;75%&#x27; ],&#xA;      filename: &#x27;%b_screenshot_%w_%i&#x27;&#xA;    }, &#x27;test_screenshot/&#x27;, function(err, filenames) {&#xA;      console.log(filenames);&#xA;      console.log(&#x27;screenshots were saved&#x27;);&#xA;  });&#xA;&#xA;});&#xA;

    &#xA;&#xA;

    Can anyone help what i'm doing wrong ?

    &#xA;