
Recherche avancée
Médias (1)
-
The Great Big Beautiful Tomorrow
28 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Texte
Autres articles (66)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Le plugin : Gestion de la mutualisation
2 mars 2010, parLe plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
Installation basique
On installe les fichiers de SPIP sur le serveur.
On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
< ?php (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation"
Sur d’autres sites (8148)
-
ffmpeg auto crop black frame and watermark
4 juin 2018, par rbarabWe are processing short videos. Most of them are 640x480, recorded by mobile. Many of them have a black frame on left and right.
I would like to watermark the videos and currently using this command.ffmpeg -i IN.mp4 -i WATERMARK.png -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" OUT.mp4
The problem is that if there is a frame, part of the watermark goes on the frame and only a part is on the actual content. Would like to place the watermark on the bottom right of the actual content.
Are any of these possible, or any other ideas ?
a, Dynamically detect the black frames and adjust the watermark position accordingly.
b, Crop the black frame and watermark the content correctly in the same step.
Thanks a lot for your help !
-
ffmpeg frame accurate seek with minimum delay
11 avril 2019, par Jumper1I have a project where I need to extract part of a video near the end of video files and it needs to be frame accurate. I can extract my segment frame accurately now using ’-vf’ filter command and it works very well. The only problem is for large high-resolution files, the seek time ends up being 10X the time required for the extraction/encoding part. Is there any other or faster way to extract videos frame accurately ?
The working command that I am currently using is below :
ffmpeg -i 'test_input.mp4' -vf 'trim=start_frame=134037:end_frame=135024,setpts=PTS-STARTPTS' -an -c:v libx264 -preset slow -f mp4 'test_output.mp4' -y 2>&1
-
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) {
});