Recherche avancée

Médias (91)

Autres articles (75)

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

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

Sur d’autres sites (10529)

  • 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>
  • nw.js node WebKit - unable to play audio file

    9 novembre 2018, par Allasso

    I have started working with nw.js, creating a test app to play audio files from. I am working on OS X 10.11.

    The code for the player is :

    <audio controls="controls">
     <source src="path/to/file/song.mp3" type="audio/mp3">
    </source></audio>

    The player and controls appear, but the file will not play. I have tried using a relative path, and an absolute path, trying both
    "/path/to/file/song.mp3"
    and
    "file :///path/to/file/song.mp3"
    schemes.

    I have verified the path is valid in all cases.

    This page :

    http://docs.nwjs.io/en/latest/For%20Developers/Enable%20Proprietary%20Codecs/

    tells me that mp3 should be supported (for v0.22.1+, though I haven’t found a way to tell the version of my mp3, though is was made recently so I assume is the the latest codec.)

    Just to try more stuff, I followed the instructions on these pages :

    http://docs.nwjs.io/en/latest/For%20Developers/Enable%20Proprietary%20Codecs/
    (It appears mp3 gained support since this doc came out.)

    https://github.com/nwjs/nw.js/wiki/Using-MP3-%26-MP4-%28H.264%29-using-the—video—%26—audio—tags.

    I downloaded the ffmpeg libs from here :

    https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases

    and placed copies here :

    find . -name libffmpeg.dylib
    ./dist/nw.js-examples/osx64/nw.js-examples.app/Contents/Versions/67.0.3396.87/libffmpeg.dylib
    ./node_modules/nw/nwjs/nwjs.app/Contents/Versions/54.0.2840.99/nwjs Framework.framework/libffmpeg.dylib
    ./node_modules/nw-builder/cache/0.31.2-sdk/osx64/nwjs.app/Contents/Versions/67.0.3396.87/libffmpeg.dylib
    cp ~/Downloads/libffmpeg.dylib ./dist/nw.js-examples/osx64/nw.js-examples.app/Contents/Versions/67.0.3396.87/libffmpeg.dylib
    cp ~/Downloads/libffmpeg.dylib "./node_modules/nw/nwjs/nwjs.app/Contents/Versions/54.0.2840.99/nwjs Framework.framework/libffmpeg.dylib"
    cp ~/Downloads/libffmpeg.dylib "./node_modules/nw-builder/cache/0.31.2-sdk/osx64/nwjs.app/Contents/Versions/67.0.3396.87/libffmpeg.dylib"

    Still to no avail running either

    npm run dev

    or

    npm run prod

    and opening the packaged app.

    I can play the file fine with the same code from a web browser.

    I don’t know what else to try, help would be much appreciated, thanks.

  • Python pydub issue : Can't repoen a wav file after it as been reencoded by ffpeg [Silved]

    28 avril 2024, par Trent Tompkins

    Solved by Michael Butscher. Updated code is now in the repo in the fixed branch. Thanks !

    &#xA;

    I have a python script that reads in all the *.wav files in a directory and saves them in a folder called output after it adjusts their volume.

    &#xA;

    lower.py :

    &#xA;

    import os&#xA;from pydub import AudioSegment as ass&#xA;&#xA;# get the current working directory&#xA;current_working_directory = os.getcwd()&#xA;all_files = os.listdir();&#xA;&#xA; &#xA;&#xA;&#xA;while len(all_files) > 0:&#xA;    file = all_files.pop()&#xA;    song = ass.from_wav(file)&#xA;    song = song - 16&#xA;    song.export(&#x27;out\\&#x27;&#x2B;file)&#xA;&#xA;

    &#xA;

    https://github.com/tibberous/ChangeWavVolume/tree/fixed

    &#xA;

    The problem is (and this took me a LONG time to figure out), after the files are output once, if you try to read them again with AudioSegment ::from_wav(file), ffmpeg throws an error saying it can't decode the file. The output wav files play in Windows Media Player, and even have their audio adjusted, but I am guessing there somehow an error either in the file data itself or the file headers.

    &#xA;

    I put the code on github. Checkout the branch 'fixed'.

    &#xA;

    Btw, I just installed everything, so I should have the current versions of everything. I am using the Chocolatey package manager for Windows 10. Read README.txt (in progress) to see how I setup my dev environment.

    &#xA;

    &#xD;&#xA;
    &#xD;&#xA;
    Python 3.12.2&#xA;Chocolatey v2.2.2&#xA;C:\Users\moren>C:\ProgramData\chocolatey\bin\ffmpeg&#xA;ffmpeg version 7.0-essentials_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers&#xA;  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband&#xA;  libavutil      59.  8.100 / 59.  8.100&#xA;  libavcodec     61.  3.100 / 61.  3.100&#xA;  libavformat    61.  1.100 / 61.  1.100&#xA;  libavdevice    61.  1.100 / 61.  1.100&#xA;  libavfilter    10.  1.100 / 10.  1.100&#xA;  libswscale      8.  1.100 /  8.  1.100&#xA;  libswresample   5.  1.100 /  5.  1.100&#xA;  libpostproc    58.  1.100 / 58.  1.100&#xA;Universal media converter

    &#xD;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;&#xA;

    I opened the wav files the program generated with Media Player, VLC Media Player and Audacity, thinking they might throw an error, but the only thing that can't seem to read the exported wav files is the script that created them !

    &#xA;