
Recherche avancée
Médias (91)
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Paul Westerberg - Looking Up in Heaven
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Le Tigre - Fake French
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Thievery Corporation - DC 3000
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Dan the Automator - Relaxation Spa Treatment
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Gilberto Gil - Oslodum
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (55)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, 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 version 0.1 Beta
16 avril 2011, parMediaSPIP 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 (...)
Sur d’autres sites (7564)
-
Revision 3febf9707d : Default superblock skip flag to 32x32 for skip-blocks. This is identical to the
30 janvier 2013, par Ronald S. BultjeChanged Paths : Modify /vp9/encoder/vp9_rdopt.c Default superblock skip flag to 32x32 for skip-blocks. This is identical to the later decisions made in encode_superblock(). This commit doesn't actually change anything, but makes the mbmi state more consistent between the RD loop and the final (...)
-
Discord bot transmitting audio not working
24 avril 2024, par R5B3NBBthis discord bot is supposed to join the users voice channel and play music, everything works except for it not transmitting audio. from what I can gather the error is happening somewhere between it playing the audio file and it being transmitted. any helps appreciated and I'm sure it's not on the discord bot side since I gave it admin permissions and it still didn't work.
should also be mentioned that im not a veteran when it comes to JavaScript so if the error s obvious sorry.


const { Client, GatewayIntentBits, SlashCommandBuilder, MessageEmbed } = require("discord.js");
const { joinVoiceChannel, createAudioPlayer, NoSubscriberBehavior, createAudioResource } = require('@discordjs/voice');
const { token } = require("./config.json");
const fs = require('fs');

const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMessageReactions] });

client.once("ready", () => {
 console.log("Bot active.");

 const ping = new SlashCommandBuilder()
 .setName('ping')
 .setDescription('Replies with pong!');

 const hello = new SlashCommandBuilder()
 .setName('hello')
 .setDescription('Says hello!')
 .addUserOption(option =>
 option
 .setName('user')
 .setDescription('The user to say hi to')
 .setRequired(false)
 );

 const echo = new SlashCommandBuilder()
 .setName('echo')
 .setDescription("Echo's a message")
 .addStringOption(option =>
 option
 .setName('text')
 .setDescription('The text to repeat')
 .setRequired(true)
 );

 const mata = new SlashCommandBuilder()
 .setName('mata')
 .setDescription('Green, ma-ta is here!');

 const eddy = new SlashCommandBuilder()
 .setName('eddy')
 .setDescription('Original reggae music!')
 .addStringOption(option =>
 option
 .setName('local_audio')
 .setDescription('Provide the name of the local audio file')
 .setRequired(true)
 );

 const disconnect = new SlashCommandBuilder()
 .setName('disconnect')
 .setDescription('Disconnects the bot from the voice channel');

 const commands = [ping, hello, echo, mata, eddy, disconnect];

 commands.forEach(command => client.guilds.cache.forEach(guild => guild.commands.create(command)));


});

client.on('interactionCreate', async interaction => {
 console.log("Interaction received.");
 
 if (!interaction.isCommand()) {
 console.log("Not a command interaction.");
 return;
 }

 const { commandName, options, member, guild } = interaction;
 console.log("Command name:", commandName);

 if (commandName === 'ping') {
 console.log("Ping command executed.");
 await interaction.reply("Pong!");
 } else if (commandName === 'hello') {
 console.log("Hello command executed.");
 let user = options.getUser('user') || member.user;
 await interaction.reply(`Hello ${user.username}!`);
 } else if (commandName === 'echo') {
 console.log("Echo command executed.");
 const text = options.getString('text');
 await interaction.reply(text);
 } else if (commandName === 'mata') {
 console.log("Mata command executed.");
 const embed = new MessageEmbed()
 .setColor('#00FF00')
 .setTitle('This is mata!')
 .setDescription('She is very ugly!')
 .setImage('https://scottbarrykaufman.com/wp-content/uploads/2011/08/pig-ugly-woman-fat-face.jpg');

 await interaction.reply({ embeds: [embed] });
 } else if (commandName === 'eddy') {
 console.log("Eddy command executed.");

 const voiceChannel = member.voice.channel;
 if (!voiceChannel) {
 await interaction.reply("You need to be in a voice channel to use this command.");
 return;
 }

 const connection = joinVoiceChannel({
 channelId: voiceChannel.id,
 guildId: guild.id,
 adapterCreator: guild.voiceAdapterCreator,
 });

 connection.on('stateChange', (state) => {
 console.log(`Connection state changed to ${state.status}`);
 });

 connection.on('error', (error) => {
 console.error('Connection error:', error);
 });

 const localAudioFile = options.getString('local_audio');
 const filePath = `./audio/Gorillaz.mp3`;

 console.log("File path:", filePath);

 if (!fs.existsSync(filePath)) {
 console.log("File does not exist.");
 await interaction.reply("The specified local audio file does not exist.");
 return;
 }

 const audioPlayer = createAudioPlayer({
 behaviors: {
 noSubscriber: NoSubscriberBehavior.Pause,
 },
 });

 const stream = fs.createReadStream(filePath);
 const resource = createAudioResource(stream);
 audioPlayer.play(resource);

 connection.subscribe(audioPlayer);

 console.log("Audio playback started.");
 await interaction.reply("Now playing audio in your voice channel!");
 } else if (commandName === 'disconnect') {
 console.log("Disconnect command executed.");
 const voiceChannel = member.voice.channel;

 if (!voiceChannel) {
 await interaction.reply("The bot is not in a voice channel.");
 return;
 }

 const connection = joinVoiceChannel({
 channelId: voiceChannel.id,
 guildId: guild.id,
 adapterCreator: guild.voiceAdapterCreator,
 });

 connection.on('stateChange', (state) => {
 console.log(`Connection state changed to ${state.status}`);
 });

 connection.on('error', (error) => {
 console.error('Connection error:', error);
 });

 if (connection) {
 connection.destroy();
 console.log("Disconnected from the voice channel.");
 }
 }
});

client.login(token);



-
Problems accessing codecs with ggplot and gganimate
19 décembre 2016, par noLongerRandomUsing gganimate. Can’t figure out how to properly access functionality of ffmpeg, specifically I want to change the codec I’m using in the video file I’m outputting.
# load packages
library(ggplot)
library(animation)
library(gganimate)
# Here's my data.frame
myDf <- data.frame(
year = c(1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014),
bottom50 = c(0.195, 0.191, 0.187, 0.192, 0.196, 0.205, 0.207, 0.210, 0.209, 0.204, 0.203, 0.204, 0.205, 0.203, 0.202, 0.200, 0.200, 0.201, 0.199, 0.195, 0.190, 0.183, 0.179, 0.179, 0.177, 0.172, 0.169, 0.169, 0.168, 0.166, 0.158, 0.159, 0.158, 0.154, 0.151, 0.148, 0.149, 0.148, 0.146, 0.149, 0.148, 0.145, 0.142, 0.138, 0.135, 0.137, 0.137, 0.136, 0.130, 0.127, 0.123, 0.127, 0.125), top1 = c(0.126, 0.127, 0.129, 0.128, 0.126, 0.123, 0.122, 0.115, 0.110, 0.111, 0.111, 0.109, 0.106, 0.105, 0.105, 0.107, 0.108, 0.111, 0.107, 0.110, 0.112, 0.115, 0.125, 0.125, 0.122, 0.133, 0.149, 0.145, 0.145, 0.139, 0.150, 0.146, 0.147, 0.153, 0.160, 0.166, 0.169, 0.177, 0.183, 0.173, 0.171, 0.172, 0.183, 0.194, 0.201, 0.199, 0.195, 0.185, 0.198, 0.196, 0.208, 0.196, 0.202)
)
#Basic plot
p <- ggplot(myDf, aes(x = year, y = bottom50, frame = year)) +
geom_line(color = "dodgerblue") +
geom_line(aes(y = top1), color = "darkred")The non-animated version gets me what I want :
And I get an animation version output to video with :
gganimate(p, interval = .1, title_frame = FALSE, "income.mp4")
That’s fine, but I want to change some the output parameters, specifically : alter the dimensions, the frame rate, and use a different codec.
# change some of the options
ani.options(ani.height = 1080, ani.width = 1920,
interval = 0.04166667, other.opts = "-vcodec qtrle -f mov")
# re-animate
gganimate(p, title_frame = FALSE, "income.mov")That gives me the following error :
Error in animation_saver(saver, filename) :
Don't know how to save animation of type movI’m using ’.mov’ as my file extension because I’m trying to change to the Animation codec (so it’s no longer a .mp4 wrapper). I’ve got ffmpeg installed, so this is probably a syntax issue. But the documentation isn’t very clear here ; gganimate doesn’t have any documentation on changing codecs (or outputting any video besides an mp4), and the animation package is light on specifics as well.