
Recherche avancée
Médias (9)
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (53)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains 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, parPré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 ) (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (10486)
-
"Smooth" the ffmpeg showwaves video filter output
24 décembre 2019, par goodytxI think I’m close to what I’m after, thanks to excellent answers like : FFMPEG : Fill/Change (part of) audio waveform color as per actual progress with respect to time progress ...but not quite there !
I’m scripting the generation of a waveform video with
showwaves
, and overlaying that onto a static image background, turning the whole thing into video. All is well, except I’d like to "smooth" the waveform. In most tutorials/answers you will see jagged "peaks" in the waveform animation, as of course the audio data varies widely into peaks and troughs. (The differences expressed between the lowest and highest amplitude (I think) in each audio frame sample.) I’d like to get more of a consistent "flowing wave", without the sharp spikes up and down.Currently using the filter much as described in the previous link :
[1:a]aformat=channel_layouts=mono,asplit[red][white]; \
[red]showwaves=s=1280x100:rate=15:mode=cline:scale=sqrt:colors=0xff0000[red]; \Which results in the following (ignoring the red on white overlay, which I may drop) :
This generates the type of wave plot I want (solid vs a sine, for example), but I think I need to either tweak the audio stream or...possibly post filter the
showwaves
video stream (but I think the former) to get the effect I want. I tried to reduce therate
ofshowwaves
but that just results in juddery video. So to me that feels like the audio data needs to be the changed factor.My limited audio knowledge leads me to think I should gain, compress, normalize, or all of the above, the audio input, which I have tried, but can’t seem to nail it. Keep in mind the audio stream in this filter chain is purely feeding the
showwaves
filter, so I can "trash" it as much as needed in order to get the visualization I want.I hope this all makes sense, and if I need to provide more info, please let me know. Thanks !
-
Discord.js "Error : FFMPEG not found" but I'm pretty sure I have it
21 février 2020, par Cole PerryI’m learning Discord.js and following this tutorial : https://discord.js.org/#/docs/main/stable/topics/voice . From the start, when I try to run- npm install ffmpeg-binaries I get a huge error message but it tells me to just use install ffmpeg so I did.
Here is my Index.js page(I’ve replaced my token with * here) :
const Discord = require('discord.js');
const Colesbot = new Discord.Client();
const token = '**********************************';
Colesbot.on('ready', () =>{
console.log('Slamsbot is online.');
})
Colesbot.on('message', msg=>{
if(msg.content == "What up bot?"){
msg.reply("Whats good pimp?")
}
});
Colesbot.on('message', message=>{
if (message.content === '/join') {
// Only try to join the sender's voice channel if they are in one themselves
if (message.member.voiceChannel) {
message.member.voiceChannel.join().then(connection => {
message.reply('I have successfully connected to the channel!');
}).catch(console.log);
} else {
message.reply('You need to join a voice channel first!');
}
}
});
//Event listener for new guild members
Colesbot.on('guildMemberAdd', member =>{
// Send the message to a designated channel on a server:
const channel = member.guild.channels.find(ch => ch.name === 'general');
// Do nothing if the channel wasn't found on this server
if (!channel) return;
// Send the message, mentioning the member
channel.send(`Welcome to the server, ${member}. Please use the bot-commands channel to assign yourself a role.`);
})
Colesbot.login(token);
exports.run = (client, message, args) => {
let user = message.mentions.users.first || message.author;
}If I type "/join" while not connected to a voice channel I get the proper message. However, if I try while I am I get this error message :
Error: FFMPEG not found
task_queues.js:94
message:"FFMPEG not found"
stack:"Error: FFMPEG not found\n at Function.selectFfmpegCommand (c:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\prism-media\src\transcoders\ffmpeg\Ffmpeg.js:46:13)\n at new FfmpegTranscoder (c:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\prism-media\src\transcoders\ffmpeg\Ffmpeg.js:7:37)\n at new MediaTranscoder (c:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\prism-media\src\transcoders\MediaTranscoder.js:10:19)\n at new Prism (c:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\prism-media\src\Prism.js:5:23)\n at new VoiceConnection (c:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\discord.js\src\client\voice\VoiceConnection.js:46:18)\n at c:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\node_modules\discord.js\src\client\voice\ClientVoiceManager.js:63:22\n at new Promise (<anonymous>)\n at ClientVoiceManager.joinChannel (c:\Users\bobal\Documents\GitHub\Spotif...
</anonymous>So I went to that folder and the file Ffmpeg.js is there and here is its contents :
const ChildProcess = require('child_process');
const FfmpegProcess = require('./FfmpegProcess');
class FfmpegTranscoder {
constructor(mediaTranscoder) {
this.mediaTranscoder = mediaTranscoder;
this.command = FfmpegTranscoder.selectFfmpegCommand();
this.processes = [];
}
static verifyOptions(options) {
if (!options) throw new Error('Options not provided!');
if (!options.media) throw new Error('Media must be provided');
if (!options.ffmpegArguments || !(options.ffmpegArguments instanceof Array)) {
throw new Error('FFMPEG Arguments must be an array');
}
if (options.ffmpegArguments.includes('-i')) return options;
if (typeof options.media === 'string') {
options.ffmpegArguments = ['-i', `${options.media}`].concat(options.ffmpegArguments).concat(['pipe:1']);
} else {
options.ffmpegArguments = ['-i', '-'].concat(options.ffmpegArguments).concat(['pipe:1']);
}
return options;
}
/**
* Transcodes an input using FFMPEG
* @param {FfmpegTranscoderOptions} options the options to use
* @returns {FfmpegProcess} the created FFMPEG process
* @throws {FFMPEGOptionsError}
*/
transcode(options) {
if (!this.command) this.command = FfmpegTranscoder.selectFfmpegCommand();
const proc = new FfmpegProcess(this, FfmpegTranscoder.verifyOptions(options));
this.processes.push(proc);
return proc;
}
static selectFfmpegCommand() {
try {
return require('ffmpeg-binaries');
} catch (err) {
for (const command of ['ffmpeg', 'avconv', './ffmpeg', './avconv']) {
if (!ChildProcess.spawnSync(command, ['-h']).error) return command;
}
throw new Error('FFMPEG not found');
}
}
}
module.exports = FfmpegTranscoder;I also added ffmpeg to system path and it didn’t help :
C:\ffmpeg
C:\Users\bobal\Documents\GitHub\Spotify-Playlist-Discord-bot\ffmpegI’m not quite sure what to do from here. If you need any other info I’d be glad to give it.
-
Evolution #4471 : singulier_ou_pluriel pour l’arabe
1er juin 2020, par George KandalaftCorrection :
- <span class="CodeRay"><span class="comment">/**
- * Afficher un message "un truc"/("deux trucs" pour l'arabe)/"N trucs"
- * Les items sont à indiquer comme pour la fonction _T() sous la forme :
- * "module:chaine"
- *
- * @param int $nb : le nombre
- * @param string $chaine_un : l'item de langue si $nb vaut un (ou $nb > 10 pour l'arabe)
- * @param string $chaine_plusieurs : l'item de lanque si $nb > 1 ($nb est compris entre 3 et 10 pour l'arabe)
- * @param string $var : La variable à remplacer par $nb dans l'item de langue (facultatif, défaut "nb")
- * @param array $vars : Les autres variables nécessaires aux chaines de langues (facultatif)
- * @return string : la chaine de langue finale en utilisant la fonction _T()
- */</span>
- <span class="keyword">function</span> <span class="function">ar_singulier_ou_pluriel</span>(<span class="local-variable">$nb</span>, <span class="local-variable">$chaine_un</span>, <span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$var</span> = <span class="string"><span class="delimiter">'</span><span class="content">nb</span><span class="delimiter">'</span></span>, <span class="local-variable">$vars</span> = <span class="predefined">array</span>()) {
- <span class="keyword">if</span> (!<span class="local-variable">$nb</span> = <span class="predefined">intval</span>(<span class="local-variable">$nb</span>)) {
- <span class="keyword">return</span> <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">if</span> (!<span class="predefined">is_array</span>(<span class="local-variable">$vars</span>)) {
- <span class="keyword">return</span> <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- }
- <span class="local-variable">$vars</span>[<span class="local-variable">$var</span>] = <span class="local-variable">$nb</span>;
- <span class="keyword">if</span> (<span class="predefined">$GLOBALS</span>[<span class="string"><span class="delimiter">'</span><span class="content">spip_lang</span><span class="delimiter">'</span></span>] == <span class="string"><span class="delimiter">'</span><span class="content">ar</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$fem</span> = <span class="predefined">substr</span>(_T(<span class="local-variable">$chaine_un</span>), -<span class="integer">2</span>);
- <span class="keyword">switch</span> (<span class="predefined-constant">true</span>) {
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> == <span class="integer">1</span>):
- <span class="keyword">if</span> (<span class="local-variable">$fem</span> == <span class="string"><span class="delimiter">'</span><span class="content">ة</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$un</span> = _T(<span class="local-variable">$chaine_un</span>) . <span class="string"><span class="delimiter">'</span><span class="content"> واحدة</span><span class="delimiter">'</span></span>;
- } <span class="keyword">else</span> {
- <span class="local-variable">$un</span> = _T(<span class="local-variable">$chaine_un</span>) . <span class="string"><span class="delimiter">'</span><span class="content"> واحد</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">return</span> <span class="local-variable">$un</span>;
- <span class="keyword">break</span>;
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> == <span class="integer">2</span>):
- <span class="keyword">if</span> (<span class="local-variable">$fem</span> == <span class="string"><span class="delimiter">'</span><span class="content">ة</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$deux</span> = <span class="predefined">rtrim</span>(_T(<span class="local-variable">$chaine_un</span>), <span class="local-variable">$fem</span>) . <span class="string"><span class="delimiter">'</span><span class="content">تان</span><span class="delimiter">'</span></span>;
- } <span class="keyword">else</span> {
- <span class="local-variable">$deux</span> = _T(<span class="local-variable">$chaine_un</span>) . <span class="string"><span class="delimiter">'</span><span class="content">ان</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">return</span> <span class="local-variable">$deux</span>;
- <span class="keyword">break</span>;
- <span class="keyword">case</span> (<span class="local-variable">$nb</span> ><span class="integer">2</span> && <span class="local-variable">$nb</span> < <span class="integer">11</span>):
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$vars</span>);
- <span class="keyword">break</span>;
- <span class="keyword">default</span>:
- <span class="local-variable">$chaine_un</span> = <span class="local-variable">$nb</span> . <span class="string"><span class="delimiter">'</span><span class="content"> </span><span class="delimiter">'</span></span> . <span class="local-variable">$chaine_un</span>;
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
- }
- } <span class="keyword">else</span> {
- <span class="keyword">if</span> (<span class="local-variable">$nb</span> > <span class="integer">1</span>) {
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_plusieurs</span>, <span class="local-variable">$vars</span>);
- } <span class="keyword">else</span> {
- <span class="keyword">return</span> _T(<span class="local-variable">$chaine_un</span>, <span class="local-variable">$vars</span>);
- }
- }
- }
- </span>