
Recherche avancée
Médias (2)
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
Autres articles (104)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 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 (...) -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
Sur d’autres sites (11385)
-
Music bot doesn't play livestreams anymore
31 janvier 2019, par SilvinatorMy Discord bot played YT Livestreams all the time, but it stopped working today. The only message I get (in the console) is stream. It plays normal videos, but no streams.
The question is, why it stopped working ? I did not change any code. Anyone got a idea ?client.on("message", async message => {
var args = message.content.substring(prefix.length).split(" ");
if (!message.content.startsWith(prefix)) return;
var searchString = args.slice(1).join(' ');
var url = args[1] ? args[1].replace(/<(.+)>/g, '$1') : '';
var serverQueue = queue.get(message.guild.id);
switch (args[0].toLowerCase()) {
case "play":
var voiceChannel = message.member.voiceChannel;
if (!voiceChannel) return message.channel.send(`Du willst mit mir Karaoke singen? Da ich eh nichts besseres zu tun habe. Du suchst aber den Voice Channel aus!`);
var permissions = voiceChannel.permissionsFor(message.client.user);
if (!permissions.has('CONNECT')) {
return message.channel.send('I cannot connect to your voice channel, make sure I have the proper permissions!');
}
if (!permissions.has('SPEAK')) {
return message.channel.send('I cannot speak in this voice channel, make sure I have the proper permissions!');
}
if (url.match(/^https?:\/\/(www.youtube.com|youtube.com)\/playlist(.*)$/)) {
var playlist = await youtube.getPlaylist(url);
var videos = await playlist.getVideos();
for (const video of Object.values(videos)) {
var video2 = await youtube.getVideoByID(video.id); // eslint-disable-line no-await-in-loop
await handleVideo(video2, message, voiceChannel, true); // eslint-disable-line no-await-in-loop
}
return message.channel.send(`Ich habe wohl keine andere wahl... Ich habe **${playlist.title}** der playlist zugefügt`);
} else {
try {
var video = await youtube.getVideo(url);
} catch (error) {
try {
var videos = await youtube.searchVideos(searchString, 10);
var index = 0;
var videoIndex = 1;
var video = await youtube.getVideoByID(videos[videoIndex - 1].id);
} catch (err) {
console.error(err);
return message.channel.send('Gibt es den Song überhaupt?');
}
}
return handleVideo(video, message, voiceChannel);
}
break;
case "skip":
if (!message.member.voiceChannel) return message.channel.send('Du musst schon in den Voice Channel gehen, baka!');
if (!serverQueue) return message.channel.send('Du musst schon ein song auswählen, baka!');
serverQueue.connection.dispatcher.end('Skip command has been used!');
return undefined;
break;
case "stop":
if (!message.member.voiceChannel) return message.channel.send('Du musst schon in den Voice Channel gehen, baka!');
if (!serverQueue) return message.channel.send('Du musst schon einen Song auswählen, baka');
serverQueue.connection.dispatcher.end('Stop command has been used!');
serverQueue.songs = [];
return undefined;
break;
case "minfo":
if (!serverQueue) return message.channel.send('Ich spiele immer noch nichts!');
return message.channel.send(`ퟎ -
Revision eb5b7ac27b : added nolint to function that doesn't seem easy to breakup Change-Id : I5489b116
4 octobre 2013, par Jim BankoskiChanged Paths :
Modify /vp9/encoder/x86/vp9_dct32x32_sse2.c
added nolint to function that doesn't seem easy to breakupChange-Id : I5489b116aea7c510ea5ebbed3c1445f321b05f3e
-
ffmpeg spawned inside NodeJS doesn't output to a url
31 août 2020, par New DevI'm trying to run ffmpeg on Google Cloud (cloud functions) and I'm trying to have it output the files to a URL (of a Google Storage).


I'm spawning ffmpeg in NodeJS like so :


const { spawn } = require('child_process');

spawn('ffmpeg', [
 '-i', 'input.mp4',
 // ... other arguments
 '-f', 'mp4',
 '-movflags', 'frag_keyframe+empty_moov' // needed for a URL output
 '-headers', `'Authorization: Bearer ${token}'`
 'https://storage.googleapis.com/upload/storage/v1/b/...'])



The problem is the file never gets uploaded, even though ffmpeg runs and exits with code 0.


The weird part is that if I run the exact same command directly from the terminal, it uploads the file.


ffmpeg -i input.mp4 -f mp4 -movflags frag_keyframe+empty_moov -headers 'Authorization: Bearer XXX' 'https://storage.googleapis.com/upload/storage/v1/b/...'



This, I think, eliminates the possibility of any authentication issues or anything on the server-side.


I don't see any difference in the in the output (stderr).


Any idea why the Node-version doesn't upload the output and doesn't report any errors ?