Recherche avancée

Médias (1)

Mot : - Tags -/net art

Autres articles (77)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (8396)

  • Recursively Converting FLAC to MP3 Using FFmpeg While Maintaining Metadata and Directory Structure on Windows

    20 mars 2017, par elgo2006

    I’m trying to use FFmpeg to convert all of the .flac’s in my music library to .mp3’s while maintaining the metadata and directory structure of the original files. I’ve got everything working so far except for maintaining the directory structure.

    So far I have :

    @echo off
    rem Copies the original directory structure from F:\Music to D:\Music
    xcopy /T %1 %2
    rem Recursively converts files with .flac extension from F:\Music to .mp3 in D:\Music
    for /R %1 %%i in (*.flac) do (
       echo Currently converting "%%~nxi"
       ffmpeg -v quiet -i "%%i" -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 "%2\%%~ni.mp3"
    )
    echo Completed.
    pause

    I feel like my issue is coming from having my FFmpeg output as "%2\%%~ni.mp3" , however I can’t get it to maintain the original directory structure. I have played around with dpni as options for the output, but then it does not convert correctly.

    The .bat is being executed from the command line as convert F:\Music D:\Music

    All music in the original directory has the structure F :\Music\Artist Name\Album Name\Song.flac and I want it to end up as D :\Music\Artist Name\Album Name\Song.mp3.

    Alternatively, is there a way to convert the .flac to an .mp3 within the same directory as the source file and then delete the flac ?

  • "Cannot read property 'url' of undefined" even though it's already defined

    28 novembre 2020, par Levi Stancz

    I'm making a Discord music Bot and I'm having trouble with an error saying

    


    TypeError: Cannot read property 'url' of undefined


    


    I tried console logging it and it showed me the url, so I don't understand what is the problem with my code.

    


    Here's my code :

    


    //musicBOT
const Discord = require('discord.js');
const client = new Discord.Client();
const ytdl = require('ytdl-core');
const mcPrefix = '.';

const queue = new Map();

client.on('ready', () => console.log('Music bot ready!'));

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

    const args = message.content.substring(mcPrefix.length).split(" ");
    const serverQueue = queue.get(message.guild.id);

    if(message.content.startsWith(`${mcPrefix}play`)) {

        const voiceChannel = message.member.voice.channel;
        if(!voiceChannel) return message.channel.send("Hang-szobában kell lenned zenelejátszáshoz.");
        const permissions = voiceChannel.permissionsFor(message.client.user);
        if(!permissions.has('CONNECT')) return message.channel.send("Nincs jogosultságom csatlakozni a hangszobához.");
        if(!permissions.has('SPEAK')) return message.channel.send("Nincs jogosultságom megszólalni ebben a hangszobában.");

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

        if(!serverQueue) {
            const queueConstruct = {
                textChannel: message.channel,
                voiceChannel: voiceChannel,
                connection: null,
                songs: [],
                volume: 5,
                playing: true
            }
            queue.set(message.guild.id, queueConstruct)

            queueConstruct.songs.push(song)

            try{
                var connection = await voiceChannel.join();
                message.channel.send(`${song.title} lejátszása.`)
                queueConstruct.connection = connection
                play(message.guild, queueConstruct.songs[0])
            }catch(e){
                console.log(`Hiba csatlakozás közben itt: ${e}`);
                queue.delete(message.guild.id)
                return message.channel.send(`Hiba volt a csatlakozás közben itt: ${e}`)
            }
        } else{
            serverQueue.songs.push(song)
            return message.channel.send(`**${song.title}** hozzáadva a lejátszási listához.`)
        }
        return undefined
        

        
    }else if (message.content.startsWith(`${mcPrefix}stop`)) {
        if(!message.member.voice.channel) return message.channel.send("Hang-szobában kell lenned ahhoz, hogy leállítsd a zenét.")
        if(!serverQueue) return message.channel.send("There is nothing playing")
        serverQueue.songs= []
        serverQueue.connection.dispatcher.end()
        message.channel.send("Sikeresen megálltottad a zenét.")
        return undefined
    }else if(message.content.startsWith(`${mcPrefix}skip`)){
        if(!message.member.voice.channel) return message.channel.send("Hang-szobában kell lenned a skip parancshoz.")
        if(!serverQueue) return message.channel.send("There is nothing playing")
        serverQueue.connection.dispatcher.end()
        message.channel.send("Zene továbbléptetve.")
        message.channel.send(`${song.title} játszása.`)
        
        return undefined
    }

    function play(guild, song) {
        const serverQueue = queue.get(guild.id)
    
        if(!serverQueue.songs){
            serverQueue.voiceChannel.leave()
            queue.delete(guild.id)
            return
        }
    
        const dispatcher = serverQueue.connection.play(ytdl(song.url))
            .on('finish', () => {
                serverQueue.songs.shift()
                play(guild, serverQueue.songs[0])
            })
            .on('error', error => {
                console.log(error)
            })
            dispatcher.setVolumeLogarithmic(serverQueue.volume / 5)
    }

})
//musicBOT


    


    and here is the full error :

    


    const dispatcher = serverQueue.connection.play(ytdl(songInfo.url))&#xA;                                                                     ^&#xA;TypeError: Cannot read property &#x27;url&#x27; of undefined&#xA;    at play (C:\Users\Levi\Desktop\Discord BOT Javascript\bot.js:97:70)&#xA;    at StreamDispatcher.<anonymous> (C:\Users\Levi\Desktop\Discord BOT Javascript\bot.js:100:17)&#xA;    at StreamDispatcher.emit (node:events:388:22)&#xA;    at finish (node:internal/streams/writable:734:10)&#xA;    at processTicksAndRejections (node:internal/process/task_queues:80:21)&#xA;</anonymous>

    &#xA;

    I started searching on the internet but found nothing about it, I guess my basic javascript knowledge is just not enough.

    &#xA;

  • ffmpeg - stream_loop mp3 + looping video (per track)

    5 mars 2023, par cYberSport91

    I'm using ffmpeg to create a livestream video playlist of a folder of mp3s and a folder of videos.

    &#xA;&#xA;

    I'd like everytime a new song comes on a new video loops until the next song.

    &#xA;&#xA;

    Initially I was using live-stream-radio which is perfect except how it's handled is after every track a new ffmpeg stream loop is initialized. And in a lot of clients this issues a stop command, and there's "dead space" between.

    &#xA;&#xA;

    My attempt was when creating the gif playlist text file (they were gifs but I converted to mp4), I set the duration for the duration of the corresponding track. The problem is the video plays once, and then freezes on the final frame until the next track.

    &#xA;&#xA;

    rm music.txt&#xA;rm gifs.txt&#xA;printf "ffconcat version 1.0\n" >> gifs.txt&#xA;printf "ffconcat version 1.0\n" >> music.txt&#xA;for i in {1..9}; do&#xA;  printf "file &#x27;mp3/00%s.mp3&#x27;\n" $i >> music.txt&#xA;done&#xA;&#xA;for i in {1..9}; do&#xA;  DURATION=$(ffmpeg -i mp3/00$i.mp3 2>&amp;1 | awk &#x27;/Duration/ { print substr($2,0,length($2)-1) }&#x27;)&#xA;  printf "file &#x27;gif/00%s.mp4&#x27;\nduration %s\n" $i $DURATION >> gifs.txt&#xA;done&#xA;&#xA;ffmpeg \&#xA;    -stream_loop -1 \&#xA;    -i gifs.txt \&#xA;    -i music.txt \&#xA;    -vcodec libx264 \&#xA;    -f flv "$URL"&#xA;

    &#xA;&#xA;

    Any ideas here would be great.

    &#xA;