
Recherche avancée
Médias (91)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
avec chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
sans chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
config chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (57)
-
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 (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (9599)
-
Meteor Spawn_Child_Process for FFMpeg [duplicate]
2 mars 2013, par user2009114Hi I am trying to use Meteor and javascript (Node) to spawn an ffmpeg transcoding event and then stream it live through HTML5 video tags. However, though I can get it working with node.js it seems to hang on the Meteor server and not stream anything though it does seem to be transcoding okay. It appears that the transcoding thread hangs up the server, or is not even a different thread at all ? I am pasting the relevant server side code followed by the client code calling it. One JQuery function calls the transcoding process and the PollForPlaylist is called from the video tags by the hls/. Any help would be much appreciated in solving this. I am wondering if there is a meteor function which I can call to spawn a thread for the ffmpeg function ? Or maybe there is another way to push data to the video tag through jQuery ?
var spawnNewProcess = function(file, playlistPath) {
var outputUrlPrefix = '/segment/';
var args = ['-i', file, '-async', '1', '-acodec', 'libmp3lame', '-b:a', 128 + 'k', '-vf', 'scale=min(' + targetWidth + '\\, iw):-1', '-b:v', videoBitrate + 'k', '-ar', '44100', '-ac', '2', '-vcodec', 'libx264', '-x264opts', 'level=3.0', '-profile:v', 'baseline', '-preset:v' ,'superfast', '-threads', '0', '-flags', '-global_header', '-map', '0', '-f', 'segment', '-segment_time', '10', '-segment_list', 'stream.m3u8', '-segment_format', 'mpegts', '-segment_list_flags', 'live', 'stream%05d.ts'];
var encoderChild = childProcess.spawn(transcoderPath, args, {cwd: outputPath});
console.log(transcoderPath + args);
encoderProcesses[file] = encoderChild;
currentFile = file;
console.log('Spawned transcoder instance');
if (debug) {
encoderChild.stderr.on('data', function(data) {
console.log(data.toString());
});
}
encoderChild.on('exit', function(code) {
console.log('Transcoder exited with code ' + code);
delete encoderProcesses[file];
});
// Kill any "zombie" processes
setTimeout(function() {
if (encoderProcesses[file]) {
console.log('Killing long running process');
killProcess(encoderProcesses[file]);
}
}, processCleanupTimeout);
};
var pollForPlaylist = function(file, response) {
var numTries = 0;
console.log("IN POLL FOR PLAYLIST");
var tryOpenFile = function() {
if (numTries > 20) {
console.log('Gave up trying to open m3u8 file');
response.writeHead(500);
response.end();
}
else {
console.log("IN ELSE");
fs.readFile(playlistPath, function (err, data) {
console.log("Trying to read file");
if (err || data.length === 0) {
numTries++;
setTimeout(tryOpenFile, 200);
console.log("ERROR, number of tries", numTries);
}
else {
if (!debug) {
response.setHeader('Content-Type', 'application/x-mpegURL');
}
console.log('response: ' + data);
response.write(data);
response.end();
}
});
}
};
console.log("Try open");
tryOpenFile();
};
var killProcess = function(processToKill, callback) {
processToKill.kill();
setTimeout(function() {
processToKill.kill('SIGKILL');
}, 5000);
processToKill.on('exit', function(code) {
if (callback) callback();
});
}
var handlePlaylistRequest = function(file, request, response) {
if (!file) {
request.writeHead(400);
request.end();
}
if (lock) {
console.log('Ongoing spawn process not finished, denying request');
response.writeHead(503);
response.end();
return;
}
file = path.join('/', file); // Remove ".." etc
file = path.join(rootPath, file);
console.log("PLAYLIST PATH", playlistPath);
if (currentFile != file) {
lock = true;
console.log('New file to encode chosen');
// Make sure old one gets killed
if (encoderProcesses[currentFile]) {
killProcess(encoderProcesses[currentFile], function() {
fs.unlink(playlistPath, function (err) {
spawnNewProcess(file, playlistPath, outputPath);
lock = false;
});
});
}
else {
fs.unlink(playlistPath, function (err) {
spawnNewProcess(file, playlistPath, outputPath);
lock = false;
});
}
currentFile = file;
}
};The Client side code which calls this is :
var videoNode = document.querySelector('video');
$.get('hls/?file='+file);
videoNode.src = "hls/" + file; -
Node.JS : FFmpeg piped video encoding no thumbnail created
12 avril 2013, par Sascha HeimI want to pipe the video during upload to ffmpeg for realtime thumbnail creation.
All went fine but no thumbnail.jpg was created and the ffmpeg stderr hangs after the libraries version display.Updated : Ive updated my code but it also doesnt create a valid thumbnail.
var formidable = require('formidable'),
http = require('http'),
sys = require('sys'),
spawn = require('child_process').spawn;
function spawnFfmpeg(exitCallback) {
var args = ['-i', 'pipe:0', '-c:v', 'mjpeg', '-ss', '00:00:13', '-vframes', '1', '-s', '100x80', 'thumbnail.jpg']
var ffmpeg = spawn('ffmpeg', args);
console.log('Spawning ffmpeg ' + args.join(' '));
ffmpeg.on('exit', exitCallback);
ffmpeg.stderr.on('data', function(data) {
console.log('grep stderr: ' + data);
});
return ffmpeg;
}
http.createServer(function(req, res) {
if (req.url == '/' && req.method.toLowerCase() == 'get') {
// show a file upload form
res.writeHead(200, {'content-type': 'text/html'});
res.end
('<form action="/upload" enctype="multipart/form-data" method="post">'
+ '<input type="text" /><br />'
+ '<input type="file" multiple="multiple" /><br />'
+ '<input type="submit" value="Upload" />'
+ '</form>'
);
} else if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.maxFieldsSize = 29 * 1024 * 1024;
// Handle each part of the multi-part post
var ffmpeg = spawnFfmpeg(function(code) {
console.log('child process exited with code ' + code);
res.end();
});
var form = new formidable.IncomingForm();
// Handle each part of the multi-part post
form.onPart = function(part) {
// Handle each data chunk as data streams in
part.addListener('data', function(data) {
ffmpeg.stdout.pipe(res);
res.pipe(ffmpeg.stdin);
// Write each chunk to disk
//savedFile.write(data);
});
};
// Do it
form.parse(req);
return;
}
}).listen(80, "127.0.0.1");
process.on('uncaughtException', function(err) {
}); -
Libtool library used but `LIBTOOL' is undefined ?
29 décembre 2014, par Sam HealeyIm trying to install ffmpeg on my server. Im unsing centos 5.
When I try to install libfdk_aac I get the following error
` autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --force-missing
Makefile.am:31: Libtool library used but `LIBTOOL' is undefined
Makefile.am:31:
Makefile.am:31: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
Makefile.am:31: to `configure.ac' and run `aclocal' and `autoconf' again.
Makefile.am: C objects in subdir but `AM_PROG_CC_C_O' not in `configure.ac'
autoreconf: automake failed with exit status: 1 `If i type which libtool I get /usr/bin/libtool, so i think libtool is installed.
So im not sure why this error is happening.Thanks for any advice