
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 (69)
-
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 -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)
Sur d’autres sites (9518)
-
How to get a list of audio devices in dshow and save
25 novembre 2016, par H S TI use
avformat_open_input
in ffmpeg to open the audio device, but the second argument to this function is the audio device name, and may not be the full name. So how do I getavformat_open_input (& pFmtCtx, "video = dummy", iformat, & options);
List of audio device names listed ?Or directly use ffmpeg to open the default audio device ?Thanks. -
Can't save ffmpeg output in Nodejs
8 septembre 2020, par humble_buttonI have a problem with saving the preview from the .mp4 file. I followed this tutorial, but I got the Error : ffmpeg exited with code 1 : C :\Users\Lenovo\Documents\My projects\YouTube\routes : Permission denied. I don't know how to deal with it, the 'outputPath' is simplestrong text "public/uploads/previews". I am on Windows 10.


return ffmpeg()
 .input(inputPath)
 .inputOptions([`-ss ${startPreviewInSec}`])
 .outputOptions([`-t ${previewDurationInSec}`])
 .noAudio()
 .format("gif")
 .output(outputPath)
 .on("end", resolve)
 .on("error", reject)
 .run();



-
AWS Lambda for generate thumbnail save empty file
30 octobre 2019, par MilouselI need to create aws lambda for creating thumbnail from video by using ffmpeg, which is saved on S3 and this thumbnail saved into S3 too.
I downloaded ffmpeg from https://johnvansickle.com/ffmpeg/ page, set ffmpeg into nodejs file and send it into .zip. From this zip file I created ffmpeg layer. After that I connect my lambda with this ffmpeg layer. When I test it I receive Success response, but I save empty file (0 B size) into S3.
const AWS = require("aws-sdk");
const { spawn } = require("child_process");
const { createReadStream, createWriteStream } = require("fs");
const s3 = new AWS.S3();
const ffmpegPath = "/opt/nodejs/ffmpeg";
const allowedTypes = ["mov", "mpg", "mpeg", "mp4", "wmv", "avi", "webm"];
const width = process.env.WIDTH;
const height = process.env.HEIGHT;
module.exports.handler = async (event, context) => {
const srcKey = "test/0255f240-efef-11e9-862e-3949600f0ec9.mp4";
const bucket = "video.devel.abc.com";
const target = s3.getSignedUrl("getObject", {
Bucket: bucket,
Key: srcKey,
Expires: 1000
});
let fileType = "mp4";
console.log("srcKey: " + srcKey);
console.log("bucket: " + bucket);
console.log("target: " + target);
if (!fileType) {
throw new Error(`invalid file type found for key: ${srcKey}`);
}
if (allowedTypes.indexOf(fileType) === -1) {
throw new Error(`filetype: ${fileType} is not an allowed type`);
}
function createImage(seek) {
return new Promise((resolve, reject) => {
let tmpFile = createWriteStream(`/tmp/screenshot.jpg`);
const ffmpeg = spawn(ffmpegPath, [
"-ss",
seek,
"-i",
target,
"-vf",
`thumbnail,scale=${width}:${height}`,
"-qscale:v",
"2",
"-frames:v",
"1",
"-f",
"image2",
"-c:v",
"mjpeg",
"pipe:1"
]);
ffmpeg.stdout.pipe(tmpFile);
ffmpeg.on("close", function(code) {
console.log('code: ' + code);
tmpFile.end();
resolve();
});
ffmpeg.on("error", function(err) {
console.log(err);
reject();
});
});
}
function uploadToS3() {
return new Promise((resolve, reject) => {
let tmpFile = createReadStream(`/tmp/screenshot.jpg`);
let dstKey = srcKey
.replace(/\.\w+$/, `.jpg`)
.replace("test/", "test/shots/");
//const screensFile = "test/shots/";
console.log("dstKey: " + dstKey);
var params = {
Bucket: bucket,
Key: dstKey,
Body: tmpFile,
ContentType: `image/jpg`
};
s3.upload(params, function(err, data) {
if (err) {
console.log(err);
reject();
}
console.log(`successful upload to ${bucket}/${dstKey}`);
resolve();
});
});
}
await createImage(1);
await uploadToS3();
return console.log(`processed ${bucket}/${srcKey} successfully`);
};When I test it I receive these logs :
- srcKey : test/0255f240-efef-11e9-862e-3949600f0ec9.mp4
- bucket : video.devel.abc.com
- INFO processed video.devel.abc.com successfully
- code : 1
- bucket : video.devel.abc.com
- dstKey : test/shots/0255f240-efef-11e9-862e-3949600f0ec9.jpg
- successful upload to video.devel.abc.com/test/shots/0255f240-efef-11e9-862e-3949600f0ec9.jpg
- processed video.devel.abc.com/test/0255f240-efef-11e9-862e-3949600f0ec9.mp4 successfully
So file is really created, but it is empty (size is 0 B), which is not ideal.