Recherche avancée

Médias (0)

Mot : - Tags -/optimisation

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

Autres articles (57)

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

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (4917)

  • avformat/mov : fix use invalid box size/type due to eof

    26 avril 2022, par Zhao Zhili
    avformat/mov : fix use invalid box size/type due to eof
    
    • [DH] libavformat/mov.c
  • tests/fate-run.sh : Show packet flags for fate gapless tests.

    26 septembre 2016, par Sasi Inguva
    tests/fate-run.sh : Show packet flags for fate gapless tests.
    

    Signed-off-by : Sasi Inguva <isasi@google.com>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] tests/fate-run.sh
    • [DH] tests/ref/fate/gaplessenc-itunes-to-ipod-aac
    • [DH] tests/ref/fate/gaplessenc-pcm-to-mov-aac
    • [DH] tests/ref/fate/gaplessinfo-itunes1
    • [DH] tests/ref/fate/gaplessinfo-itunes2
  • Skipping extractors execution since zero extractors were registered (Use `node —trace-warnings ...` to show where the warning was created)

    28 septembre 2023, par Parkster00

    I'm following a Discord Music Bot tutorial that uses ffmpeg, here is index.js

    &#xA;

    require("dotenv").config();&#xA;&#xA;const { REST } = require("@discordjs/rest");&#xA;const { Routes } = require("discord-api-types/v9");&#xA;const { Client, Collection, Intents } = require(&#x27;discord.js&#x27;);&#xA;const { Player } = require("discord-player");&#xA;&#xA;const fs = require("node:fs");&#xA;const path = require("node:path");&#xA;&#xA;const client = new Client({&#xA;    intents: ["Guilds", "GuildMessages", "GuildVoiceStates"]&#xA;});&#xA;&#xA;// Set up our commands into an array&#xA;const commands = [];&#xA;client.commands = new Collection();&#xA;&#xA;const commandsPath = path.join(__dirname, "commands");&#xA;const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith(".js"));&#xA;&#xA;for (const file of commandFiles) {&#xA;    console.log(`${file}`)&#xA;    console.log(`${commandsPath}`)&#xA;    const filePath = path.join(commandsPath, file);&#xA;    console.log(`${filePath}`)&#xA;    const command = require(filePath);&#xA;&#xA;    client.commands.set(command.data.name, command);&#xA;    commands.push(command.data.toJSON());&#xA;}&#xA;&#xA;// Create the player, highest quality audio&#xA;client.player = new Player(client, {&#xA;    ytdlOptions: {&#xA;        quality: "highestaudio",&#xA;        highWaterMark: 1 &lt;&lt; 25&#xA;    }&#xA;});&#xA;&#xA;// Commands are registered&#xA;client.on("ready", () => {&#xA;    const guild_ids = client.guilds.cache.map(guild => guild.id);&#xA;&#xA;    const rest = new REST({ version: "9" }).setToken(process.env.TOKEN);&#xA;    for (const guildId of guild_ids) {&#xA;        rest.put(Routes.applicationGuildCommands(process.env.CLIENT_ID, guildId), {&#xA;            body: commands&#xA;        })&#xA;            .then(() => console.log(`Added commands to ${guildId}`))&#xA;            .catch(console.error);&#xA;    }&#xA;&#xA;});&#xA;&#xA;client.on("interactionCreate", async interaction => {&#xA;    if (!interaction.isCommand()) return;&#xA;&#xA;    const command = client.commands.get(interaction.commandName);&#xA;    if (!command) return;&#xA;&#xA;    try {&#xA;        await command.execute({ client, interaction });&#xA;    }&#xA;    catch (err) {&#xA;        console.error(err);&#xA;        await interaction.reply("An error occured while executing that command.");&#xA;    }&#xA;});&#xA;&#xA;console.log(process.env.TOKEN);&#xA;client.login(process.env.TOKEN);&#xA;

    &#xA;

    And here is play.js where I think the error originates :

    &#xA;

    const { SlashCommandBuilder } = require("@discordjs/builders");&#xA;const { EmbedBuilder } = require("discord.js");&#xA;const { QueryType } = require(&#x27;discord-player&#x27;);&#xA;&#xA;&#xA;module.exports = {&#xA;    data: new SlashCommandBuilder()&#xA;        .setName("play")&#xA;        .setDescription("Plays a song.")&#xA;        .addSubcommand(subcommand => {&#xA;            return subcommand&#xA;                .setName("search")&#xA;                .setDescription("Searches for a song.")&#xA;                .addStringOption(option => {&#xA;                    return option&#xA;                        .setName("searchterms")&#xA;                        .setDescription("search keywords")&#xA;                        .setRequired(true);&#xA;                })&#xA;        })&#xA;        .addSubcommand(subcommand => {&#xA;            return subcommand&#xA;                .setName("playlist")&#xA;                .setDescription("Plays playlist from YT")&#xA;                .addStringOption(option => {&#xA;                    return option&#xA;                        .setName("url")&#xA;                        .setDescription("playlist url")&#xA;                        .setRequired(true);&#xA;&#xA;                })&#xA;        })&#xA;        .addSubcommand(subcommand => {&#xA;            return subcommand&#xA;                .setName("song")&#xA;                .setDescription("Plays song from YT")&#xA;                .addStringOption(option => {&#xA;                    return option&#xA;                        .setName("url")&#xA;                        .setDescription("url of song")&#xA;                        .setRequired(true);&#xA;&#xA;                })&#xA;        }),&#xA;    execute: async ({ client, interaction }) => {&#xA;&#xA;        if (!interaction.member.voice.channel) {&#xA;            await interaction.reply("You must be in a voice channel to use this command.");&#xA;            return;&#xA;        }&#xA;&#xA;        const queue = await client.player.nodes.create(interaction.guild);&#xA;&#xA;        if (!queue.connection) await queue.connect(interaction.member.voice.channel)&#xA;&#xA;        let embed = new EmbedBuilder();&#xA;        if (interaction.options.getSubcommand() === "song") {&#xA;            let url = interaction.options.getString(&#x27;url&#x27;);&#xA;&#xA;            const result = await client.player.search(url, {&#xA;                requestedBy: interaction.user,&#xA;                searchEngine: QueryType.YOUTUBE_VIDEO&#xA;            });&#xA;&#xA;            console.log(result.tracks);&#xA;&#xA;            if (result.tracks.length === 0) {&#xA;                await interaction.reply("no results found");&#xA;                return&#xA;            }&#xA;&#xA;            const song = result.tracks[0];&#xA;            await queue.addTrack(song);&#xA;&#xA;            embed&#xA;                .setDescription(`Added **[${song.title}](${song.url})** to the queue.`)&#xA;                .setThumbnail(song.thumbnail)&#xA;                .setFooter({ text: `Duration: ${song.duration}` });&#xA;        }&#xA;&#xA;        else if (interaction.options.getSubcommand() === "playlist") {&#xA;            let url = interaction.options.getString(&#x27;url&#x27;);&#xA;&#xA;            const result = await client.player.search(url, {&#xA;                requestedBy: interaction.SlashCommandBuilder,&#xA;                searchEngine: QueryType.YOUTUBE_PLAYLIST,&#xA;            });&#xA;&#xA;            if (result.tracks.length === 0) {&#xA;                await interaction.reply("no playlist found");&#xA;                return&#xA;            }&#xA;&#xA;            const playlist = result.playlist;&#xA;            await queue.addTracks(playlist);&#xA;&#xA;            embed&#xA;                .setDescription(`Added **[${playlist.title}](${playlist.url})** to the queue.`)&#xA;                .setThumbnail(playlist.thumbnail)&#xA;                .setFooter({ text: `Duration: ${playlist.duration}` });&#xA;        }&#xA;&#xA;        else if (interaction.options.getSubcommand() === "search") {&#xA;            let url = interaction.options.getString(&#x27;searchterms&#x27;);&#xA;&#xA;            const result = await client.player.search(url, {&#xA;                requestedBy: interaction.SlashCommandBuilder,&#xA;                searchEngine: QueryType.AUTO,&#xA;            });&#xA;&#xA;            if (result.tracks.length === 0) {&#xA;                await interaction.reply("no results found");&#xA;                return&#xA;            }&#xA;&#xA;            const song = result.tracks[0]&#xA;            await queue.addTrack(song);&#xA;&#xA;            embed&#xA;                .setDescription(`Added **[${song.title}](${song.url})** to the queue.`)&#xA;                .setThumbnail(song.thumbnail)&#xA;                .setFooter({ text: `Duration: ${song.duration}` });&#xA;        }&#xA;&#xA;        if (!queue.playing) await queue.play();&#xA;&#xA;        await interaction.reply({&#xA;            embeds: [embed]&#xA;        })&#xA;    }&#xA;}&#xA;

    &#xA;

    Is ffmpeg called differently now ? Am I doing something wrong ?

    &#xA;

    I've tried different installs of Ffmpeg and none seem to work, so I'd imagine it originates somewhere in my code.

    &#xA;